How to use ndiswrapper for broadcom wireless - S.L. 4.x
Thus far, this proceedure has worked for both a HP Compaq nx9600 and a Dell Latitude x300. Both of these are laptops with built in Broadcom wireless. They are both running Scientific Linux 4.2, kernel 2.6.9-22.0.2.EL and 2.6.9-22.0.2.ELsmp.
Here is the lspci wireless output from both the HP, and the Dell.
Dell Latitude x300
02:04.0 Network controller: Broadcom Corporation BCM4309 802.11a/b/g (rev 02)
HP Compaq nx9600
0b:03.0 Network controller: Broadcom Corporation BCM4318 [AirForce One
54g] 802.11g Wireless LAN Controller (rev 02)
-
yum --enablerepo=sl-contrib install ndiswrapper kernel-module-ndiswrapper-2.6.9-22.0.2.EL
This gave me
ndiswrapper-1.5-0.SL.1
kernel-module-ndiswrapper-2.6.9-22.0.2.EL-1.5-0.SL.1 - Downloaded the latest driver from the laptop manufacturerer. I just went to the manufacturer's support pages, and downloaded their latest windows xp driver.
- Uncompressed the windows driver. Now you could do this by installing the driver on your windows machine. I did it by installing the drivers using Wine. I believe both of them failed on wine to actually install the drivers, but it uncompressed them just fine.
- Copy the driver directory that has the bcmwl5.inf driver in it, over to the laptop that has the wireless card. I copied them over into a directory called /ndis/broad/ but it doesn't really matter where, but for this example, I'll use /ndis/broad/
- ndiswrapper -i /ndis/broad/bcmwl5.inf
-
ndiswrapper -l
This should show something like# ndiswrapper -l Installed ndis drivers: bcmwl5 driver present, hardware present
Note: If is says something like the driver doesn't work, then do a 'ndiswrapper -e bcmw15', and a 'ndiswrapper -i /ndis/broad/bcmwl5a.inf' to use the other driver that is in the directory.
Note2: If it says 'driver present' but not 'hardware present', then ndiswrapper knows how to use the driver, but the driver doesn't match your hardware. -
modprobe ndiswrapper
Which should load the driver. -
ndiswrapper -m
Which put's the correct syntax into your modprobe.conf area, setting things up a wlan0 - Setup your networking as you would any other wireless card. It should be setup as wlan0
Extra Notes
The BCM4318 (HP nx9600) will only do 'encrypted' wireless connections. I haven't been able to track this down. It works just fine when you have to put in an ESSID and a password, but when you try to connect to a network that isn't encrypted, and just let's you connect to it, it refuses.
I've tried everything I can think of, complete down to the exact same network settings on a wireless machine that was working, and tried on several different open wireless networks.
Just for fun (and to try and fix the above 'unencrypted' problem) I tried using the broadcom driver from the Dell on the HP (from the BCM4309 on the BCM4318). The driver loaded but I would get a 'driver present' but not a 'hardware present'.