Last update: 5/18/2012
Important Notice
I will no longer maintain this HOWTO after Fedora 17 is released. That only means that I will not make any further additions and changes for new chipsets and drivers that arrive on the scene. Nor will I be able to know when to remove something here that becomes obsolete. Even so, the techniques described here will continue to be valid for an indeterminate time. One reason is because Fedora 16 will continue to be fully supported for several months after Fedora 17 is released. Another reason is because many people continue to use older versions of Fedora and older wireless hardware for extended periods of time. It is even likely that many, if not all, of the techniques described here will work in Fedora 17 and beyond. But I don't intend to confirm that, so people who use new versions of Fedora and new wireless hardware should proceed with caution or at least with the understanding that nothing here may apply to them.
Table of Contents
Introduction
Step 1: Identify the chipset of the wireless device
Step 2: Choose the right driver
Step 3: Install the driver
....How to install and use b43 and b43legacy
....How to install and use the Broadcom 802.11 Linux STA driver (broadcom-wl)
....How to install and use b43-openfwwf
....How to install and use rndis_wlan
....How to install and use ndiswrapper
Introduction
Wireless cards using Broadcom chipsets are very common. Until recently, support for these Broadcom wireless cards in Linux was poor, and the only way to use them in Linux was with software that could act as an adapter for Windows drivers in Linux. That worked well in many cases and still does today. But in the last few years, Linux drivers for these Broadcom wireless cards have increased in number and quality. That happened first through reverse engineering efforts which produced the bcm43xx Linux driver several years ago, and later through the belated but nevertheless appreciated cooperation of the Broadcom Corporation which released a partially open source Linux driver for several Broadcom chipsets. So nowadays there are several Linux drivers or driver methods that can be used to make many of the Broadcom wireless chipsets work in Fedora. Broadcom recently released at least one additional fully open source Linux driver that likely will be available for use with Fedora soon.
Step 1: Identify the chipset of the wireless device
The driver or driver method to use depends upon the chipset used by the wireless card. Nearly all of the Broadcom wireless cards that are commonly discussed around here use the PCI bus, and their chipsets usually can be positively identified by the following command in a Fedora terminal...Look in the lspci report for a Broadcom wireless network controller and find its chipset number which will be in the format of BCM43xx. If there is no such wireless device revealed in the lspci report, then it may be a USB device listed in the lsusb report. The wireless device may be less obvious in the lsusb report which identifies USB devices by their vendor ID and device ID numbers (venderID:deviceID) and may not have much other information. Nevertheless, the information in the lsusb report is still something that may be helpful in deciding what to do next. If nothing at all is found to identify the wireless card, then it may be disabled by BIOS, a software switch or hotkey, or a physical on-off switch.
Once the chipset is identified, maybe one of the driver methods described next will work with it in Fedora. The following Broadcom wireless chipsets are known to be capable of working in Fedora with one or more of those driver methods. There may be other Broadcom wireless chipsets that also can work in Fedora, but these are the ones commonly discussed around here and that I know about...BCM4301
BCM4303
BCM4306
BCM4309
BCM4310 USB (but it uses the PCI bus)
BCM4311
BCM4312
BCM4313
BCM4318
BCM4320 USB
BCM4321
BCM4322
BCM43224
BCM43225
BCM43227
BCM43228
BCM4328
BCM43XG
IMPORTANT NOTE: There have been reports that the Fedora kernel now includes the brcmsmac driver which supports a few of the chipsets listed above. Go to linuxwireless.org for details about this new driver. If you have a chipset supported by brcmsmac, then try updating to the latest available kernel. You may have nothing more to do than that.
Step 2: Choose the right driver
All versions of all chipsets in that list above are known to work in Fedora with at least one of the driver methods described next. Many of them are known to work with more than one of the driver methods described next. But none of the chipsets in that list work with all of the driver methods described next. So choose a driver method below that is known to work with your chipset. The section for each driver method below lists which chipsets are known to work with that driver method. For additional help with deciding which driver method to start out with, study the following algorithm.
Code:
lspci
|
Any of these listed?
4301
4303
4306
4309
4311
4312
4318
/ \
/ \
/ \
/ \
Yes No
/ \
/ \
/ \
lsmod 4310?
/ / \
/ / \
/ Yes No
b43 / \
loaded? / 43XG
/ \ ndiswrapper 4313,43224
/ No 4321,43225
/ \ 4322,43227
/ \ 4328,43228
Yes b43legacy / \
/ loaded? / \
/ / \ Yes No
/ Yes No / \
/ / \ / \
4306? / \ broadcom-wl 4320?
4311? Install 4311? (from lsusb
4318? version 3 4312? or other means)
/ \ firmware / \ / \
/ \ / \ / \
Yes No Yes No Yes No
/ \ / \ / \
/ \ / \ / \
b43-openfwwf Install broadcom-wl ndiswrapper b43-openfwwf ndiswrapper
or version 4 or
Install firmware rndis_wlan
version 4
firmware
Next... Step 3: Install the driver