Differences between revisions 64 and 65
Revision 64 as of 2010-03-19 13:35:53
Size: 14195
Editor: GeoffSimmons
Comment: Add BCM4313 to b43 unsupported list, amend rndis_wlan supported devices.
Revision 65 as of 2010-04-19 14:11:30
Size: 17205
Editor: GeoffSimmons
Comment: Add anticipated squeeze procedure, amend links.
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 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 4301, 4303, 4306, 4309, 4311, 4312, 4318 and 4320 chipsets on Debian systems.
Line 26: Line 26:
  * Introduced in kernel 2.6.24.   * Introduced in Linux 2.6.24.
  * Supports the BCM4312 low-power chipset as of Linux 2.6.32.
Line 29: Line 30:
  * Introduced in kernel 2.6.24.   * Introduced in Linux 2.6.24.
Line 32: Line 33:
  * Introduced in kernel 2.6.25.   * Introduced in Linux 2.6.25.
Line 34: Line 35:
  * Non-free vendor driver, not in mainline kernels.   * Non-free vendor driver, not in mainline Linux kernels.
Line 39: Line 40:
  * Removed from the mainline kernel in 2.6.26.   * Removed from Linux in 2.6.26.
Line 49: Line 50:
For 2.6.24 and later kernels. Both drivers are included as modules in Debian kernel images. For Linux 2.6.24 and later kernels. Both drivers are included as modules in Debian kernel images.

====
Lenny, Etch, Squeeze ====
Line 57: Line 60:
The b43 driver requires version 4 firmware, whereas the b43legacy driver requires version 3 firmware. All firmware must be downloaded separately, which can be performed by the DebianPkg:b43-fwcutter package during installation. The b43 driver requires version 4 firmware, whereas the b43legacy driver requires version 3 firmware. Firmware must be downloaded separately, which can be performed by the DebianPkg:b43-fwcutter package during installation.  An Internet connection is required.
Line 85: Line 88:
==== Troubleshooting ==== ===== Troubleshooting =====
Line 88: Line 91:
  * If necessary, firmware can be manually acquired and extracted using the b43-fwcutter utility, see http://wireless.kernel.org/en/users/Drivers/b43#firmware_installation   * 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-sid)>>
==== Sid ====
/* Amend and rename this section to Squeeze once b43-fwcutter 1:013~git20100413-2 migrates to testing. */

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 separately, 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 Sid (unstable)
deb http://ftp.us.debian.org/debian sid main contrib non-free
}}}
 1. Update the list of available packages.

 Install the DebianPkg:firmware-b43-installer, DebianPkg:firmware-b43legacy-installer and DebianPkg:wireless-tools packages: {{{
aptitude update
aptitude install firmware-b43-installer firmware-b43legacy-installer wireless-tools
}}} ''or''

 For devices containing a BCM4312 LP-PHY chipset (PCI-ID 14E4:4315), install the DebianPkg:firmware-b43-lpphy-installer and DebianPkg:wireless-tools packages: {{{
aptitude update
aptitude install firmware-b43-lpphy-installer wireless-tools
}}}
 The relevant Broadcom proprietary driver(s) 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.

===== 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.
Line 92: Line 140:
For 2.6.25 and later kernels. This is included as a module in Debian kernel images. For Linux 2.6.25 and later kernels. This is included as a module in Debian kernel images.
Line 126: Line 174:
For kernels earlier than 2.6.24. This is included as a module in Debian kernel images. For Linux kernels earlier than 2.6.24. This is included as a module in Debian kernel images.
Line 168: Line 216:
modprobe -r b43
modprobe -r
b43legacy
modprobe -r b43 b43legacy
Line 189: Line 236:
 * BCM4312 low-power variant (PCI-ID: 14E4:4315)
  * Requires Linux 2.6.32, b43-fwcutter from Git and firmware 4.174.64.19.
  * See
