Translation(s): English - Français
Broadcom 43xx wireless devices
This page describes how to enable support for WiFi devices based on Broadcom BCM4301, BCM4306, BCM4311, BCM4312, BCM4318, BCM4321 and BCM4322 chips on Debian systems.
Contents
Identification
The PCI ID is not sufficient to determine the Broadcom chip within.
The relevant driver has built-in logic to probe the actual chip, for example:
b43-phy0: Broadcom 4306 WLAN found (core revision 5)
Refer to http://wireless.kernel.org/en/users/Drivers/b43#Supported_devices for more information.
Drivers
There are multiple drivers supporting Broadcom wireless LAN chips.
Linux kernel drivers:
- Introduced in Linux 2.6.24.
- Supports BCM4321 and BCM4322 as of Linux 2.6.38.
- For 802.11b-only devices and the BCM4306 revision 2.
- Introduced in Linux 2.6.24.
- Introduced in Linux 2.6.37, included in Debian Linux 2.6.32 kernel images.
- Supports BCM4313, BCM43224 and BCM43225.
rndis_wlan (supported devices)
- Introduced in Linux 2.6.25.
- Supports BCM4320 USB devices.
- Supports BCM43602.
- Non-free vendor driver, not in mainline Linux kernels.
- bcm43xx
- Introduced in Linux 2.6.17.
- Disabled in Debian 2.6.24 and later kernels.
- Removed from Linux at 2.6.26.
More information on b43/b43legacy can be found on the Linux Wireless b43 driver page. The b43, b43legacy, brcmsmac and wl drivers do not support any USB devices.
Using Windows' binary drivers:
NDISwrapper plus the relevant Windows NDIS driver. This is a workaround for devices not supported by the Linux kernel, such as USB devices based on Broadcom wireless chips (other than the BCM4320).
b43 and b43legacy
These drivers are included as modules in Debian kernel images. Firmware from userspace is required for device operation.
Firmware is not packaged by the Debian Project. It must be downloaded and extracted, which can be performed by the firmware-b43-installer, firmware-b43legacy-installer or firmware-b43-lpphy-installer packages during their installation. An Internet connection is required.
Add a "contrib" component to your existing repository line in /etc/apt/sources.list; for example:
# Debian 9 "stretch" deb http://deb.debian.org/debian/ stretch main contrib non-free
- (Note: do not add a new line. Just add " contrib non-free" to the end of your existing line.)
Update the list of available packages:
apt-get update
- Install the appropriate firmware installer package:
For devices with a BCM4306 revision 3, BCM4311, BCM4318, BCM4321 or BCM4322 chip, install firmware-b43-installer:
apt-get install firmware-b43-installer
For devices with a BCM4312 LP-PHY chip (PCI ID 14E4:4315), install firmware-b43-installer:
apt-get install firmware-b43-installer
For devices with a BCM4301 chip or the BCM4306 revision 2 chip, install firmware-b43legacy-installer:
apt-get install firmware-b43legacy-installer
A PCI ID check will be performed. When satisfied, the relevant Broadcom proprietary driver will be acquired, the firmware within will be extracted and installed. If not already performed, connect the device to your system. The necessary kernel module is automatically loaded for supported devices.
Configure your wireless interface as appropriate.
Troubleshooting
Examine the kernel ring buffer (dmesg(1)) to verify the required firmware files are being loaded by the driver. Lack of firmware is the usual reason for the "SIOCSIFFLAGS: No such file or directory" error message.
Run dpkg-reconfigure firmware-b43-installer, dpkg-reconfigure firmware-b43legacy-installer or dpkg-reconfigure firmware-b43-lpphy-installer (as relevant) to fetch and extract firmware again.
If necessary, firmware can be manually acquired and extracted using the b43-fwcutter utility, see http://wireless.kernel.org/en/users/Drivers/b43#Device_firmware_installation. The b43-fwcutter package will need to be installed.
Debian 6.0 "Squeeze" users: prior to Linux 3.0, DMA errors may occur on some systems with LP-PHY devices (589867).
To workaround:
modprobe -r b43 echo options b43 pio=1 qos=0 >> /etc/modprobe.d/local.conf modprobe b43
Known issues with the b43 driver are documented on its homepage.
NDISwrapper
This should only be used as a last resort, if the device is not supported by Linux kernel drivers (e.g. Broadcom USB devices, other than the BCM4320).
Blacklist Linux kernel drivers
If loaded, the b43/b43legacy drivers will conflict with NDISwrapper. To unload and blacklist:
modprobe -r b43 b43legacy echo -e blacklist b43\\nblacklist b43legacy >> /etc/modprobe.d/local.conf
Installation
Kernel module and NDIS driver installation is described on the NDISwrapper page.
Supported Devices
b43
The page HowToIdentifyADevice/PCI explains how to identify a PCI device.
b43legacy
The page HowToIdentifyADevice/PCI explains how to identify a PCI device.
See Also
brcm80211 - Broadcom BCM4313, BCM43224, BCM43225 devices
rndis_wlan - Broadcom BCM4320 devices
wl (vendor driver)
BCMHybridBTFirmware - Firmware installation for hybrid bluetooth adapters
External Links
http://wireless.kernel.org/en/users/Drivers/b43 - b43, b43legacy homepage;
irc://irc.freenode.net/bcm-users - driver IRC channel