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

Your Broadcom PCI wireless device should be listed:

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

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:

?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/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. Load the bcm43xx module:

modprobe bcm43xx

4. Verify your device now 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

?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 /etc/apt/sources.list for your Debian version, for example:

# Debian Etch/4.0
deb http://ftp.us.debian.org/debian etch main contrib non-free

# Debian Lenny
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 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

?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 /etc/apt/sources.list for your Debian version, for example:

# Debian Etch/4.0
deb http://ftp.us.debian.org/debian etch main contrib non-free

# Debian Lenny
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 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

?Anchor(ndiswrapper)

NDISwrapper

Blacklist native driver

If loaded, the native bcm43xx driver will conflict with NDISwrapper. To unload and disable:

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

Module installation (via module-assistant)

aptitude install module-assistant wireless-tools && m-a prepare && m-a a-i ndiswrapper
modprobe ndiswrapper
echo ndiswrapper >> /etc/modules

NDISwrapper is now installed on your system. Install the required [#ndisdriver NDIS driver] as necessary.

Module Installation (manual)

<!> The following procedure is only necessary for Etch systems which require a version of NDISwrapper greater than 1.28.

Install necessary development packages, along with wireless-tools:

aptitude install build-essential linux-headers-$(uname -r) wireless-tools

Download and compile the NDISwrapper [http://sourceforge.net/project/showfiles.php?group_id=93482 source code]. For example, to acquire and build NDISwrapper version 1.53:

mkdir tmp && cd tmp
wget http://superb-east.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.53.tar.gz
tar xvf ndiswrapper-1.53.tar.gz
cd ndiswrapper-1.53
make
su
make install
modprobe ndiswrapper
echo ndiswrapper >> /etc/modules

NDISwrapper is now installed on your system. Install the required [#ndisdriver NDIS driver] as necessary.

?Anchor(ndisdriver)

Install NDIS driver

<!> The following procedure is specific to the "Dell Wireless Card 1390" (man: 14e4, dev: 4311) device and is provided as an example only. Consult the [:NdisWrapper:NDISwrapper page] for links to further information on your specific device.

1. Install the unzip package:

aptitude install unzip

2. Acquire an archive containing the NDIS driver from Dell's FTP site:

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

3. Extract its contents:

unzip -a R151517.EXE

4. Install the NDIS driver:

ndiswrapper -i DRIVER/bcmwl5.inf

5. To verify NDIS driver installation, list the currently installed drivers:

ndiswrapper -l

You should receive the following output:

bcmwl5 : driver installed
        device (14E4:4311) present

Examine the device

Verify that your device now has an available interface:

iwconfig

You should receive output similar to:

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

You are now able to [:WiFi/HowToUse:configure] your wireless interface as appropriate.

Troubleshooting

?Anchor(use)

Connecting to the network

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

See Also