Using ndiswrapper with the WMP54Gv4

Fedora Core 4 (test 3)

Until now, I had multiple failures getting ndiswrapper to work with the WMP54Gv4 card. My first success with ndiswrapper was using Puppy Linux. However, since I was interested in trying out the new Fedora test release, I ventured into the ndiswrapper world. See how I got the card working in Puppy Linux below.

The Fedora 4 test release uses the 2.6.11 series kernel, which apparently solves to prior issues that I had successfully running ndiswrapper without a total lockup of the system. Ndiswrapper requires the kernel source to be installed, which was by default, so I did not have to install the kernel source package.

Using Fedora's up2date utility, I installed the cvs package. this is necessary to download the latest release of ndiswrapper, which you are likely to need.  I recommend following the excellent ndiswrapper wiki page for installation instructions. 1 Once the package was downloaded and installed, I used the Linksys Windows XP drivers (off the cd that came with the card) to install the Windows driver. Make sure that you have the rt2500.sys and Rt2500.INF files in the same directory that you will point ndiswrapper to to complete the process. One issue with Fedora, is even when you are at root user console, you need to point to the ndiswrapper command in it's absolute path, which should be /usr/sbin/ndiswrapper. So, as root user;

/usr/sbin/ndiswrapper -i <source directory of ralink drivers> Rt2500.INF

Update 5/25/05:
I just did another install of ndiswrapper on my main box. The cvs link given in my reference 1 is outdated. You can use the new release version 1.1 in Fedora. If you read the documentation on the ndiswrapper wiki for Fedora, you no longer have to alter the symlink to the kernel modules. Ndiswrapper finds it now in Fedora and installs easily. Since ndiswrapper does not come in this Fedora release, you don't have to worry about uninstalliing any older packages. However, I recommend following to instructions  on my first link as follows;

make distclean
make
make install

The latest stable version of ndiswrapper should install without incident.

Be aware, that the drivers (at least in my case) were case sensitive. make sure you type the exact name of the INF file with the ndiswrapper install command. If the process proceeds correctly, you should get the expected result when you type in the ndiswrapper -l command;

Installed ndis drivers
rt2500 driver present, hardware present


If this works, invoking modprobe ndiswrapper should give you just a command line return prompt, with your system not locking up on you. If you type dmesg at the command prompt, you should see a message at the bottom of the run text stating that ndiswrapper is running and your card is found. If all looks good so far, use the command ndiswrapper -m to load the alias in /etc/modprobe.conf so ndiswrapper will load at boot time.
 
If you got this far, now it gets interesting. I spend several hours on this. Fedora comes with the wireless tools package installed, as well as KWiFiManager (start-->Internet--> KWiFiManager), the latter utility will guide you through the process. This is what worked for me. While Fedora has a utility to assist in setting up network interfaces, it does not work well with ndiswrapper. So, using iwconfig at the command line , I set up  the card with the needed parameters for my system to test the card. Following the ndiswrapper instructions and since I have I have 64 bit WEP encryption;

iwconfig wlan0 key open xxxxxxxxxx channel 6 essid <your essid name>

The "open" parameter seems to be needed to successfully get the card to kick in.
Replace xxxxxxxxxx with your appropriate WEP key and <you essid name> with your essid name.

Again, during the process, I used KWiFiManager to monitor if I had a signal and is the access point was recognized. After a good deal of experimentation and continued loss of my access point trying to invoke ifconfig wlan0 up, I realized that Fedora likes to load wlan0 via dhclient. Once you have a good connection rate and visible access point;

/sbin/dhclient wlan0

If this works, make sure that you add your WEP key in the KWiFiManager configuration script.

Now, you need to make my previously noted wgo script (see page 1) to bring the system up manually after you boot the system to automate the process somewhat.

#!/bin/bash
clear
echo "starting wlan0..."
/sbin/iwconfig wlan0 key open xxxxxxxxxx channel 6 essid <your essid name>
echo "starting wlan0..."
/sbin/dhclient wlan0
sleep 5
echo "bringing down eth0"
/sbin/ifconfig eth0 down
exit

Set the correct permissions for the script, which can be placed, say, in your home directory. 

cd /home/name-of-home-directory
/sbin/chmod +x wgo
/sbin/chmod 775 wgo

The script is then invoked, from a terminal window, by moving into your home directory;
./wgo

Or alternately, you can make an icon on the desktop to invoke the script. just make sure that you set the advanced permissions to root user under the Applications tab, advanced properties button.

TO DO

The last touch will be to set up the entire process to load automatically at boot.  I am still working on this.

Add using ndiswrapper in Puppy Linux to this page. DONE: see the next page.

You can refer any questions about this process to the Linuxcompatible forum page 3  that I frequent.



References:

1. Sourceforge ndiswrapper installation wiki page

2. Slackware installing Linksys WPM54G with ndsiwrapper-11

3. Linuxcompatible page


Page 4: The WMP54g on Puppy Linux