Broadcom wifi and Fedora

I bought my Lenovo G550 laptop with the idea that, while being fairly inexpensive, Linux would run well on it. And for the most part, that’s been true. Even the camera worked without a hitch. The main problem I had was that under Fedora 13, I couldn’t get the video to mirror to the SVGA output – the screen would just go black when I tried, rendering it useless for presentations. But that seemed to be solved with Fedora 14, so I chalked it up to temporary machine-specific weirdness.

The real problem since then has been the wifi. When I originally installed the box, I saw that the wifi wasn’t working. I ran lspci, saw that I had a Broadcom BCM4312 chipset, and found with a quick trip to Google that it needed some proprietary firmware (joy). There were some old articles on the net about how to do that by cutting it out of other drivers, but it seemed the modern way to do this is just to enable the rpmfusion repos and install kmod-wl. So I did that, and it worked. Problem solved and largely forgotten, for a while.

However, as far as I can recall, this never worked on Fedora 14. So I was stuck with either no wifi (Fedora 14), or no presentations (Fedora 13). I chose to run Fedora 13 for my personal hacking, and use the Windows boot (which naturally worked fine) for presentations. Then a month or two ago I updated Fedora 13, and wifi stopped working there too. Even if I booted an earlier kernel; under no version could I get it working. Windows of course still worked, so I knew it wasn’t hardware.

Fedora 15 just went GA a few days ago. I installed it yesterday, tried the same trick with kmod-wl, and glory be! Wifi worked! Mirrored video worked! I was back in business.

Then I found that my Gnome 3 desktop (which by the way… not sure I like… weird merger of Mac and Android) had gotten into a weird state, and ran a system update for bug fixes. Calamity! Wifi was back to broken – again, with either the original kernel or the updated one. NetworkManager failed to even run – it would start with a red mark in my toolbar, then just disappear. Maybe it’s not kernel-specific? Maybe it’s NetworkManager? I don’t know.

Well, I just installed again, and ran updates, and then installed kmod-wl (which looks like it might have pulled in an updated broadcom-wl for the new kernel), and it looks like the wifi is back up. But this is a lousy situation – I’m going to be fearing making system updates because my wifi will break :-( I’m not even sure who to complain to… the driver is 3rd-party, in fact so is the repo, so it’s not Fedora’s fault per se. On the other hand maybe the reason it keeps breaking is because Fedora moves too quickly and changes kernel APIs too much for the wifi firmware to keep up.

For now, I guess the solution is to dual-boot F15 with itself, and only update one at a time to make sure one is always working. (Or try Ubuntu, some of you will say; but I like Fedora, and they don’t share bootloaders very well.)