This is an old revision of the document!
Table of Contents
b43
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.
b43 is a mac80211 driver, so it requires at least Aircrack-ng 1.0-rc1. See this thread for more information.
Patching the kernel
- Download the b43 injection speed and fragmentation patch for the 2.6.24 kernel or for the 2.6.25 kernel or the compat-wireless package.
- 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
This is an equivalent post for the 2.6.25 kernel (Ubuntu Hardy-specific).
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.
Usage Tips
These are mostly about bcm43xx, and not b43/b43legacy!
Forum thread: The complete how to of making bcm43xx injection work
Forum thread: How I got the bcm43xx packet injection working in ubuntu 7.10
This forum thread may also provide some useful information: Broadcom bcm43xx Injection
Troubleshooting Tips
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
Or if you have iw installed:
iw dev wlan0 interface add mon0 type monitor ifconfig mon0 up
This way, you can monitor on mon0 while still being associated on wlan0. (In the SVN version of Aircrack-ng, just use airmon-ng.)
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.