I have been in Germany for nearly 2 months without a steady internet connection. This changed today. To spare the reader the pain of explaining exactly what I have tried and failed (rest assured, it was quite a bit) I'll cut to the chase and share with the world how I got it working. ($ means issued as a user, and # means issued as root).
1. 16K stack
The stock 2.6 kernels provides the option to disable the 4K stack. Fedora's kernel does not. This means that in order to use most Windows drivers I had to download a kernel that would support a larger stack. This I found here:
http://www.linuxant.com/driverloader/wlan/full/downloads-fc4-kernel-i686.phpIn order to get ndiswrapper working you'll need to download the kernel and the development rpms, and after decompressing them install with:
# rpm -Uvh kernel-*.stk16.i*86.rpm
Now reboot into your shiny new kernel and you're ready for the next step.
2. ndiswrapper
Simply download the latest version of ndiswrapper from:
http://sourceforge.net/projects/ndiswrapper.
Inflate and extract the crap out of that tarball with:
$ tar xzvf ndiswrapper*.tar.gz
cd into the newly created ndiswrapper directory and build the executable:
$ make distclean
$ su
password: yourrootpassword
# make
# make install
3. Drivers
If you haven't done so thus far, examine your card and try to figure out the manufacturer and the card type (in my case it was a Netgear WG511 v2 specifically made in China, normally this isn't important but for some reason Netgear wanted to put a different chipset in the cards made in China versus the cards made in Taiwan). Once you know what kind of card you have find it in the list at:
http://ndiswrapper.sourceforge.net/mediawiki/index.php/List.
Unzip the archive and you're ready for the next step...
4. Configuration
Next you need to tell ndiswrapper which driver to use. Simply cd into the directory where you extracted your drivers, and give your computer one of these:
# /usr/sbin/ndiswrapper -i yourwirelesscard.inf
# /sbin/depmod -a
# /sbin/modprobe ndiswrapper
Now you want to see if everything went okay, a good sign is if the lights on your wireless card are blinking. A more accurate indication is if you get some reasonable output from:
# /sbin/iwconfig
Next you can scan the wireless channels for available access points with:
# /sbin/iwlist wlan0 scan
If your Access point doesn't broadcast the SSID, check
here for some help. Otherwise give your computer some of these:
# /sbin/iwconfig wlan0 mode Managed
If you have yourself a WEP key
# /sbin/iwconfig wlan0 key restricted XXXXXXXX
Where XXXXXXXX is your key. Next you want to pick out which network you want to connect to using one of the results from the wlan scan.
# /sbin/iwconfig wlan0 essid YOURESSID
Now let's get that baby an IP address with:
# /sbin/ifconfig wlan0 up
# /sbin/dhclient wlan0
And finally you should be good to go. If everything works okay save the configuration to wlan0 with
# /usr/sbin/ndiswrapper -m
I hope this helps someone somewhere. If you followed my instructions and still can't get it to work, try the guys who wrote ndiswrapper at
http://ndiswrapper.sourceforge.net/mediawiki/index.php/Main_Page.
enjoy!
Labels: Linux