Broadcom43xx
Original Author: NicholasWheeler
Heya, this is the beginning of the bcm43xx driver page.
Using the ndiswrapper driver, fixing your system
If you've upgraded and your internet is broken, and you use a broadcom 43xx card, and you would like to still use ndiswrapper (because it was working, and you want it to remain working), simply do:
sudo echo 'blacklist bcm43xx >> /etc/modprobe.d/blacklist'
This will make it so the bcm43xx driver doesn't load, and ndiswrapper will be happy, after you reboot your computer. To get it working without a reboot, simply run these commands:
sudo rmmod bcm43xx sudo rmmod ndiswrapper sudo modprobe ndiswrapper
Using the bcm43xx driver
Now, if you would like to use this driver, first uninstall ndiswrapper.
Acquire the source for fwcutter by either:
svn checkout svn://svn.berlios.de/bcm43xx/trunk/fwcutter
or visiting: http://developer.berlios.de/project/showfiles.php?group_id=4547
Now, go into fwcutter, and type make to compile it.
If you have ndiswrapper working with your card previously, there is probably this file:
/etc/ndiswrapper/bcmw15/bcmwl5.sys
copy it to the fwcutter directory by:
cp /etc/ndiswrapper/bcmw15/bcmwl5.sys .
If it's not there, get it by: Important: I know nothing of the legalness of this! Please add more here if you do!
wget http://metahusky.net/~gavin/home/bcmwl5.sys
Now type:
sudo ./bcm43xx-fwcutter -w /lib/firmware/ bcmwl5.sys
Now, if you look at iwconfig, you should get an entry similar to:
lo no wireless extensions eth0 no wireless extensions eth1 IEEE 802.11b/g ESSID:"seekret" Nickname:"Broadcom 4306" Mode: Managed Frequency=2.462 GHz Access Point: 13:37:be:ef:13:37 Bit Rate=11 mB/s Tx-Power=15 dBm RTS thr:off Fragment thr: off Encryption key: yeah right Security mode: open
By this time, some of you following this may have a working card, just ifconfig eth1 up, and run dhclient eth1, and you may get an address (depending on how your wireless AP is set up).
Looking at /var/log/messages, you may see some messages concerning your card and driver. One of the bottom-most messages may say something silly like:
ADDRCONF(NETDEV_UP): eth1: link is not ready
This means your card isn't set up correctly, and is most likely not working.
Sometimes it's difficult to get that link to be ready -- but once it is, it'll work. Keep trying, don't give up!
For me, running this command solved this problem:
sudo iwconfig eth1 mode auto sudo iwconfig eth1 rate 11M sudo iwconfig eth1 ap any
Now, surely, this driver should work. Feel free to make changes or corrections or comments to this file.
Troubleshooting
If you don't see your device under iwconfig or ifconfig -a, make sure you have your ndiswrapper driver unloaded:
sudo rmmod ndiswrapper
and make sure you have the bcm43xx driver loaded:
sudo modprobe bcm43xx
The result of the command lsmod|grep -i bcm should be similar to:
bcm43xx 114444 0 ieee80211softmac 28544 1 bcm43xx ieee80211 35144 2 bcm43xx,ieee80211softmac
Troubleshooting techniques: keep trying iwconfig commands. Perhaps explicately stating your AP might work. There's something about SoftMAC and authentication that needs to occur for your device to start working.
Success Stories
My own success (and basis for this wiki page) is on a lspci -v|grep -i bcm
0000:03:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
Please visit the Ubuntu Forums for more information or help.