Linux Wireless Card Problems

I have a dualboot on my HP Pavilion zv5000. Windows XP and Debian (Sarge)

Kernel 2.6.8 AMD64 Generic

The only problem with my Linux partition, is that it doesn’t like to recognize my Broadcom wireless adapter. From what I’ve heard, Linux in general does not like Broadcoms. Broadcom doesn’t make a driver for linux either :frowning:

So now I’m stuck with using a clunky, external ethernet bridge. I’ve heard of solutions using ndiswrapper, but most “How-To”'s are very sparse with details.

I have ndiswrapper-utils installed. I now understand that I need to get the Windows drivers. The HP site only provides them in .exe format. How do I get the raw .inf and .sys drivers? Do I need to install WINE and then run the extracting .exe? If so, how?

Another minor problem: The not-so-good-looking interface. It looks like Win95 :shudder: I set KDE up to use Window’s fonts, but it still doesn’t look the same. Is there a theme that anyone recommends?


Since you said you’re dual booting anyway, why not search out and grab the installed drivers from your Windows partition? Device Manager should tell you what the files are called (and possibly even where they are).

If you’re getting an interface that looks really like Windows 95 perhaps you’re using KDE 2 instead of KDE 3? (I’m not sure on the versions that come with Debian; but, if that’s the case and it’s possible it would be good to upgrade to a newer version of KDE). There’s updated KDE packages for Debian available from 3rd party sources, too, if you feel like going past whatever version is in the official Debian repository.

Hey Mike. I had a similar problem with a USB wireless device made by netgear (I have my laptop running Debian). ndiswrappers is kind of a pain in the neck, but once you figure it out, it becomes quite easy to use. (It took me about 5 hours of painful work on the netgear drivers until finally it gave up and let me make it work. Hopefully this guide will spare you the hardship)

Step 1.
You already have the utils, so the next thing you need to do is apt-get install the ndiswrapper module for your kernel. Once you have it, go to module-assistant (a very easy to use module manager, if you don’t have it – apt-get install module-assistant). Then go to the select menu in module-assistant. Look for the ndiswrapper module in the list and select it. From there, you might have to get the source for the ndiswrapper module (module-assistant is pretty intuitive). Build then Install.

Step 2.
To get the files you want out of the exe you have to use cabextract. The command looks basically like this: cabextract [filename.exe]
Note: The cabextract will extract the filename.exe’s contents into the folder the filename.exe is currently in (it will not make a new folder.)

Step 3.
Once you have the exe unpacked you will want to sort through and find the .inf file. Now you will use ndiswrapper and type a command that looks like: ndiswrapper -i filename2.inf
Note, make sure that at this point in the /etc/ndiswrapper/drivername/ there is a .inf file and a .sys file. If the files aren’t present, simply search through the unpacked exe until you find them and move them over into the /etc/ndiswrapper/drivername/ folder.

Step 4. Now for the fun part. If the card is pci, lspci and find the address of the card. If it is usb, lsusb. Take the device address (which is what appears first on everyline of lspci per device) and then type the command: ndiswrapper -d [devid] drivername.
Note, “where ‘devid’ is either PCIID or USBID of the form XXXX:XXXX” --from the -h of ndiswrapper
SubNote: to get a list of installed drivers and their names, type ndiswrapper -l.
SubNote2: There should now be a .conf file in /etc/ndiswrapper/drivername

Step 5. The easy part
Type ndiswrapper -m, hit return
If you want to update the the hotplug information, say ndiswrapper -h and hit return.

Step 6. Making modprobe happy
You might have to edit the /etc/modprobe.d/ndiswrapper file to alias ndiswrapper to wlan0.
This is quite simple, my file looks like this:

alias wlan0 ndiswrapper

Step 7. Interfaces file
Debian makes network interfaces incredibly easy (I like this feature a lot). In the /etc/network/interfaces file add the lines (the comment just makes the file nicer to read):

#wlan0 interface
iface wlan0 inet dhcp

Step 8. Testing
To test, first modprobe ndiswrapper with the card hooked up appropriatley.
Assuming this works, you should now be able to use your wireless card. To find access points near you type “iwlist scanning”.
To connect the command is iwconfig wlan0 essid [ssid]
then type ifup wlan0
Make sure that all other connections are ifdown, otherwise the direction of packets might get confusing for the computer.
Now, try pinging Hopefully it works!

To remove the card “safely” type modprobe -r ndiswrapper and then remove the card. I have not been able to get hotplug working, so I have been stuck modprobing and modprobe -r ing.

I wrote a nice script that does all of the connecting for you if you want it (add it to your /bin and call it “iwconnect”. chmod 777 it so you can execute it.):

#This is a script written by Andrew Hospodor ([email protected]). To use, modify, or replicate, this line must be kept intact.
#Name of Script: iwconnect
#Permissions: user needs sudo to run
modprobe -r ndiswrapper
modprobe ndiswrapper
echo “Here is a list of essids:”
iwlist wlan0 scanning | grep ESSID
echo “What is the essid?”
read myEssid
iwconfig wlan0 essid $myEssid
ifup wlan0
#end file

If you have any questions, don’t be shy, please post them.

Have a nice day and Happy New Year!

…Andrew Hospodor

Note, this guide was written by Andrew Hospodor and has no restrictions on distribution.
ndiswrapper could possibly be a copyright, I’m not sure if it is. However, their website can be found at and their wiki can be found at:
Debian’s page can be found at

Gnome is nice. It is simple and useful. I use xfce4 which is nice, but needs a lot of user configuration (not too many default buttons on the task bar, one has to add them). I’ve never really liked KDE. Why do you want it to look the same as windows? Be different you are a linux user! (jk)

Again, Happy New Year!