6979
Comment: Drop Lenny procedure (unsupported release) and modprobe command, DMA errors with LP-PHY devices was fixed at Linux 3.0.
|
6583
Amend for Wheezy release.
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
This page describes how to enable support for !WiFi devices based on Broadcom BCM4301, BCM4306, BCM4311, BCM4312 and BCM4318 chipsets on Debian systems. | 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. |
Line 10: | Line 10: |
<!> '''The [[HowToIdentifyADevice/PCI#pci-id|PCI ID]] is not sufficient to determine the Broadcom chipset within.''' | <!> '''The [[HowToIdentifyADevice/PCI#pci-id|PCI ID]] is not sufficient to determine the Broadcom chip within.''' |
Line 12: | Line 12: |
The relevant driver has built-in logic to probe the actual chipset, for example: | The relevant driver has built-in logic to probe the actual chip, for example: |
Line 14: | Line 14: |
b43-phy0: Broadcom 4306 WLAN found | b43-phy0: Broadcom 4306 WLAN found (core revision 5) |
Line 20: | Line 20: |
There are multiple drivers supporting Broadcom wireless LAN chipsets. | There are multiple drivers supporting Broadcom wireless LAN chips. |
Line 22: | Line 22: |
Linux native drivers: | Linux kernel drivers: |
Line 26: | Line 26: |
* Supports BCM4312 as of Linux 2.6.32. * Supports BCM4321 and BCM4322 (802.11 draft-n) as of Linux 2.6.38. |
* Supports BCM4321 and BCM4322 as of Linux 2.6.38. |
Line 31: | Line 30: |
* [[brcm80211]] ([[brcm80211#supported|supported devices]]) | * [[brcm80211|brcmsmac]] ([[brcm80211#supported|supported devices]]) |
Line 33: | Line 32: |
* Supports BCM4313, BCM43224 and BCM43225 (802.11n). | * Supports BCM4313, BCM43224 and BCM43225. |
Line 39: | Line 38: |
* Supports BCM4321 and BCM4322 (802.11 draft-n). | |
Line 45: | Line 43: |
More information on b43/b43legacy can be found on the Linux Wireless [[http://wireless.kernel.org/en/users/Drivers/b43|b43 driver page]]. The b43, b43legacy, brcm80211 and wl drivers '''do not''' support any USB devices. | More information on b43/b43legacy can be found on the Linux Wireless [[http://wireless.kernel.org/en/users/Drivers/b43|b43 driver page]]. The b43, b43legacy, brcmsmac and wl drivers '''do not''' support any USB devices. |
Line 49: | Line 47: |
* [[#ndiswrapper|NDISwrapper]] plus the relevant Windows NDIS driver. This is a workaround for devices not supported natively by Linux, such as USB devices based on Broadcom wireless chipsets (other than the BCM4320). | * [[#ndiswrapper|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). |
Line 55: | Line 53: |
Firmware must be downloaded and extracted, which can be performed by the DebianPkg:firmware-b43-installer, DebianPkg:firmware-b43legacy-installer or DebianPkg:firmware-b43-lpphy-installer packages during their installation. An Internet connection is required. {i} The DebianPkg:b43-fwcutter package (as of 1:013~git20100413-1) no longer acquires firmware, separate installer packages are now used. |
Firmware is not packaged by the Debian Project. It must be downloaded and extracted, which can be performed by the DebianPkg:firmware-b43-installer, DebianPkg:firmware-b43legacy-installer or DebianPkg:firmware-b43-lpphy-installer packages during their installation. An Internet connection is required. |
Line 60: | Line 56: |
# Debian Squeeze/6.0 deb http://ftp.us.debian.org/debian squeeze main contrib non-free |
# Debian 7.0 "Wheezy" deb http://http.debian.net/debian/ wheezy main contrib non-free |
Line 63: | Line 59: |
1. Update the list of available packages and install the DebianPkg:wireless-tools package: {{{ aptitude update && aptitude install wireless-tools |
1. Update the list of available packages: {{{ apt-get update |
Line 68: | Line 64: |
For 802.11b/g devices with a BCM4306 revision 3, BCM4311 or BCM4318 chipset, install DebianPkg:firmware-b43-installer: {{{ aptitude install firmware-b43-installer |
For devices with a BCM4306 revision 3, BCM4311, BCM4318, BCM4321 or BCM4322 chip, install DebianPkg:firmware-b43-installer: {{{ apt-get install firmware-b43-installer |
Line 71: | Line 67: |
For 802.11b/g devices with a BCM4312 LP-PHY chipset (PCI ID 14E4:4315), install DebianPkg:firmware-b43-lpphy-installer: {{{ aptitude install firmware-b43-lpphy-installer |
For devices with a BCM4312 LP-PHY chip (PCI ID 14E4:4315), install DebianPkg:firmware-b43-lpphy-installer: {{{ apt-get install firmware-b43-lpphy-installer |
Line 74: | Line 70: |
For 802.11b-only devices (BCM4301) or 802.11b/g devices with the BCM4306 revision 2 chipset, install DebianPkg:firmware-b43legacy-installer: {{{ aptitude install firmware-b43legacy-installer |
For devices with a BCM4301 chip or the BCM4306 revision 2 chip, install DebianPkg:firmware-b43legacy-installer: {{{ apt-get install firmware-b43legacy-installer |
Line 77: | Line 73: |
A PCI ID check will be performed to prevent incorrect firmware installation. When satisfied, the relevant Broadcom proprietary driver will be acquired, the firmware within will be extracted and installed. | 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. |
Line 80: | Line 76: |
1. Verify your device has an available interface: {{{ iwconfig }}} |
|
Line 89: | Line 82: |
* Prior to Linux 3.0, DMA errors may occur on some systems with LP-PHY devices (DebianBug:589867). | * Debian 6.0 "Squeeze" users: prior to Linux 3.0, DMA errors may occur on some systems with LP-PHY devices (DebianBug:589867). |
Line 99: | Line 92: |
This should only be used as a last resort, if the device is not supported by the native drivers (e.g. Broadcom USB devices, other than the BCM4320). | 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). |
Line 101: | Line 94: |
==== Blacklist native drivers ==== | ==== Blacklist Linux kernel drivers ==== |
Line 134: | Line 127: |
* [[http://wireless.kernel.org/en/users/Drivers/b43]] - b43, b43legacy homepage; | * http://wireless.kernel.org/en/users/Drivers/b43 - b43, b43legacy homepage; |
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.
- 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 /etc/apt/sources.list, for example:
# Debian 7.0 "Wheezy" deb http://http.debian.net/debian/ wheezy main contrib non-free
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-lpphy-installer:
apt-get install firmware-b43-lpphy-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)
External Links
http://wireless.kernel.org/en/users/Drivers/b43 - b43, b43legacy homepage;
irc://irc.freenode.net/bcm-users - driver IRC channel