Translation(s): none


Broadcom 43xx wireless devices

This page describes how to enable support for WiFi devices based on Broadcom 4301, 4303, 4306, 4311, 4312, 4318 and 4320 chipsets on Debian systems.

Identification

<!> The PCI-Id is not sufficient to determine the Broadcom chipset within.

The relevant driver has built-in logic to probe the actual chipset, for example:

Refer to http://www.linuxwireless.org/en/users/Drivers/b43#Known_PCI_devices for more information.

Drivers

There are multiple drivers supporting Broadcom wireless LAN chipsets.

Linux native drivers:

More information on b43/b43legacy can be found on the Linux Wireless b43 driver page. bcm43xx is no longer developed. Note that bcm43xx, b43, b43legacy, brcm80211 and wl do not support any USB devices based on Broadcom wireless chipsets.

Using Windows' binary drivers:

b43 and b43legacy

For Linux 2.6.24 and later kernels. Both drivers are included as modules in Debian kernel images.

Squeeze

The b43 driver supports modern Broadcom 802.11b/g 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 firmware-b43-installer, firmware-b43legacy-installer or firmware-b43-lpphy-installer packages during installation. An Internet connection is required.

{i} The 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/6.0
    deb http://ftp.us.debian.org/debian squeeze main contrib non-free
  2. Update the list of available packages and install the wireless-tools package:

    aptitude update
    aptitude install wireless-tools
  3. Install the appropriate firmware installer package:

    For 802.11b/g devices with a BCM4306 revision 3, BCM4311 or BCM4318 chipset, install firmware-b43-installer:

    aptitude install firmware-b43-installer

    For 802.11b/g devices with a BCM4312 LP-PHY chipset (PCI-ID 14E4:4315), install firmware-b43-lpphy-installer:

    aptitude install firmware-b43-lpphy-installer

BUG 589867

rmmod b43
echo "options b43 pio=1 qos=0" > /etc/modprobe.d/b43.conf
modprobe b43

Troubleshooting

Lenny

The b43 driver supports modern Broadcom 802.11b/g 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 b43-fwcutter package during installation. An Internet connection is required.

  1. Add a "contrib" component to /etc/apt/sources.list, for example:

    # Debian Lenny/5.0
    deb http://ftp.us.debian.org/debian lenny main contrib non-free
  2. Update the list of available packages and install the b43-fwcutter and wireless-tools packages:

    aptitude update
    aptitude install b43-fwcutter wireless-tools

    If you have an Internet connection available, allow the b43-fwcutter package to fetch and extract firmware.

  3. The necessary kernel module should be automatically loaded. If necessary, it can be manually loaded via either:

    modprobe b43

    or

    modprobe b43legacy
  4. Verify your device has an available interface:

    iwconfig
  5. Raise the interface to activate the radio, for example:

    ifconfig wlan0 up
  6. Configure your wireless interface as appropriate.

Troubleshooting

rndis_wlan

For Linux 2.6.25 and later kernels. This is included as a module in Debian kernel images.

The rndis_wlan driver supports wireless RNDIS1 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.

  1. Install the wireless-tools package:

    aptitude update
    aptitude install wireless-tools
  2. Physically connect the device to your system.
  3. The necessary kernel module should be automatically loaded. If necessary, it can be manually loaded via:

    modprobe rndis_wlan
  4. Verify your device has an available interface:

    iwconfig
  5. Raise the interface to activate the radio, for example:

    ifconfig wlan0 up
  6. Configure your wireless interface as appropriate.

Troubleshooting

NDISwrapper

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).

Blacklist native 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.

Unsupported

Support for the above chipsets is available via the non-free vendor driver, see wl.

b43legacy

The page HowToIdentifyADevice/PCI explains how to identify a PCI device.

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 in Debian 2.6.32 (2.6.32-30) kernel images.

Unsupported

Support for these devices may be possible using NDISwrapper.

See Also


CategoryHardware | CategoryWireless

  1. Microsoft's unofficial CDC ACM variant, see USB CDC on Wikipedia. (1)