Tips Linux Explorers   All Things Linux Forum   Great Linux Links   LinuxClues.com   Hometown    



WIN-DRIVERS for WLAN-CARDS


Some vendors refuses to release specs or even a binary Linux driver for their WLAN cards. But there is hope: Ndiswarapper:

QUOTE (Info @ Homepage)
ndiswrapper tries to solve this by making a kernel module that can load Ndis (Windows network driver API) drivers. The goal is not to implement all of the Ndis API, but to implement the functions needed to get cards without Linux drivers to work.

Homepage ndiswrapper: http://ndiswrapper.sourceforge.net

What is Ndis ? NDIS = Network Driver Interface Specification, read more about it here: http://www.ndis.com/

Now, how to get these Wlan Cards to work ? Here is the Tip from Martin Ultima:

QUOTE (martinultima @ forum)
Basic Steps

Make sure you have kernel 2.4.20 or higher (2.6 recommended), with all sources !!!

Also, make sure you have a PCI or PCMCIA (PC-Card) wireless adapter.  USB doesn't really work too well at the moment.  I have a NETGEAR WG311v2 and it works perfectly.

Download the latest version of NdisWrapper from its SF.net Project Page.

Save it to your home directory.

Extract it using gunzip ndiswrapper-0.1.0.tar.gz && tar -xvf ndiswrapper-0.1.0.tar (substitute 0.1.0 for whatever version you have).

su root so that you can be administator.

Move NdisWrapper to (root's) home folder:  mv ndiswrapper-0.1.0 ~

cd ~/ndiswrapper-0.1.0

To compile it, run:  make && make install
(The documentation says only use the latter, but that doesn't seem to work on Slack.)

Now, insert your driver CD and mount it.  cd to wherever the Windows XP driver is.  Now, run:  mkdir ~/wireless-driver && cp -r * ~/wireless-driver from the Windows XP folder.

cd ~/wireless-driver

(Better still be root )

Run ls *.inf.  After you find the .inf file, run:  ndiswrapper -i ./filename.inf.  (filename being the .inf file's filename, of course )  If it worked, ndiswrapper -l will report if your driver and hardware have been found.

Has the driver been found?  Run modprobe ndiswrapper to load the kernel module.

Use iwconfig to configure your card; the NdisWrapper INSTALL file (which I've based most of this on) and man iwconfig will be able to tell you more.

Once it's configured, run ifconfig wlan0 up (or wlan1 or whatever your system uses).

ndiswrapper -m should automate the process.



Extra Steps for Slackware

(No slacking off here!  )

It took me forever to get my wireless card working on Slackware, because it failed to automate the first hundred times, but I got it working.  The trick is to create a file called /sbin/startwireless and then set /etc/rc.d/rc.inet1 to run this new command.  Make sure it's executable!!    (chmod 755 /sbin/startwireless)

Now, the commands I have are:

CODE

modprobe ndiswrapper
iwconfig wlan0 mode "Managed" essid "[i](essid goes here)[/i]" ap "[i](access point MAC address goes here)[/i]"
ifconfig wlan0 192.168.0.9 up broadcast
ip link set dev wlan0 up
dhcpcd wlan0


You can change the IP address on the third line; this is the card's address, and you should obviously change it for each system if you have more than one.  I prefer this one because it doesn't interfere with my other devices, and it lets me have a fixed internal IP address on my network for if I want to set up port forwarding to run a Web server on my PC or something.  (I've done it before.)

By the way...

Don't forget the very last line!!  That's the most important one!!  (The one that took me forever to find )  It sets up DHCP on the wireless card, which is very important!!



Thanks Martin ! . . . . do expect a few PMs from people that have questions on this, because it seems quiete a hack.



Bruno


-- Oct 5 2004 ( Revised Dec 13 2005 ) --


Tips Linux Explorers   All Things Linux Forum   Great Linux Links   LinuxClues.com   Hometown