Broadcom43xx

Revision 14 as of 2006-03-13 07:10:28

Clear message

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! Smile :)

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.