Differences between revisions 86 and 87
Revision 86 as of 2012-02-12 02:49:33
Size: 6979
Editor: GeoffSimmons
Comment: Drop Lenny procedure (unsupported release) and modprobe command, DMA errors with LP-PHY devices was fixed at Linux 3.0.
Revision 87 as of 2013-05-05 05:14:10
Size: 6583
Editor: GeoffSimmons
Comment: 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.

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:

  • b43 (supported devices)

    • Introduced in Linux 2.6.24.
    • Supports BCM4321 and BCM4322 as of Linux 2.6.38.
  • b43legacy (supported devices)

    • For 802.11b-only devices and the BCM4306 revision 2.
    • Introduced in Linux 2.6.24.
  • brcmsmac (supported devices)

    • 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.
  • wl (supported 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.

  1. 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
  2. Update the list of available packages:

    apt-get update
  3. 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.
  4. If not already performed, connect the device to your system. The necessary kernel module is automatically loaded for supported devices.

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

  • 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


CategoryHardware | CategoryWireless