User Tools

Site Tools


b43

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
b43 [2009/05/03 23:23] – Updated links to forum mister_xb43 [2018/11/22 00:15] (current) – deprecated mister_x
Line 1: Line 1:
-====== b43 ======+====== DEPRECATED - b43 ======
  
-b43 is the new driver for wireless cards with Broadcom chipsets.  People have had limited success up to this point.  For nowsearch the [[http://forum.aircrack-ng.org|Forum]] for "b43" to get the most up-to-date information.+b43/b43legacy is the name of the new driver for wireless b/g cards with Broadcom chipsets. It performs quite well in terms of monitoring and injectionalthough it has no support for the 802.11a wireless band.
  
 b43 is a [[mac80211]] driver, so it requires at least Aircrack-ng 1.0-rc1. b43 is a [[mac80211]] driver, so it requires at least Aircrack-ng 1.0-rc1.
-See this [[http://forum.aircrack-ng.org/index.php?topic=3269.msg18263#msg18263|thread]] for more information. 
  
 ===== Is My Card Supported? ===== ===== Is My Card Supported? =====
  
-Most broadcom cards are supported EXCEPT the following+A fairly up-to-date list is kept [[http://wireless.kernel.org/en/users/Drivers/b43#Known_PCI_devices|here]]. At the time of writing this article, chipsets with the following PCI IDs are **supported**:
- +
-  * PCI ID 14e4:4315 +
-  Wireless-N+
  
 To determine the PCI ID of your wireless device under linux, enter: To determine the PCI ID of your wireless device under linux, enter:
  
-  lspci -nn+  lspci -vnn | grep 14e4
  
 +//Supported VIDs table//
 +^ PCI ID ^ Driver ^Note^
 +|14e4:4311|  b43/**wl**  | |
 +|14e4:4313| ::: | 2.6.33+ |
 +|14e4:4315| ::: | 2.6.33+ |
 +|14e4:4301| b43legacy | B |
 +|14e4:4306| ::: | G |
 +|14e4:4320| ::: | G |
 +|14e4:4307|  **b43**  | G |
 +|14e4:4312| ::: | G |
 +|14e4:4318| ::: | G |
 +|14e4:4319| ::: | G |
 +|14e4:4320| ::: | G |
 +|14e4:5354| ::: | G |
  
 +If your device ID is NOT listed here, it means it is not supported by aircrack-ng at this time.
  
-=====Patching the kernel===== +**IMPORTANT**
-  Download the b43 injection speed and fragmentation patch [[http://www.latinsud.com/bcm/b43-injection-2.6.24.4.patch|for the 2.6.24 kernel]] or [[http://patches.aircrack-ng.org/b43-injection-2.6.25-wl.patch|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'+
-<sub>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</sub> +
-  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=====+Some chips are covered by both the "b43" and "wl" driver. If you have such device, you have to make sure you **blacklist** the "wl" driver before you utilize b43, otherwise they will collide and your card will stop functioning altogether, let alone hope for injectionThe "wl" driver does not support aircrack-ng.
  
-[[http://forum.aircrack-ng.org/index.php?topic=3597.0|This posting]] provides an excellent detailed description of getting injection working under 2.6.24 kernels (Ubuntu Hardy). +=====Installing the drivers=====
  
-=====Detailed instructions for 2.6.25 kernels===+2.6.24 kernels and newer don't need any patches applied to the driver itself for monitor mode and packet injection. The only patch that is needed (for fragmentation attack support) is the standard mac80211 frag+ack patch.
  
-[[http://forum.aircrack-ng.org/index.php?topic=3629.0|This]] is an equivalent post for the 2.6.25 kernel (Ubuntu Hardy-specific).\\ 
-If you are using openSUSE or a derivative, use [[http://forum.aircrack-ng.org/index.php?topic=3718.0|this guide]]. 
  
-=====Testing the new module=====+**Important note:** If you install or update your b43 driver via [[compat-wireless|compat-wireless]], you have to know that the b43/ssb modules are part of your distribution's initramfs image. To avoid problems with loading your new b43 driver, update your initramfs image to complete the process. To do so, simply run: 
 +  sudo update-initramfs -u
  
-After building and installing the new moduleit is best to test that injection is working correctly.  Use the [[injection_test|injection test]] to confirm your card can inject.+If you have a card with the 14e4:4315 PCI ID and a kernel lower than 2.6.33, you need to install the compat-wireless packagesince today's stable versions of the drivers do not support this card at all. In fact, the b43 driver is constantly being improved and using the development version of it can yield very positive results for all its users.  More on this particular card [[http://wireless.kernel.org/en/users/Drivers/b43#fw-b43-lp|here]].
  
 +=====Installing the firmware=====
  
-===== Usage Tips =====+Because of Broadcom's licensing, the firmware - which is essential for the card to run - cannot be freely distributed and is obtainable only by "extracting" their proprietary driver. In order to do this, a program called b43-fwcutter is needed. The procedure varies depending on the kernel and driver versions used, but is generally pretty simple. Keep in mind that you also need to apply different steps if you have the card with the **14e4:4315** PCI ID. A very good description containing detailed steps is [[http://wireless.kernel.org/en/users/Drivers/b43#device_firmware|provided by the wireless-kernel wiki]] (scroll down to see the actual steps).
  
-FIXME These are mostly about bcm43xx, and not b43/b43legacy!+Keep in mind that your distribution might offer its own b43-fwcutter package and scripts intended to obtain and extract the firmware. It is up to you if you're going to do it manually or let your distro do the work. If you have the card with the **14e4:4315** PCI IDyou have no choice and have to do everything by yourself.
  
-Forum thread:  +=====Testing the new module=====
-[[http://forum.aircrack-ng.org/index.php?topic=2045.0|The complete how to of making bcm43xx injection work]]+
  
-Forum thread:  +After building and installing the new module, it is best to test that injection is working correctly Use the [[injection_test|injection test]] to confirm your card can inject.
-[[http://forum.aircrack-ng.org/index.php?topic=2845.0|How I got the bcm43xx packet injection working in ubuntu 7.10]] +
- +
-This forum thread may also provide some useful information: [[http://forum.aircrack-ng.org/index.php?topic=281|Broadcom bcm43xx Injection]]+
  
 =====Troubleshooting Tips===== =====Troubleshooting Tips=====
Line 74: Line 74:
    ifconfig wlan0 up    ifconfig wlan0 up
  
-Or if you have iw installed:+Or:
  
-   iw dev wlan0 interface add mon0 type monitor +   airmon-ng start wlan0
-   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.)+This way, you can monitor on mon0 while still being associated on wlan0.
  
 ==== Why do I get ioctl(SIOCGIFINDEX) failed ? ==== ==== Why do I get ioctl(SIOCGIFINDEX) failed ? ====
Line 88: Line 87:
   * Error message: "ioctl(SIOCGIFINDEX) failed: No such device"   * Error message: "ioctl(SIOCGIFINDEX) failed: No such device"
  
-Then [[http://aircrack-ng.org/doku.php?id=faq#why_do_i_get_ioctl_siocgifindex_failedno_such_device|See this FAQ entry]].+Then [[faq#why_do_i_get_ioctl_siocgifindex_failedno_such_device|See this FAQ entry]] and scroll up to see the "Installing the firmware" section of this article. 
  
 +==== Ubuntu 9.10 support  ====
  
 +See this forum entry: http://forum.aircrack-ng.org/index.php?topic=6434.0
b43.1241385799.txt.gz · Last modified: 2009/05/03 23:23 by mister_x