User Tools

Site Tools


b43

This is an old revision of the document!


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.

Is My Card Supported?

Most broadcom cards are supported EXCEPT the following:

  • PCI ID 14e4:4315
  • Wireless-N

To determine the PCI ID of your wireless device under linux, enter:

lspci -nn

Patching the kernel

  • Download the b43 injection speed and fragmentation patch for the 2.6.24 kernel or for the 2.6.25 kernel. Kernels 2.6.27 and up need no patching beyond the basic mac80211 frag+ack patch.
  • 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).
If you are using openSUSE or a derivative, use this guide.

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

FIXME 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:

 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.

b43.1242160784.txt.gz · Last modified: 2009/05/12 22:39 by netrolller3d