This is an old revision of the document!
Table of Contents
b43 is the new driver for wireless cards with Broadcom chipsets. People have had limited success up to this point. For now, search the Forum for “b43” to get the most up-to-date information.
Is My Card Supported?
Most broadcom cards are supported EXCEPT the following:
- PCI ID 14e4:4315
To determine the PCI ID of your wireless device under linux, enter:
Patching the kernel
- Place the patch in your kernel sources or compat-wireless directory
- Run 'patch -p1 -i b43-injection-<kernel version>.patch'.
This patch may not apply directly and may require that you modify the files main.c and xmit.c (located in $linux/wireless/net/drivers/b43/ and $linux/wireless/net/drivers/b43legacy/) manually
- Recompile your modules with 'make drivers/net/wireless/b43/b43.ko drivers/net/wireless/b43legacy/b43legacy.ko', followed by 'make modules_install'.
- The module should now be ready to use for injection.
- Remember to reload the kernel driver or reboot your system before trying to inject packets.
Detailed instructions for 2.6.24 kernels
This posting provides an excellent detailed description of getting injection working under 2.6.24 kernels (Ubuntu Hardy).
Detailed instructions for 2.6.25 kernels
Testing the new module
After building and installing the new module, it is best to test that injection is working correctly. Use the injection test to confirm your card can inject.
These are mostly about bcm43xx, and not b43/b43legacy!
Forum thread: The complete how to of making bcm43xx injection work
This forum thread may also provide some useful information: Broadcom bcm43xx Injection
Confirm you are running the new module
First, double check that you are in fact running the new module:
modinfo b43 modinfo b43legacy
It will give you the fully qualified file name. Do “ls -l <fully qualified file name>” and confirm it has the date/time of when you compiled and installed the new module. If it does not match, then you are not running the patched module. This would, of course, need to be fixed.
This thread has a number of potential fixes to problems you may encounter: Broadcom bcm43xx Injection
"SET failed on device wlan0: Device or resource busy" when setting monitor mode
This is a known issue with all mac80211 drivers. To avoid this error, make sure you do:
ifconfig wlan0 down iwconfig wlan0 mode monitor ifconfig wlan0 up
airmon-ng start wlan0
This way, you can monitor on mon0 while still being associated on wlan0.
Why do I get ioctl(SIOCGIFINDEX) failed ?
If you get error messages similar to:
- Error message: “SIOCSIFFLAGS : No such file or directory”
- Error message: “ioctl(SIOCGIFINDEX) failed: No such device”
Then See this FAQ entry.