Broadcom_43xx
Contents |
Overview
This article will detail the configuration of Broadcom 43xx series devices. Note that this article only covers the specifics required for these devices. For generic installation instructions please see the Gentoo Handbook.
Driver Support
Please add your device here. The pciid and subsystem id can be discovered using lspci -vnn
| PCI ID | Subsystem PCI ID | Device name | bcm43xx | b43 | b43-legacy |
|---|---|---|---|---|---|
| 14e4:4320 | 103c:12fa or 1737:4320 | Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03) | Partially | Yes | No |
| 14e4:4318 or 14e4:4320 | 1799:7010 | Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02) | Not tested | No | Yes |
| 14e4:4311 | 1468:0422 | Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01) | Not tested | Yes | Not tested |
| 14e4:4318 | 103c:1355 | Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g (rev 02) | Not tested | Yes | Not tested |
| 14e4:4312 | 1028:0007 | Broadcom Corporation BCM4312 802.11a/b/g (rev 01) | Not tested | Yes | Not tested |
| 14e4:4312 | 103c:1370 | Broadcom Corporation BCM4312 802.11a/b/g (rev 02) | No | Partially (results vary with kernel and patches) | Not tested |
| 14e4:4328 | 103c:1366 | Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)* | No | No | No |
(*) N-series Broadcom chips are not supported by any of the 43xx drivers in Linux at this time (August 2008) - https://lists.berlios.de/pipermail/bcm43xx-dev/2008-May/007517.html
ndiswrapper
If the Windows drivers from your card or laptop manufacturer don't work, try searching for the pciid on the ndiswrapper wiki.
If you own a macbook (4th or 5th generation) try using the bootcamp winxp driver. It's located on the 1st install DVD and named "broadcomxpinstaller.exe", just unrar it.
Kernel Configuration
Enable the following options in the kernel, then build and install as normal:
| Linux Kernel Configuration: Generic kernel options |
Networking -->
Wireless -->
<M> Generic IEEE 802.11 Networking Stack
[*] Enable full debugging output
<M> IEEE 802.11 WEP encryption (802.1x)
<M> IEEE 802.11i CCMP support
<M> IEEE 802.11i TKIP encryption
<M> Software MAC add-on to the IEEE 802.11 networking stack
[*] Enable full debugging output
|
| Linux Kernel Configuration: Kernel options for bcm43xx |
Device Drivers -->
Network device support -->
Wireless LAN drivers (non-hamradio) & Wireless Extensions
<M> Broadcom BCM43xx wireless support
[*] Broadcom BCM43xx debugging (RECOMMENDED)
|
| Linux Kernel Configuration: Kernel options for b43/b43-legacy |
Device Drivers -->
Network device support -->
Wireless LAN drivers (non-hamradio) & Wireless Extensions
<M> Broadcom BCM43xx wireless support (mac80211 stack)
[ ] Broadcom 43xx PCMCIA device support (EXPERIMENTAL)
[*] Broadcom BCM43xx debugging
|
| Linux Kernel Configuration: Extra Options for Laptops |
Networking --->
Wireless --->
<M> Generic IEEE 802.11 Networking Stack (mac80211)
[*] Enable LED triggers
<M> RF switch subsystem support --->
<M> Input layer to RF switch connector
Device Drivers --->
[*] LED Support --->
[*] LED Trigger support
Input device support --->
-*- Generic input layer (needed for keyboard, mouse, ...)
<M> Polled input device skeleton
|
Notice: In some situations the option "Generic IEEE 802.11 Networking Stack (mac80211)" must be in tag by <*> (cf: this thread : "Native Airport Extreme Drivers (part 2)") )
Monitor mode
To set your card into monitor mode, you also need to patch the b43 and mac80211 module. The monitor mode is only needed for packet injection to be used for aircrack-ng and similar tools.
You can find documentation on these patches on the aircrack-ng website. The patches themselves can be downloaded from http://patches.aircrack-ng.org/.
The latest version that works with this card is, aircrack-ng 1.0 RC1. You can obtain an ebuild from here.
Kernel 2.6.25
| Code: Installation |
cd /usr/src/linux/ wget http://patches.aircrack-ng.org/b43-injection-2.6.25-wl.patch wget http://www.latinsud.com/bcm/mac80211_2.6.24.4_frag.patch patch -p1 < b43-injection-2.6.25-wl.patch patch -p1 < mac80211_2.6.24.4_frag.patch make && make modules_install |
Kernel 2.6.26
It is best to use the wireless testing kernel to patch against:
| Code: git Wireless Testing Kernel |
cd /usr/src git clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git |
| Code: Installation |
cd /usr/src/linux/ wget http://patches.aircrack-ng.org/b43-injection-2.6.26-wl.patch wget http://patches.aircrack-ng.org/mac80211_2.6.26-wl_frag.patch patch -p1 < b43-injection-2.6.26-wl.patch patch -p1 < mac80211_2.6.26-wl_frag.patch make && make modules_install |
Firmware / fwcutter
In addition to the kernel driver, you will need the firmware and a firmware cutter (which extracts the firmware and places it in /lib/firmware) for your card.
For a list of supported devices and the latest information for each driver, see the relevent project documentation page:
bcm43xx
You'll first need to unmask the cutter with: echo "net-wireless/bcm43xx-fwcutter" >> /etc/portage/package.keywords
Install the firmware cutter with: emerge bcm43xx-fwcutter
Download the appropriate firmware file from the bcm43xx documentation site.
Cut the firmware with: bcm43xx-fwcutter <firmware file>
Assuming you're now using the kernel with the bcm43xx driver in, you can load it with: modprobe bcm43xx
b43 / b43-legacy
You'll first need to unmask the cutter with: echo "net-wireless/b43-fwcutter" >> /etc/portage/package.keywords
Install the firmware cutter with: emerge b43-fwcutter
Download the appropriate firmware file from the b43 documentation site.
Cut the firmware with: b43-fwcutter <firmware file>
Assuming you're now using the kernel with the b43(-legacy) driver in, you can load it with: modprobe b43 or modprobe b43-legacy
Troubleshooting
General Advice
Your first port of call when problem arise is the output of dmesg, which displays the kernel log.
WEP encryption is not enabled for your device
If you get an error message saying "WEP encryption is not enabled for your device" or similar it may be necessary to compile the following into the kernel to ensure that the required cryptographic options are enabled. If you compile the cryptographic options as modules, they may not be loaded automatically by the driver.
iwconfig reports txpower off
On some laptops the driver does not intialise the device in powered on mode. This can be resolved by adding the following to your network configuration (assuming wlan0 is the device name).
| File: /etc/conf.d/net |
postup () {
if [[ ${IFACE} == "wlan0" ]]; then
iwconfig wlan0 txpower on
fi
}
|
Related Links
- Other wireless articles
- bcm43xx project
- bcm43xx documentation
- b43 and b43-legacy documentation
- Gentoo Handbook: Networking
- Broadcom devices in the pciid database
Browse categories > Hardware > Manufacturer
Browse categories > Hardware > Wireless > Wireless Network Card
Browse categories > Hardware > Wireless > Wireless Network Card > Broadcom
Created by NickStallman.net, Luxury Homes Australia
Real estate agents should be using interactive floor plans and real estate agent tools.