http://wireless.kernel.org/en/users/Drivers/b43#fw-b43-lp for details.
 * BCM4312 low-power variant (PCI-ID 14E4:4315)
  * Requires Linux 2.6.32 and firmware 4.174.64.19.
  * See [[bcm43xx#b43-b43legacy-sid|b43 and b43legacy (Sid)]]
, or http://wireless.kernel.org/en/users/Drivers/b43#fw-b43-lp to manually acquire firmware.
Line 198: Line 245:
 * BCM4313 (PCI-ID: 14E4:4727)
 * BCM4321 (PCI-IDs: 14E4:4328, 14E4:4329)
 * BCM4322 (PCI-ID: 14E4:432B)
 * BCM4313 (PCI-ID 14E4:4727)
 * BCM4321 (PCI-IDs 14E4:4328, 14E4:4329)
 * BCM4322 (PCI-ID 14E4:432B)
Line 204: Line 251:
  http://www.linuxwireless.org/en/users/Drivers/b43#unsupported_chips - unsupported chipsets   http://wireless.kernel.org/en/users/Drivers/b43#unsupported_chips - unsupported chipsets
Line 261: Line 308:
 * [[http://www.linuxwireless.org/en/users/Drivers/b43]] - b43, b43legacy homepage;
  * [[http://www.linuxwireless.org/en/users/Drivers/b43#devicefirmware|b43 and b43legacy]] - device firmware
 * [[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
Line 264: Line 311:
 * [[http://www.linuxwireless.org/en/users/Drivers/rndis_wlan]] - rndis_wlan homepage  * [[http://wireless.kernel.org/en/users/Drivers/rndis_wlan]] - rndis_wlan homepage

Translation(s): none

(!) ?Discussion


Broadcom 43xx wireless devices

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.

Identification

<!> The PCI-Id isn't sufficient to determine the Broadcom chipset within.

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

  • b43-phy0: Broadcom 4306 WLAN found

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:

  • b43 (supported devices, unsupported devices)

    • The new driver for modern 802.11g and 802.11a chipsets.
    • Introduced in Linux 2.6.24.
    • Supports the BCM4312 low-power chipset as of Linux 2.6.32.
  • b43legacy (supported devices)

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

    • For devices with the BCM4320 USB chipset only.

    • Introduced in Linux 2.6.25.
  • wl (supported devices)

    • Non-free vendor driver, not in mainline Linux kernels.
    • Supports the BCM4313 low-power chipset, BCM4321 and BCM4322 (draft-n) chipsets.
  • bcm43xx (supported devices)

    • Included in mainline kernels from 2.6.17-rc2.
    • Disabled in Debian 2.6.24 and later kernels.
    • Removed from Linux in 2.6.26.

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 and wl do not support any USB devices based on Broadcom wireless chipsets.

Using Windows' binary drivers:

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

b43 and b43legacy

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

Lenny, Etch, Squeeze

  • <!> 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 separately, 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 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
  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
  • 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.

Sid

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 separately, 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 Sid (unstable)
    deb http://ftp.us.debian.org/debian sid main contrib non-free
  2. Update the list of available packages.

    Install the firmware-b43-installer, firmware-b43legacy-installer and wireless-tools packages:

    aptitude update
    aptitude install firmware-b43-installer firmware-b43legacy-installer wireless-tools

    or

    For devices containing a BCM4312 LP-PHY chipset (PCI-ID 14E4:4315), install the firmware-b43-lpphy-installer and wireless-tools packages:

    aptitude update
    aptitude install firmware-b43-lpphy-installer wireless-tools
    The relevant Broadcom proprietary driver(s) will be acquired, the firmware within will be extracted and installed.
  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
  • 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.

rndis_wlan

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

  • <!> Etch users: This driver is not present in the stock 2.6.18 kernel.

  • Install a 2.6.26 kernel from 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 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.

  • {i} Belkin F5D7051 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.

  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

  • This driver does not support connections to hidden WPA networks at this time.

  • If you are attempting to use a Belkin F5D7051 device, blacklist the rt2500usb module as advised earlier and execute modprobe -r rt2500usb to unload it.

  • Known problems with this driver are documented on its homepage.

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 separately (can be performed by the etch-volatile/bcm43xx-fwcutter package during installation).

  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
  2. Update the list of available packages and install the etch-volatile/bcm43xx-fwcutter and etch/wireless-tools packages:

    aptitude update
    aptitude install bcm43xx-fwcutter wireless-tools

    If you have an Internet connection available, allow the etch-volatile/bcm43xx-fwcutter package to fetch and extract firmware.

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

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

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

    ifconfig eth1 up
  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.

    • Ensure that you have installed the etch-volatile/bcm43xx-fwcutter package from 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 or b43legacy driver.

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).
  • Etch users: Before resorting to NDISwrapper, try using the b43/b43legacy drivers.

Blacklist native drivers

If loaded, the bcm43xx and b43/b43legacy drivers will conflict with NDISwrapper. To unload and disable:

Lenny, Etch with 2.6.24 kernel

modprobe -r b43 b43legacy
echo -e blacklist b43\\nblacklist b43legacy >> /etc/modprobe.d/local.conf

Etch with 2.6.18 kernel

modprobe -r bcm43xx
echo blacklist bcm43xx >> /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

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

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 on Lenny.

  • 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

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.

  • 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 driver is recommended.

See Also


CategoryHardware | CategoryWireless

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