Thursday, September 11, 2008

BCM43xx Wireless Tutorial

Broadcom wireless cards are a breeding ground for trouble throughout many OS's, but linux seems to struggle with them the most. I've provided two solutions - both of them work perfectly on BCM4318 cards under Ubuntu, but should also work on most other BCM cards under other nix OS's. The first option which I recommend is using the b43-fwcutter method to extract the necessary firmware and install your wireless card. The second option is using ndiswrapper, which works also, but is not as stable as b43. You will need to download the following files to proceed:

To use the first method:

b43-fwcutter: http://rapidshare.com/files/144470680/b43.zip.html

(This .zip contains the b43-fwcutter.deb file and wl_apsta.o firmware)

To use the second method:

Ndis: http://rapidshare.com/files/144470679/ndiswrapper.zip.html

(This .zip contains the ndiswrapper .deb utils, gtk, common files, and bcmwl5 driver.)

- Only try one method at a time as downloading/installing both could result in hardware conflicts.

To use the first method, b43-fwcutter, use a .deb installer to install the package. Most linux systems that are derived from Debian are already equipped with a program to install .deb packages such as Ubuntu. If you do not have a .deb package installer, check google for your specific operating system. After you have installed the b43-fwcutter package, a installer box will come up asking if you want to fetch and extract the firmware. Do not check this box and just hit forward/finish. Next, go to terminal and change directory to the folder where you extracted the .zip file. There should be a file called wl_apsta.o - Then type in terminal: "b43-fwcutter -w /lib/firmware wl_apsta.o" without the quotes and hit enter. Next, one line at a time type the following in the terminal including the quotes in the line and hitting enter after each line:

sudo echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist
sudo echo "blacklist ndiswrapper" >> /etc/modprobe.d/blacklist

To use the second method, Ndiswrapper, install all the .deb packages included in the .zip file. After installation go to your operating systems administration menu which should contain a new program called "windows wireless drivers" or "wireless management" or something relating to gtk wireless program. Open the program and then use the menu to install a new driver. Use the driver provided in the .zip named bcmwl5.inf and install it. Next, one line at a time type the following in the terminal including the quotes in the line and hitting enter after each line:

sudo echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist
sudo echo "blacklist b43" >> /etc/modprobe.d/blacklist
sudo echo "blacklist ssb" >> /etc/modprobe.d/blacklist

- Reboot and your wireless card should be working!