|
Size: 17760
Comment: rndis_wlan: clarify supported F5D7051 revision.
|
← Revision 94 as of 2020-09-17 21:59:39 ⇥
Size: 6878
Comment: added link in see also to new page for how to install firmware for hybrid bluetooth
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 2: | Line 2: |
| ||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: none-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]|| | ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/bcm43xx|Français]] -~ |
| Line 5: | Line 5: |
| This page describes how to enable support for !WiFi devices based on Broadcom 4301, 4303, 4306, 4309, 4311, 4312, 4318 and 4320 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]] isn't 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 17: | Line 17: |
| Refer to http://www.linuxwireless.org/en/users/Drivers/b43#Known_PCI_devices for more information. | Refer to http://wireless.kernel.org/en/users/Drivers/b43#Supported_devices for more information. |
| 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 24: | Line 24: |
| * [[#b43-b43legacy|b43]] ([[#supported-b43|supported devices]], [[#unsupported-b43|unsupported devices]]) * The new driver for modern 802.11g and 802.11a chipsets. |
* [[#b43-b43legacy|b43]] ([[#supported-b43|supported devices]]) |
| Line 27: | Line 26: |
| * Supports the BCM4312 low-power chipset as of Linux 2.6.32. | * Supports BCM4321 and BCM4322 as of Linux 2.6.38. |
| Line 29: | Line 28: |
| * For legacy 802.11b-only devices and the BCM4306 revision 2 chipset. | * For 802.11b-only devices and the BCM4306 revision 2. |
| Line 31: | Line 30: |
| * [[#rndis-wlan|rndis_wlan]] ([[#supported-rndis|supported devices]], [[#unsupported-rndis|unsupported devices]]) * For devices with the BCM4320 USB chipset ''only''. |
* [[brcm80211|brcmsmac]] ([[brcm80211#supported|supported devices]]) * Introduced in Linux 2.6.37, included in Debian Linux 2.6.32 kernel images. * Supports BCM4313, BCM43224 and BCM43225. * [[rndis_wlan]] ([[rndis_wlan#supported|supported devices]]) |
| Line 34: | Line 35: |
| * Supports BCM4320 USB devices. * [[brcmfmac|brcmfmac]] ([[brcmfmac#supported|supported devices]]) * Supports BCM43602. |
|
| Line 36: | Line 40: |
| * Supports the BCM4313 low-power chipset, BCM4321 and BCM4322 (draft-n) chipsets. * [[#bcm43xx-etch|bcm43xx]] ([[#supported-bcm43xx|supported devices]]) * Included in mainline kernels from 2.6.17-rc2. |
* bcm43xx * Introduced in Linux 2.6.17. |
| Line 40: | Line 43: |
| * Removed from Linux in 2.6.26. | * Removed from Linux at 2.6.26. |
| Line 42: | Line 45: |
| More information on b43/b43legacy can be found on the Linux Wireless [[http://wireless.kernel.org/en/users/Drivers/b43#b43_and_b43legacy|b43 driver page]]. bcm43xx is no longer developed. Note that bcm43xx, b43, b43legacy and wl '''do not''' support any USB devices based on Broadcom wireless chipsets. | 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 46: | Line 49: |
| * [[#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 USB). | * [[#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 50: | Line 53: |
| For Linux 2.6.24 and later kernels. Both drivers are included as modules in Debian kernel images. | These drivers are included as modules in Debian kernel images. Firmware from userspace is required for device operation. |
| Line 52: | Line 55: |
| Using [[DebianTesting|Testing]]? [[#b43-b43legacy-squeeze|Skip to the Squeeze section]]. | 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 54: | Line 57: |
| ==== Lenny, Etch ==== . <!> [[DebianEtch|Etch]] users: These drivers are not present in the stock 2.6.18 kernel. . Install an [[EtchAndAHalf]] kernel: {{{apt-cache search linux-image-2.6- | grep etchnhalf}}} and install a package appropriate for your system. . Restart your system with this kernel before continuing. The b43 driver supports modern Broadcom 802.11g wireless chipsets. The b43legacy driver supports Broadcom 802.11b-only devices and BCM4306 revision 2 chipsets. The b43 driver requires version 4 firmware, whereas the b43legacy driver requires version 3 firmware. Firmware must be downloaded, which can be performed by the DebianPkg:b43-fwcutter package during installation. An Internet connection is required. 1. Add a "contrib" component to {{{/etc/apt/sources.list}}} for your Debian version, for example: {{{ # Debian Lenny/5.0 deb http://ftp.us.debian.org/debian lenny main contrib non-free }}} ''or'' {{{ # Debian Etch/4.0 deb http://ftp.us.debian.org/debian etch main contrib non-free |
1. 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 |
| Line 71: | Line 61: |
| 1. Update the list of available packages and install the DebianPkg:b43-fwcutter and DebianPkg:wireless-tools packages: {{{ aptitude update aptitude install b43-fwcutter wireless-tools }}} If you have an Internet connection available, allow the DebianPkg:b43-fwcutter package to fetch and extract firmware. 1. The necessary kernel module should be [[Modules|automatically loaded]]. If necessary, it can be manually loaded via either: {{{ modprobe b43 }}} ''or'' {{{ modprobe b43legacy }}} 1. Verify your device has an available interface: {{{ iwconfig }}} 1. Raise the interface to activate the radio, for example: {{{ ifconfig wlan0 up }}} 1. [[WiFi/HowToUse|Configure]] your wireless interface as appropriate. ===== Troubleshooting ===== * Examine the kernel ring buffer ([[DebianMan:1/dmesg|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 -plow b43-fwcutter}}} to fetch and extract firmware again. Firmware will only be fetched if not already present in the {{{/lib/firmware/[b43|b43legacy]}}} directories on your system. * 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 <<Anchor(b43-b43legacy-squeeze)>> ==== Squeeze ==== The b43 driver supports modern Broadcom 802.11g wireless chipsets. The b43legacy driver supports Broadcom 802.11b-only devices and BCM4306 revision 2 chipsets. The b43 driver requires version 4 firmware, whereas the b43legacy driver requires version 3 firmware. Firmware must be downloaded, which can be performed by the DebianPkg:firmware-b43-installer, DebianPkg:firmware-b43legacy-installer or DebianPkg:firmware-b43-lpphy-installer packages during 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. 1. Add a "contrib" component to {{{/etc/apt/sources.list}}}, for example: {{{ # Debian Squeeze (testing) deb http://ftp.us.debian.org/debian squeeze main contrib non-free }}} 1. Update the list of available packages and install the DebianPkg:wireless-tools package: {{{ aptitude update aptitude install wireless-tools |
. (Note: do not add a new line. Just add " contrib non-free" to the end of your existing line.) 1. Update the list of available packages: {{{ apt-get update |
| Line 114: | Line 67: |
| For 802.11g devices with a BCM4306 revision 3, BCM4309, BCM4311, BCM4312 (not LP-PHY) 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 117: | Line 70: |
| For 802.11g 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-installer: {{{ apt-get install firmware-b43-installer |
| Line 120: | Line 73: |
| For 802.11b devices with a BCM4301, BCM4303 or 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 123: | Line 76: |
| 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. 1. The necessary kernel module should be [[Modules|automatically loaded]]. If necessary, it can be manually loaded via either: {{{ modprobe b43 }}} ''or'' {{{ modprobe b43legacy }}} 1. Verify your device has an available interface: {{{ iwconfig }}} 1. Raise the interface to activate the radio, for example: {{{ ifconfig wlan0 up }}} 1. [[WiFi/HowToUse|Configure]] your wireless interface as appropriate. |
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 137: | Line 78: |
| ===== Troubleshooting ===== * Examine the kernel ring buffer ([[DebianMan:1/dmesg|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 DebianPkg:b43-fwcutter package will need to be installed. <<Anchor(rndis-wlan)>> === rndis_wlan === For Linux 2.6.25 and later kernels. This is included as a module in Debian kernel images. . <!> [[DebianEtch|Etch]] users: This driver is not present in the stock 2.6.18 kernel. . Install a 2.6.26 kernel from [[Backports|Debian Backports]]. Once your sources are configured: {{{apt-cache search linux-image-2.6.26}}} and install a package appropriate for your system. . Restart your system with this kernel before continuing. The rndis_wlan driver supports wireless RNDIS<<FootNote(Microsoft's unofficial CDC ACM variant, see [[WikiPedia:USB_communications_device_class|USB CDC on Wikipedia]].)>> chipsets, of which the Broadcom 4320 USB chipset is the only one known at this time. This driver does not require firmware to be installed. {i} Belkin !F5D7051 v1000 users: Due to the inclusion of its vendor and device IDs, an Ralink RT2500USB driver will be incorrectly loaded for this device. Please blacklist the {{{rt2500usb}}} module before continuing, see KernelModuleBlacklisting. The !F5D7051 v3000 is not supported. 1. Install the DebianPkg:wireless-tools package: {{{ aptitude update aptitude install wireless-tools }}} 1. Physically connect the device to your system. 1. The necessary kernel module should be [[Modules|automatically loaded]]. If necessary, it can be manually loaded via: {{{ modprobe rndis_wlan }}} 1. Verify your device has an available interface: {{{ iwconfig }}} 1. Raise the interface to activate the radio, for example: {{{ ifconfig wlan0 up }}} 1. [[WiFi/HowToUse|Configure]] your wireless interface as appropriate. ==== Troubleshooting ==== * This driver does not support connections to hidden [[WPA]] networks at this time. * If you are attempting to use a Belkin !F5D7051 v1000 device, [[KernelModuleBlacklisting|blacklist]] the {{{rt2500usb}}} module as advised earlier and execute {{{modprobe -r rt2500usb}}} to unload it. * [[http://wireless.kernel.org/en/users/Drivers/rndis_wlan#known_problems|Known problems]] with this driver are documented on its homepage. <<Anchor(bcm43xx-etch)>> === bcm43xx (Etch with 2.6.18 kernel only) === For Linux kernels earlier than 2.6.24. This is included as a module in Debian kernel images. The bcm43xx driver requires firmware which must be downloaded, which can be performed by the DebianPkg:etch-volatile/bcm43xx-fwcutter package during installation. . <!> You are required to install the DebianPkg:etch-volatile/bcm43xx-fwcutter package from the [[DebianVolatile|Debian Volatile]] repository due to bug DebianBug:437488. Installing the DebianPkg:etch/bcm43xx-fwcutter package ''will fail'' to download firmware if requested. ## 1. Add the Debian Volatile repository (including the "contrib" component) to your {{{/etc/apt/sources.list}}} file, for example: {{{ # Debian Volatile (Etch/4.0) deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free }}} 1. Update the list of available packages and install the DebianPkg:etch-volatile/bcm43xx-fwcutter and DebianPkg:etch/wireless-tools packages: {{{ aptitude update aptitude install bcm43xx-fwcutter wireless-tools }}} If you have an Internet connection available, allow the DebianPkg:etch-volatile/bcm43xx-fwcutter package to fetch and extract firmware. 1. The necessary kernel module should be [[Modules|automatically loaded]]. If necessary, it can be manually loaded via: {{{ modprobe bcm43xx }}} 1. Verify your device has an available interface: {{{ iwconfig }}} 1. Raise the interface to activate the radio, for example: {{{ ifconfig eth1 up }}} |
1. If not already performed, connect the device to your system. The necessary kernel module is [[Modules|automatically loaded]] for supported devices. |
| Line 207: | Line 83: |
| * Ensure that you have installed the DebianPkg:etch-volatile/bcm43xx-fwcutter package from [[DebianVolatile|Debian Volatile]]. * Run {{{dpkg-reconfigure -plow bcm43xx-fwcutter}}} to fetch and extract firmware again. Firmware will only be fetched if not already present in the {{{/lib/firmware}}} directory on your system. * Your device may be detected (or better supported) with the [[#b43-b43legacy|b43 or b43legacy driver]]. |
* 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 DebianPkg: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 (DebianBug:589867). * To workaround: {{{ modprobe -r b43 echo options b43 pio=1 qos=0 >> /etc/modprobe.d/local.conf modprobe b43 }}} * [[http://wireless.kernel.org/en/users/Drivers/b43#Known_issues|Known issues]] with the b43 driver are documented on its homepage. |
| Line 213: | Line 95: |
| * 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 USB). * Etch users: Before resorting to NDISwrapper, try using the [[#b43-b43legacy|b43/b43legacy drivers]]. ==== Blacklist native drivers ==== If loaded, the bcm43xx and b43/b43legacy drivers will conflict with NDISwrapper. To unload and disable: |
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 218: | Line 97: |
| ===== Lenny, Etch with 2.6.24 kernel ===== {{{ |
==== Blacklist Linux kernel drivers ==== If loaded, the b43/b43legacy drivers will conflict with NDISwrapper. To unload and [[KernelModuleBlacklisting|blacklist]]: {{{ |
| Line 222: | Line 101: |
| }}} ===== Etch with 2.6.18 kernel ===== {{{ modprobe -r bcm43xx echo blacklist bcm43xx >> /etc/modprobe.d/local.conf |
|
| Line 233: | Line 106: |
| <<Anchor(supported)>> | |
| Line 240: | Line 114: |
| * BCM4312 low-power variant (PCI-ID 14E4:4315) * Requires Linux 2.6.32 and firmware 4.174.64.19. * See [[bcm43xx#b43-b43legacy-squeeze|b43 and b43legacy (Squeeze)]], or http://wireless.kernel.org/en/users/Drivers/b43#fw-b43-lp to manually acquire firmware. ## http://wireless.kernel.org/en/users/Drivers/b43#Supported_chip_types - supported chipsets <<Anchor(unsupported-b43)>> ==== Unsupported ==== * BCM4313 (PCI-ID 14E4:4727) * BCM4321 (PCI-IDs 14E4:4328, 14E4:4329) * BCM4322 (PCI-ID 14E4:432B) Support for the above chipsets is available via the non-free vendor driver, see [[wl]]. http://wireless.kernel.org/en/users/Drivers/b43#unsupported_chips - unsupported chipsets |
http://wireless.kernel.org/en/users/Drivers/b43#Supported_devices |
| Line 261: | Line 120: |
| http://wireless.kernel.org/en/users/Drivers/b43#Supported_chip_types - supported chipsets <<Anchor(supported-rndis)>> === rndis_wlan === The page [[HowToIdentifyADevice/USB]] explains how to identify a USB device. The following list is based on the ''alias'' fields of {{{modinfo rndis_wlan}}} on Lenny. ## list generated with: http://www.klabs.be/~fpiat/linux/hardware/modinfo-devnames/ ~- {{{ USB: 0411:004B MelCo., Inc. (Device name unknown) USB: 0411:00BC MelCo., Inc. (Device name unknown) USB: 050D:011B Belkin Components (Device name unknown) USB: 0A5C:D11B Broadcom Corp. (Device name unknown) USB: 0B05:1717 ASUSTek Computer, Inc. (Device name unknown) USB: 0BAF:0111 U.S. Robotics (Device name unknown) USB: 0BAF:011B U.S. Robotics Wireless MAXg Adapter USB: 13B1:000E Linksys WUSB54GS v1 802.11g Adapter [Broadcom 4320 USB] USB: 13B1:0014 Linksys WUSB54GS v2 802.11g Adapter [Broadcom 4320 USB] USB: 13B1:0026 Linksys WUSB54GSC v1 802.11g Adapter [Broadcom 4320 USB] USB: 1690:0715 Askey Computer Corp. [hex] Voyager 1055 Laptop Adapter USB: 1799:011B (Vendor name unknown) (Device name unknown) }}} -~ http://wireless.kernel.org/en/users/Drivers/rndis_wlan#supported_chips - supported chipsets <<Anchor(unsupported-rndis)>> ==== Unsupported ==== * Belkin !F5D7051 v3000 (USB-ID 4317:0711) Refer to the [[NdisWrapper|NDISwrapper]] page for device support. <<Anchor(supported-bcm43xx)>> === bcm43xx === The page [[HowToIdentifyADevice/PCI]] explains how to identify a PCI device. The following list is based on the ''alias'' fields of {{{modinfo bcm43xx}}} on Etch. ## list generated with: http://www.klabs.be/~fpiat/linux/hardware/modinfo-devnames/ ~- {{{ PCI: 14E4:4301 Broadcom Corporation BCM4303 802.11b Wireless LAN Controller PCI: 14E4:4307 Broadcom Corporation BCM4307 802.11b Wireless LAN Controller PCI: 14E4:4318 Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller PCI: 14E4:4319 Broadcom Corporation BCM4311 [AirForce 54g] 802.11a/b/g PCI Express Transceiver PCI: 14E4:4320 Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller PCI: 14E4:4324 Broadcom Corporation BCM4309 802.11a/b/g PCI: 14E4:4325 Broadcom Corporation BCM43xG 802.11b/g }}} -~ {i} Although listed above, the BCM4311 is only supported by this driver from kernel 2.6.20.6. Use of the [[#b43-b43legacy|b43 driver]] is recommended. http://bcm43xx.berlios.de/?go=devices - supported devices |
http://wireless.kernel.org/en/users/Drivers/b43#Supported_devices |
| Line 314: | Line 123: |
| * [[brcm80211]] - Broadcom BCM4313, BCM43224, BCM43225 devices * [[rndis_wlan]] - Broadcom BCM4320 devices |
|
| Line 316: | Line 127: |
| * [[wl]] (vendor driver) - Broadcom 4311, 4312, 4313, 4321, 4322 devices | * [[wl]] (vendor driver) * [[BCMHybridBTFirmware]] - Firmware installation for hybrid bluetooth adapters |
| Line 319: | Line 131: |
| * [[http://wireless.kernel.org/en/users/Drivers/b43]] - b43, b43legacy homepage; * [[http://wireless.kernel.org/en/users/Drivers/b43#device_firmware_installation|b43 and b43legacy]] - device firmware installation |
* http://wireless.kernel.org/en/users/Drivers/b43 - b43, b43legacy homepage; |
| Line 322: | Line 133: |
| * [[http://wireless.kernel.org/en/users/Drivers/rndis_wlan]] - rndis_wlan homepage * [[http://bcm43xx.berlios.de/]] - bcm43xx 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.
- 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
