Differences between revisions 44 and 45
Revision 44 as of 2009-01-09 03:07:28
Size: 11213
Editor: GeoffSimmons
Comment: Also blacklist b43 and b43legacy for NDISwrapper.
Revision 45 as of 2009-01-10 04:32:13
Size: 13226
Editor: GeoffSimmons
Comment: Add some supported devices, remove 1390/NDIS links (device supported natively)
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
This page describes how to enable support for !WiFi devices based on Broadcom 4303, 4306, 4309, 4311, 4312, 4318 and 4320 wireless chipsets on Debian systems. 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.
Line 30: Line 30:
## Not making sense ## 1390 is working with ndiswrapper unless you have a kernel 2.6.20 then you can use bcm43xx-fwcutter
Line 36: Line 35:
 * [#bcm43xx bcm43xx] driver ([http://bcm43xx.berlios.de/?go=devices supported devices])  * [#bcm43xx bcm43xx] driver ([#supported_bcm43xx supported devices])
Line 40: Line 39:
 * [#b43 b43] driver ([http://wireless.kernel.org/en/users/Drivers/b43#supported supported devices])  * [#b43 b43] driver ([#supported_b43 supported devices])
Line 43: Line 42:
 * [#b43 b43legacy] driver ([http://wireless.kernel.org/en/users/Drivers/b43#supported supported devices])  * [#b43 b43legacy] driver ([#supported_b43legacy supported devices])
Line 46: Line 45:
 * [#rndis_wlan rndis_wlan] driver ([http://wireless.kernel.org/en/users/Drivers/rndis_wlan#supportedchips supported devices])  * [#rndis_wlan rndis_wlan] driver ([#supported_rndis supported devices])
Line 96: Line 95:
 . <!> Etch users: These drivers are not present in the stock 2.6.18 kernel. Install and boot an [:EtchAndAHalf:] kernel ({{{apt-cache search linux-image-2.6.24-etchnhalf}}} and install a package appropriate for your system) before continuing.  . <!> [:DebianEtch:Etch] users: These drivers are not present in the stock 2.6.18 kernel. Install and boot an [:EtchAndAHalf:] kernel ({{{apt-cache search linux-image-2.6.24-etchnhalf}}} and install a package appropriate for your system) before continuing.
Line 186: Line 185:
[[Anchor(use)]]

== Connecting to the network ==
See [:WiFi/HowToUse:How To use Wifi network adapter].
== Supported Devices ==
## DO NOT REMOVE : these paragraphs are required for search-engines !
[[Anchor(supported_bcm43xx)]]
=== bcm43xx ===
The following list is based on the ''alias'' fields of {{{ modinfo bcm43xx}}}.
## 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 b43 driver] is recommended.

 http://bcm43xx.berlios.de/?go=devices - supported devices

[[Anchor(supported_b43)]]
=== b43 ===
The page ["HowToIdentifyADevice/PCI"] explains how to identify a PCI device.

 http://wireless.kernel.org/en/users/Drivers/b43#supported - supported devices

[[Anchor(supported_b43legacy)]]
=== b43legacy ===
The page ["HowToIdentifyADevice/PCI"] explains how to identify a PCI device.

 http://wireless.kernel.org/en/users/Drivers/b43#supported - supported devices

[[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}}}.
## 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 (Device name unknown)
USB: 13B1:0014 Linksys (Device name unknown)
USB: 13B1:0026 Linksys (Device name unknown)
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#supportedchips - supported devices
Line 192: Line 241:
 * [:WiFi/HowToUse:How To use Wifi network adapter]
 * [:NdisWrapper:NDISwrapper]

== External Links ==
Line 196: Line 249:
 * [http://manpages.debian.net/man/ndiswrapper NDISwrapper] manpages
  * [http://www.learnaboutlinux.net/wireless_1390.htm Generic bcm43xx and NDISwrapper (Explains it all) ]
  * [http://ubuntuforums.org/showthread.php?t=297092 NDISwrapper for 1390 only]

Broadcom 43xx wireless devices

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.

?TableOfContents(3)

Device Identification

PCI (includes PCIe, Mini PCI, Cardbus)

The page ["HowToIdentifyADevice/PCI"] explains how to identify a PCI device. For example:

update-pciids
lspci -nn

Your Broadcom PCI wireless device should be listed:

0c:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN [14E4:4311] (rev 01)

<!> The [:HowToIdentifyADevice/PCI#pci-id:PCI-Id] isn't sufficient to determine the Broadcom chipset within. The relevant driver has built-in logic to probe the actual chipset.

USB

The page ["HowToIdentifyADevice/USB"] explains how to identify a USB device. For example:

update-usbids
lsusb

Your Broadcom USB wireless device should be listed:

Bus 003 Device 006: ID 050d:7051 Belkin Components F5D7051 54g USB Network Adapter

Drivers

There are multiple drivers supporting Broadcom wireless LAN chipsets.

Linux native drivers:

  • [#bcm43xx bcm43xx] driver ([#supported_bcm43xx supported devices])
    • included in mainline kernels from 2.6.17-rc2
    • disabled in Debian 2.6.24 and later kernels
    • driver was removed from the mainline kernel in 2.6.26
  • [#b43 b43] driver ([#supported_b43 supported devices])
    • the new driver for modern 802.11g and 802.11a chipsets
    • introduced in kernel 2.6.24
  • [#b43 b43legacy] driver ([#supported_b43legacy supported devices])
    • for legacy 802.11b-only devices and the BCM4306 revision 2 chipset
    • introduced in kernel 2.6.24
  • [#rndis_wlan rndis_wlan] driver ([#supported_rndis supported devices])
    • for devices with the BCM4320 USB chipset only

    • introduced in kernel 2.6.25

The bcm43xx driver is no longer developed. More information on the b43/b43legacy drivers can be found on the Linux Wireless [http://wireless.kernel.org/en/users/Drivers/b43#b43andb43legacy b43 driver page]. Note that bcm43xx, b43 and b43legacy do not support any USB devices based on Broadcom wireless chipsets.

Using Windows' binary drivers:

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

?Anchor(bcm43xx)

bcm43xx (Etch with 2.6.18 kernel only)

Using [:Lenny:]? Skip to the [#b43 b43/b43legacy] section.

For 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 [:Modules: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. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.

?Anchor(bcm43xx_troubleshoot)

Troubleshooting

  • Examine the kernel ring buffer (dmesg) 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 [: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) through the b43 or b43legacy drivers. Install an [:EtchAndAHalf:] kernel image (apt-cache search linux-image-2.6.24-etchnhalf and install a package appropriate for your system), restart your system to boot using this kernel, then follow the [#b43 b43/b43legacy] driver procedure below.

?Anchor(b43)

b43 and b43legacy

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

  • <!> [:DebianEtch:Etch] users: These drivers are not present in the stock 2.6.18 kernel. Install and boot an [:EtchAndAHalf:] kernel (apt-cache search linux-image-2.6.24-etchnhalf and install a package appropriate for your system) 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. All firmware must be downloaded separately, which can be performed by the b43-fwcutter package during installation.

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

    # Debian Lenny
    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 [:Modules: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. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.

Troubleshooting

  • Examine the kernel ring buffer (dmesg) 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#firmwareinstallation

?Anchor(rndis_wlan)

rndis_wlan

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

The rndis_wlan driver supports wireless RNDIS?FootNote(Microsoft's unofficial CDC ACM variant, see [wiki: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 users: Due to the inclusion of its vendor and device IDs, an Ralink RT2501 USB 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 [:Modules: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. [: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 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#knownproblems Known problems] with this driver are documented on its homepage.

?Anchor(ndiswrapper)

NDISwrapper

  • This should only be used as a last resort, if the device is not supported by the native drivers (eg. Broadcom USB devices, other than the BCM4320 USB).
  • Etch users: Before resorting to NDISwrapper, try using the b43/b43legacy drivers via an [:EtchAndAHalf:] kernel, as described in the [#bcm43xx_troubleshoot bcm43xx troubleshooting] section.

Blacklist native drivers

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

Etch with 2.6.18 kernel

modprobe -r bcm43xx
echo blacklist bcm43xx >> /etc/modprobe.d/blacklist.local

Etch with 2.6.24 kernel, Lenny

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

Installation

Kernel module and NDIS driver installation is described on the [:NdisWrapper:NDISwrapper] page.

Supported Devices

?Anchor(supported_bcm43xx)

bcm43xx

The following list is based on the alias fields of  modinfo bcm43xx.

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

?Anchor(supported_b43)

b43

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

?Anchor(supported_b43legacy)

b43legacy

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

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

  • 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 (Device name unknown)
    USB: 13B1:0014 Linksys (Device name unknown)
    USB: 13B1:0026 Linksys (Device name unknown)
    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#supportedchips - supported devices

See Also

  • [:WiFi/HowToUse:How To use Wifi network adapter]

  • [:NdisWrapper:NDISwrapper]


CategoryHardware CategoryWireless