b43 and b43legacy
The b43 drivers (bcm43xx in mainline kernels, b43 and b43legacy in wireless-2.6 and 2.6.24 and later) are drivers for the 802.11 B/G family of wireless chips Broadcom produces.
All Broadcom chips require firmware that is loaded onto the wireless chip before it can operate. See below.
There are also USB devices based on Broadcom chips, these are not supported at all!
- bcm4303 (802.11b-only chips)
- bcm4311 rev 1 / bcm4312
- The 802.11a part of the 4309 and 4312 is not supported.
- bcm4311 rev 2
- There is no support for any Draft 802.11n features.
Please see the device list.
- Station mode
- Access Point mode (although not tested very well).
- Ad-Hoc (IBSS) mode
- Monitor and Promisc mode.
- "Monitor while operating" and multiple monitor interfaces.
- In-Hardware traffic de/encryption (relieves your CPU).
- LEDs to signal card state and traffic.
- In-Hardware MAC address filter.
- Probably something we forgot to add here.
not working yet
- Interference mitigation.
- Bluetooth coexistance (most code implemented, but untested)
- Probably something else that's not listed under "Works".
Many people have donated money, hardware or other services to make this driver possible. Thanks! Please see the donations page for details.
The Broadcom wireless chip needs software, called "firmware", that runs on the wireless chip itself during operation. This firmware is copyrighted by Broadcom, no one is allowed to distribute it, and it 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, as noted below. Then you must extract the firmware from that Broadcom driver and install it in the special directory for firmware - usually /lib/firmware. To accomplish this task, do the following:
- Download the appropriate driver.
For b43, download and untar version 4 firmware:
For b43legacy and bcm43xx, download version 3 firmware:
Install the appropriate version of the fwcutter software, either by installing the package using the method appropriate for your distro (YaST, apt-get, etc.), or by downloading the package from http://developer.berlios.de/project/showfiles.php?group_id=4547.
For b43 and b43legacy, you need b43-fwcutter.
For bcm43xx, you need bcm43xx-fwcutter.
- Extract the firmware by cd'ing to the directory containing the ".o" file, and using one or more of the following commands:
For bcm43xx: 'sudo bcm43xx-fwcutter -w /lib/firmware wl_apsta-22.214.171.124.o'
For b43legacy: 'sudo b43-fwcutter -w /lib/firmware wl_apsta-126.96.36.199.o'
For b43: 'sudo b43-fwcutter -w /lib/firmware wl_apsta.o'
Please note that the firmware from the binary drivers is Copyrighted by Broadcom Corporation and must not be redistributed.
bcm43xx, b43legacy, b43, softMAC,... the full story
This was gathered from forums and mailing lists (hi JoseJX) and should be reviewed by a developer for accuracy. Thanks for deleting this warning line after that.
The bcm43xx is the oldest driver. It is using the ieee80211 + softmac libraries of code shared with other drivers. This stack is deprecated and being replaced by the new mac80211 stack. A new stack implies brand new, re-written driver(s): here come b43 and b43legacy.
What's the difference between b43legacy and b43?
b43 offers a newer codebase and hardware crypto support. Unfortunately, Broadcom did not release the corresponding new version 4 firmware files for some older boards due to memory constraints on the cards themselves. So stuck with firmware version 3 these cards must use b43legacy.
works with firmware
and depends on
b43legacy should be used on all 4301 and 4303 cards. 4306 and 4309 cards with a PHY revision of 4 or less should also use b43legacy. b43 should be used on all other cards. You can safely have both versions built on the same system. The full PHY version is printed in the kernel logs when the driver finds a board. Type "dmesg" to see it.
Boards supported by the (old, deprecated) bcm43xx driver can be found on the (old, frozen) web site
- A tool for the modification of the Broadcom Sonics Silicon Backplane SPROM (e.g. you can permanently change the MAC address or the PCI IDs of your wireless card – useful on some (e.g. Compaq/HP) laptops where the BIOS checks these at boot.