Packet injection (with radiotap; no FCS injection currently though hardware supports it - a radiotap flag is being discussed for this)

Bluetooth coexistence protection, if the bluetooth card is physically connected to the wireless chip. (Does not protect against external BT dongles)

Probably something we forgot to add here.

Not working yet

Interference mitigation.

HT

40MHz channels

5GHz for N-PHY cards

Probably something else that's not listed under "Works".

Device firmware installation

The Broadcom wireless chip needs proprietary software (called "firmware") that runs on the wireless chip itself to work properly. This firmware is copyrighted by Broadcom and must be extracted from Broadcom's proprietary drivers. To get such firmware on your system, you must download the driver from a legal distribution point, extract it, and install it. This is accomplished different ways by different Linux distributions, so please read the section for yours for the best results. You will need an alternate working internet connection (by Ethernet cable, for example) since the firmware cannot be included with the distro itself.

Post details for missing distributions at b43-dev@lists.infradead.org . Note: the firmware from the binary drivers is copyrighted by Broadcom Corporation and cannot be redistributed.

Fedora

With Fedora 10 and above, you should install wget and the b43-fwcutter tool (which will extract firmware from the Windows driver):

Note that you must adjust the FIRMWARE_INSTALL_DIR path to your distribution. The standard place where firmware is installed to is /lib/firmware. However some distributions put firmware in a different place.

If you are using the b43legacy driver:

After installing b43-fwcutter, download version 3.130.20.0 of Broadcom's proprietary driver and extract the firmware from it:

Note that you must adjust the FIRMWARE_INSTALL_DIR path to your distribution. The standard place where firmware is installed to is /lib/firmware. However some distributions put firmware in a different place.

b43legacy, b43, STA, brcm80211, ... the full story

Many different drivers are or have been in use to support Broadcom chipsets, so the terminology is very confusing. The sections below aim to help you understand what is what.

Basic info

b43

STA (wl)

brcmsmac

Open source

yes

no

yes

In kernel

yes

no

yes

Supported buses

b43

wl

brcmsmac

ssb

yes

yes

no

bcma

yes

yes

yes

usb

no

no

no

Supported PHYs

b43

wl

brcmsmac

G

yes

yes

no

N

yes

yes

yes

LP

yes

yes

no

HT

yes

no

no

LCN

no

yes

yes

Supported modes

b43

wl

brcmsmac

Managed

yes

yes

yes

Ad-Hoc

yes

yes

unknown

Monitor

yes

yes

no

AP

yes

no

no

There is also b43legacy driver for some old cards: B-PHY and early G-PHY ones. These cards can't run new firmware, so hardware encryption is unsupported on them.

Please note b43 developers don't offer support for the STA (wl) driver due to the fact that it's mainly proprietary. Contact Broadcom's support.

Switching between drivers

If you have few drivers installed, system may auto-load different driver than the one you wanted to use. Manual (un)loading drivers can be done with modprobe tool.

To unload all known drivers (you can pick only one command, if you know which driver is in use) perform: