Differences between revisions 93 and 94
Revision 93 as of 2017-08-24 14:37:27
Size: 6796
Editor: GregWooledge
Comment: based on user feedback...
Revision 94 as of 2020-09-17 21:59:39
Size: 6878
Editor: ?Scott Nanni
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 128: Line 128:
 * [[BCMHybridBTFirmware]] - Firmware installation for hybrid bluetooth adapters

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:

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 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
  2. (Note: do not add a new line. Just add " contrib non-free" to the end of your existing line.)
  3. Update the list of available packages:

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

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