B43 Driver Install

来源:互联网 发布:电影剪辑软件手机 编辑:程序博客网 时间:2024/06/05 00:56

First, enable the following options in the kernel, then build and install as normal. The deselected options are possible extras or alternatives, depending on your device. (The instructions below are for the traditional "b43" kernel driver. The kernel configuration for the new Broadcom "brcm80211" driver can be seen here)

Linux Kernel Configuration: b43 / b43-legacy kernel options (2.6.25+)
     Bus options (PCI etc.)  -->       < > PCCard (PCMCIA/CardBus) support  ---> [*] Networking support  -->       Wireless -->         -*- Improved wireless configuration API         -*- Wireless extensions         <*> Generic IEEE 802.11 Networking Stack (mac80211) Device Drivers -->    [*] Network device support -->       Wireless LAN       [*] Wireless LAN (IEEE 802.11)       <*>   Broadcom 43xx wireless support (mac80211 stack)       [ ]     Broadcom 43xx PCMCIA device support       [*]     Broadcom 43xx debugging       < >   Broadcom 43xx-legacy wireless support (mac80211 stack)       [ ]     Broadcom 43xx-legacy debugging               Broadcom 43xx-legacy data transfer mode (DMA + PIO) --->*   [*] DMA Engine Support -->

(*) Broadcom 43xx-legacy data transfer mode (DMA + PIO) kernel option reports that "not all devices of the b43legacy series support PIO. You should use PIO only if DMA does not work for you."


The following options may enable support for laptop LEDs.

Linux Kernel Configuration: Extra Options for Laptops (2.6.25+)
 [*] Networking support  --->       Wireless  --->         <*> Generic IEEE 802.11 Networking Stack (mac80211)         [*]   Enable LED triggers       <*> RF switch subsystem support  --->         <*> Input layer to RF switch connector     Device Drivers  --->       [*] LED Support  --->         [*] LED Trigger support         <*>   LED Timer Trigger         <*>   LED Heartbeat Trigger         <*>   LED Default ON Trigger       Input device support  --->         -*- Generic input layer (needed for keyboard, mouse, ...)           <*> Polled input device skeleton

[edit]Firmware

In addition to the kernel driver, you will need the firmware for your card.

[edit]Kernel >=2.6.32

You can install the firmware from portage tree without fwcutter:

emerge net-wireless/b43-firmware

[edit]Older Kernels

For manual installation you will need a firmware cutter (which extracts the firmware and places it in /lib/firmware)

Install the firmware cutter with:
emerge b43-fwcutter

Download the appropriate firmware file from the documentation site.

Now extract the firmware file (replacing the example used below with the version of firmware recommended by the b43 documentation):

tar -xjf broadcom-wl-4.150.10.5.tar.bz2

then

cd broadcom-wl-4.150.10.5/driver
If /lib/firmware does not exist, create it:
mkdir /lib/firmware

Cut the firmware with:

b43-fwcutter -w /lib/firmware <firmware file>

[edit]brcm80211

The firmware is available in sys-kernel/linux-firmware

[edit]Loading the Module

If you opted to compile the driver as a module, it will be named either b43 or b43legacy depending on which you chose.

modprobe b43

or

modprobe b43legacy

For most users, installation should now be complete. Reboot and configure your wireless.

Note: The device name created by the b43 is "wlan#" (and not eth# as it is the case for the Broadcom wl driver). You may want to adapt your boot sequence accordingly by creating a symlink from net.lo to net.wlan0 and adding wlan0 to your runlevel "boot" via rc-update.

[edit]Optional: Monitor mode

If you want monitor mode, you will need to patch the kernel driver. If you don't know what Monitor Mode means, you probably don't need it.

Generally, monitor mode is only needed for networking research and packet injection by 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/

It is best to use the wireless testing kernel to patch against:

[edit]Kernel 2.6.26

cd /usr/srcgit clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.gitcd /usr/src/linux/wget http://patches.aircrack-ng.org/b43-injection-2.6.26-wl.patchwget http://patches.aircrack-ng.org/mac80211_2.6.26-wl_frag.patchpatch -p1 < b43-injection-2.6.26-wl.patchpatch -p1 < mac80211_2.6.26-wl_frag.patchmake && make modules_install

[edit]Kernel 2.6.25

cd /usr/src/linux/wget http://patches.aircrack-ng.org/b43-injection-2.6.25-wl.patchwget http://www.latinsud.com/bcm/mac80211_2.6.24.4_frag.patchpatch -p1 < b43-injection-2.6.25-wl.patchpatch -p1 < mac80211_2.6.24.4_frag.patchmake && make modules_install

[edit]Ndiswrapper - Wrapping Windows Drivers

If the process above doesn't work, you can try to use the ndiswrapper drivers which are the drivers that came with your laptop or wireless card. If those fail, check for the latest version from the manufacturers website.

Note: Vista drivers are not supported because ndiswrapper does not support version 6 of the NDIS API yet
Note: Make sure to grab the 64 bit version of the driver if you are running x86_64. This can be a problem because not all chipsets necessarily have 64 bit XP drivers

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.

Then just follow Ndiswrapper.

[edit]Broadcom 802.11 Linux STA driver

Broadcom has released it's own kernel driver. It's closed source but works and seems to release "often" (at least 3 times between the summer of 2008 and the February 2009). However, there has been no new releases since December, 2010.

There is now an ebuild (net-wireless/broadcom-sta) for this binary Broadcom-provided kernel module. The ebuild also contains patches so that it will work on the latest kernel. Just accept the license (by adding "Broadcom" to ACCEPT_LICENSE in /etc/make.conf), and emerge as usual.


emerge -av net-wireless/broadcom-sta


Note: This driver appears to be incompatible with suspending, so make sure you blacklist the module.
This could not be verified on a MacBookPro6,2 (2010-05) with BCM4353 and broadcom-sta-5.60.48.36 on gentoo-sources-2.6.33-r1. The driver survived a suspend (hibernate not tested) and NetworkManager could connect afterwards.
Note: It might be necessary to run "update-modules -f" to install the driver correctly! This was required before it was an ebuild, but if you are having issues loading the module.
Note: If you experience frequent disconnects try changing the "power" iwconfig setting to "off".
Note: On newer kernels (tested on 2.6.33) the HOSTAP option (Device Drivers -> Network device support -> Wireless LAN -> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)) has to be set to implicitly get the WIRELESS_EXT and WEXT_PRIV options which are not accessible with menuconfig.

[edit]Optional: Monitor mode

Since 5.100.82.111 broadcom-sta driver supports monitor mode. To enable it run

echo 1 > /proc/brcm_monitor0

and to disable:

echo 0 > /proc/brcm_monitor0


When monitor mode is enabled, prism0 network interface appears. This interface can be used by wireshark, airodump-ng, etc to scan wireless network traffic.

原创粉丝点击