Ok, so I see a lot of 'my wireless isn't working' questions on the forums, and a good portion have been of late related to the fairly newly released linux broadcomm drivers. These drivers _do_not_work_ out of the box, yet they still load up automatically; unfortunately many of the major distributions are also starting to include them by default, which only makes the problem worse.
So what to do? Lets say you load up one of the Ubuntu's, or Vector, or Red Hat (3 distros that include the Broadcomm drivers). The distribution will autodetect your broadcomm wireless, load the driver up, and everything will look like it's working (when you run iwconfig it will show Broadcomm). The problem is that it's actually not working, and you will never connect to a wireless AP.
So whats the solution?
The first step is to stop the Broadcomm driver from being auto-loaded at start-up. This is accomplished by using whats called a 'blacklist' file. The blacklist file is basically just a list of modules to be, well, 'blacklisted' from loading on startup. In most distros, this can be found at /etc/modprobe.d/blacklist. Editing this file then is very easy (as root):
If you'd like to substitute your favorite text editor (gedit, kedit, kate) for vim, feel free. Scroll down to the very end of the file, and add the following:
Now, your card may have a different module then the 'bcm43xx' that I have listed, but most broadcomm cards seem to use that module, so if you don't know then try it first. Once you've done this, reboot your system.
Once you've rebooted, you need to use 'ndiswrapper' to load up the Windows (yes, the windows drivers) for your wireless card. Ndiswrapper essentially does two things simultaneously: first, it fools the wireless card into thinking is in a windows environment; secondly, it fools linux into thinking it's using native linux drivers.
So you will need two files for this: the *.inf and the *.sys files. So, for example, my card uses 'bcmwl5.inf' and 'bcmwl5.sys'. These can usually be found through some creative googling (if you need those exact two, send me a PM and I'll email them to you). Place these two files in a folder (for example, mine are in /home/olly/drivers).
At the CL prompt (as root):
This loads up the windows driver for your card. Note that the one you load is always the *.inf file. Next:
This loads up the module 'ndiswrapper' (including the newly loaded windows drivers). Finally:
This writes 'ndiswrapper' to the /etc/modprobe.d/modules file, which tells linux to load ndiswrapper at start.
Voila, you now have a functioning wireless card.
-olly
So what to do? Lets say you load up one of the Ubuntu's, or Vector, or Red Hat (3 distros that include the Broadcomm drivers). The distribution will autodetect your broadcomm wireless, load the driver up, and everything will look like it's working (when you run iwconfig it will show Broadcomm). The problem is that it's actually not working, and you will never connect to a wireless AP.
So whats the solution?
The first step is to stop the Broadcomm driver from being auto-loaded at start-up. This is accomplished by using whats called a 'blacklist' file. The blacklist file is basically just a list of modules to be, well, 'blacklisted' from loading on startup. In most distros, this can be found at /etc/modprobe.d/blacklist. Editing this file then is very easy (as root):
Code:
vim /etc/modprobe.d/blacklist
If you'd like to substitute your favorite text editor (gedit, kedit, kate) for vim, feel free. Scroll down to the very end of the file, and add the following:
Code:
blacklist bcm43xx
Now, your card may have a different module then the 'bcm43xx' that I have listed, but most broadcomm cards seem to use that module, so if you don't know then try it first. Once you've done this, reboot your system.
Once you've rebooted, you need to use 'ndiswrapper' to load up the Windows (yes, the windows drivers) for your wireless card. Ndiswrapper essentially does two things simultaneously: first, it fools the wireless card into thinking is in a windows environment; secondly, it fools linux into thinking it's using native linux drivers.
So you will need two files for this: the *.inf and the *.sys files. So, for example, my card uses 'bcmwl5.inf' and 'bcmwl5.sys'. These can usually be found through some creative googling (if you need those exact two, send me a PM and I'll email them to you). Place these two files in a folder (for example, mine are in /home/olly/drivers).
At the CL prompt (as root):
Code:
ndiswrapper -i /home/olly/drivers/bcmwl5.inf
This loads up the windows driver for your card. Note that the one you load is always the *.inf file. Next:
Code:
modprobe ndiswrapper
This loads up the module 'ndiswrapper' (including the newly loaded windows drivers). Finally:
Code:
ndiswrapper -m
This writes 'ndiswrapper' to the /etc/modprobe.d/modules file, which tells linux to load ndiswrapper at start.
Voila, you now have a functioning wireless card.
-olly





