X
Tech

Broadcom Wireless Networking Adapters and Linux

There has been quite a bit of discussion and celebration in the Linux community recently because Broadcom released an open-source driver for their wireless networking adapters. This is, undoubtedly, a good thing and it will yield significant long-term benefits for Linux users.
Written by J.A. Watson, Contributor

There has been quite a bit of discussion and celebration in the Linux community recently because Broadcom released an open-source driver for their wireless networking adapters. This is, undoubtedly, a good thing and it will yield significant long-term benefits for Linux users. But as the owner of several Broadcom-equipped systems I find the current situation to be a bit of a minefield, so I'm going to write down a few notes about what I had experienced so far.

For purposes of this discussion, I have systems with two different Broadcom adapters - the 4312, such as is in my HP 2133 Mini-Note, and the 4313, such as in my Samsung N150 Plus and Lenovo S10-3s. These two adapters are very different from each other, both internally and in the drivers they use. As far as I understand it, after having read as much as I can find about the newly released Broadcom open source driver, the 4313 and subsequent adapters are supported by the new driver, but the 4312 and previous adapters are not. This, combined with the general difficulties with the b43 driver for the older chips, and the fact that the open source driver is still in "staging", is not generally available in all Linux distributions and does not yet work in some where it is included, make for quite a mess.

- 4312: There are two Linux drivers available for this adapter. One is generally called the "b43" driver, and uses firmware files which are found in /lib/firmware/b43. The driver is generally included in newer Linux distributions, but it might be necessary to download and install the firmware files. Ubuntu offers this as one of the choices in "Additional Hardware Drivers", openSuSE includes a script to get the firmware (install_bcm43xx_firmware), while others will require a visit to the MadWiFi web site to pick up the latest firmware. BE CAREFUL - at least on the HP 2133 this driver causes a LOT of problems, especially with freezing the entire system. I don't know if this is unique to the 2133, but I know that there were also a lot of problems early in the Fedora 14 pre-release (Alpha/Beta stages) which were caused by the b43 driver. The second driver for this adapter is variously called the "wl", "broadcom-wl" or "STA" driver. As far as I can tell, all of those names refer to the same driver. It is offered, under the name "STA", by the Ubuntu "Hardware Drivers" utility, and can be obtained for Fedora from the Fedora Unity web site, or for openSuSE from the PackMan web site. In my experience, this driver also works for the Broadcom 4313 adapter, but so far I have only been able to use it reliably, and keep it working across kernel updates, on Ubuntu, where it is offered as the only option for that card anyway, and PCLinuxOS, where it just works, even on the Live distribution, using the "wl" driver.

- 4313: This is the "new generation" Broadcom adapter, which has been in the two most recent netbooks I have purchased. It does NOT work with the b43 driver mentioned above, and as I said although it does work with the STA driver on Ubuntu (and derivatives) and PCLinuxOS, I have not been able to get it to work consistently with the STA/wl driver on other distributions. The "correct" driver is supposed to be the brcm80211 driver which was recently released by Broadcom, but that is still percolating its way through various distributions. My best results with this so far have been on the latest Linux Mint Debian distributions and the SimplyMEPIS 11 Beta distribution. On Mint Debian you have to install the brcm80211 firmware package (via Synaptic), but on MEPIS it just works out of the box. Although the driver seems to be included in the latest openSuSE factory (11.4 Milestone 5) distributions, I have not been able to get it to work, even when given the correct firmware files. Note for users for Ubuntu and derivatives, the current release (10.10 Maverick Meerkat, Linux Mint 10, Pinguy 10.10.1 etc.) does NOT include the brcm80211 driver, so installing the firmware files will not produce any useful results. Just continue using the STA driver and everything will work. I have been procrastinating on trying the Alpha release of 11.04, but I suppose I will do that in the next few days just to see what it does with the Broadcom 4313.

I expect things to get better, at least on the 4313, as the open source driver finishes the cleanup and integration that it is going through now, and is incorporated in more common distributions. I hope it will be in the upcoming Debian 6.0 release, as that will then get it into a lot of other derivative releases, as it is already in Mint Debian and SimplyMEPIS 11. It should also be a part of a standard kernel release (perhaps 2.6.38?), which will then get it into the distributions which track the latest kernels.

I hope this helps explain at least a few things. I will mention in the future whenever I notice a distribution which includes the brcm80211 driver and works properly out of the box.

jw

Update: I have booted the latest Ubuntu Natty Daily Build, and confirmed that the Broadcom 4313 device picks up the new brcm80211 driver. However, the "Additional Drivers" utility still pops up and offers to install the STA driver. I assume that this will get straightened out one way or the other during the remaining development of Ubuntu 11.04, so the 4313 adapter will work on that release one way or another. It would be nice if it worked without requiring the extra step of "Additional Driver" installation by the user, but in the end what really matters is that it works.

jw 18/1/2011

Editorial standards