Differences between revisions 28 and 29
Revision 28 as of 2008-11-26 11:18:56
Size: 11503
Editor: GeoffSimmons
Comment: Clarified drivers, remove old 2.6.25 info, consolidated bcm43xx procedure, et al
Revision 29 as of 2008-11-26 11:25:10
Size: 11514
Editor: GeoffSimmons
Comment: minor omissions
Deletions are marked like this. Additions are marked like this.
Line 121: Line 121:
 * Run "dpkg-reconfigure -plow b43-fwcutter" to fetch and extract firmware again. Firmware will only be fetched if not already present in /lib/firmware/[b43|b43legacy] directories on your system.  * 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.
Line 158: Line 158:
 * Run "dpkg-reconfigure -plow b43-fwcutter" to fetch and extract firmware again. Firmware will only be fetched if not already present in /lib/firmware/[b43|b43legacy] directories on your system.  * 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.
Line 164: Line 164:
 * Etch users: Before resorting NDISwrapper, try using the b43 or b43legacy drivers via an etchnhalf kernel, as described in the [#bcm43xx_troubleshoot bcm43xx troubleshooting] section.  * Etch users: Before resorting to NDISwrapper, try using the b43 or b43legacy drivers via an etchnhalf kernel, as described in the [#bcm43xx_troubleshoot bcm43xx troubleshooting] section.

Broadcom 43xx wireless devices

This page describes how to install and configure WiFi devices based on Broadcom 4303, 4306, 4309, 4311, 4312 and 4318 wireless chipsets.

?TableOfContents(3)

Device Identification

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

update-pciids
lspci -nn

You should see your Broadcom Device

0c:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN [14E4:4311] (rev 01)
or 
0c:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (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.

Drivers

There are multiple drivers supporting Broadcom wireless LAN chips.

Linux native drivers:

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 none of the above drivers support 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.

?Anchor(bcm43xx)

Native bcm43xx driver (Etch with 2.6.18 kernel only)

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" section) to your /etc/apt/sources.list file, for example:

# Debian Volatile (Etch)
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. Load the bcm43xx module:

modprobe bcm43xx

4. Verify your device now has an avilable 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 etchnhalf kernel image ("apt-cache search linux-image-2.6.24-etchnhalf" and install one appropriate for your system), restart your system to boot using this kernel, then follow the [#b43 b43] or [#b43_legacy b43legacy] driver procedures below.

?Anchor(b43)

Native b43 driver

For 2.6.24 and later kernels with modern Broadcom 802.11g wireless chipsets. This is included as a module in Debian kernel images. 802.11b-only devices and BCM4306 revision 2 chipsets are supported by the [#b43_legacy b43legacy] driver instead. The b43 driver requires version 4 firmware which must be downloaded separately (can be performed by the b43-fwcutter package during installation).

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

deb http://ftp.us.debian.org/debian lenny main contrib non-free

2. 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. Load the b43 module:

modprobe b43

4. Verify your device now has an avilable 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(b43_legacy)

Native b43legacy driver

For 2.6.24 and later kernels with 802.11b-only devices or BCM4306 revision 2 chipsets. This is included as a module in Debian kernel images. Modern Broadcom 802.11g wireless chipsets are supported by the [#b43 b43] driver instead. The b43legacy driver requires version 3 firmware which must be downloaded separately (can be performed by the b43-fwcutter package during installation).

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

deb http://ftp.us.debian.org/debian lenny main contrib non-free

2. 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. Load the b43legacy module:

modprobe b43legacy

4. Verify your device now has an avilable 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(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).
  • Etch users: Before resorting to NDISwrapper, try using the b43 or b43legacy drivers via an etchnhalf kernel, as described in the [#bcm43xx_troubleshoot bcm43xx troubleshooting] section.

Module Installation

  • But because we already went through so many problems we will use the latest source code for NDISwrapper to make sure it works with our current kernel.
  • Install what is neccessary:

aptitude install build-essential
aptitude install linux-headers-`uname -r` 
  • uninstall all versions you might have:

aptitude remove ndiswrapper-common
aptitude remove ndiswrapper-utils

mkdir tmp
cd tmp
wget http://superb-east.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.52.tar.gz
tar -xzvf ndiswrapper-1.52.tar.gz

Blacklist native driver

  • To ensure there is no conflict with generic bcm43xx driver:

echo blacklist bcm43xx >> /etc/modprobe.d/blacklist

  • Go to your ndiswrapper directory and compile the source:

cd ndiswrapper-1.52
make
make install
make distclean

Install NDIS driver

  • We already download this file R151517.EXE if not wget it again:

wget http://ftp.us.dell.com/network/R151517.EXE
  • Unzip:

unzip -a R151517.EXE
  • Install driver. This time we use .inf file, and not the sys file.

ndiswrapper -i bcmwl5.inf
  • List devices:

ndiswrapper -l
  • You should see:

bcmwl5 : driver installed
        device (14E4:4311) present
  • Do final steps:

ndiswrapper -m
modprobe ndiswrapper
echo ndiswrapper >> /etc/modules

Check the device

Check if device is in a list:

iwconfig

You should see something like:

wlan0     IEEE 802.11g  ESSID:off/any
          Mode:Managed  Frequency:2.462 GHz  Access Point: Not-Associated
          Bit Rate:54 Mb/s   Tx-Power:32 dBm
          RTS thr:2347 B   Fragment thr:2346 B
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

?Anchor(use)

Connecting to the network

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

See Also


CategoryWireless