PO Box 1214 • La Pine • Oregon • 97739 • 541-410-2760

 

M
a
i
n

Home

  • Tech Notes
  • Showcase
  • What We Do
  • Downloads
  • Store
  • IMO
  • Contact Us
  •  
    Using Netgear WNDA3100 WiFi adapter with Linux

    Using Netgear WNDA3100 WiFi adapter with Linux

    Recently my wife's Compaq notebook's internal WiFi adapter stopped working. "lspci" didn't even show it on the bus. I purchased another unit and it didn't work so I figured the motherboard must be damaged in that region. The next thing to do was go USB.

    Getting a WiFi device that works with Linux is always a kind of crap shoot. I suppose a trip to the store, an internet connected device and loads of time could make a purchase a more sure thing. Or could shop on-line and compare units against the wireless site. But needless to say the USB unit I thought would work, didn't.

    I picked up a Netgear WNDA3100 v2 USB WiFi adapater at the local store. I wanted to get the notebook going ASAP so I needed something quick and this is what they had that I thought would have a good chance of working. Earlier versions of the chip in this device are supported with the rndis_wlan driver, but not this newer device.

    I'm currently running Debian 6 (squeeze). I will need to upgrade to 7 (wheezy) sometime soon. So this is what I did:

    1. I installed the ndiswrapper packages (dkms & utils, common comes along).
    2. I fired up my WinXP virtual machine and started the driver install.
    3. When it asked me to insert my adapter I dug through my temp folder (c:\Documents and Settings\Jon\Local Settings\Temp) and found the "winxp2000" folder in a "drivers" folder.
    4. I copied all of the files from the "winxp2000" folder into a temporary location on my Linux install.
    5. As root I ran "ndiswrapper -i bcmwlhigh5.inf" (the only "inf" file in the folder) from inside the temporary copy. Then I deleted the folder. It is not needed again unless you need to install again.
    6. As root I ran "modprobe ndiswrapper" to start the kernel module and plugged in the Netgear device.
    *VIOLA* I had a "wlan0" network adapter. Doing all of the normal wireless things with it worked from that point on.
     
    I typically use "wicd" to configure wireless devices as a normal user. However as this notebook is basically used in our house, Debian 6's wicd is buggy and its more steps than my wife likes, I configured wlan0 through the "/etc/network/interfaces", which would work on any Debian derived distribution (ubuntu, ...). To make sure ndiswrapper was loaded all the time I added "ndiswrapper" to the "/etc/modules" file. The remark in there is explanation enough. This too is a Debian and derivative OS tweak.
     
    "ndiswrapper" module could be loaded from the "/etc/network/interfaces" file or probably a "cooler" method would be to add a config file to "/etc/udev/rules.d". That way "ndiswrapper" would only load when the device is inserted. I was too lazy to lookup the proper incantations and I have found configuring udev to be a time consuming trial and error process, heavy on the error. I still have yet to see a good guide on udev. If someone knows of one please drop me an email.
     
    My method for getting the NDIS drivers required the use of windows to perform the extraction from the "Setup.exe" supplied by Netgear. Unfortunately I don't know af any other way to extract the required files. Some of the windows setup programs can be read as a ZIP, but not these. I suppose if all you have are Linux machines the best thing to do is to start the install on a friend's or family member's windows machine. Depending on version of windows used the temporary folder will be in different places.
     
    I used a windows VirtualBox VM that I keep for experimenting. I've setup a snapshot with a clean install. Then when I do something like this I simply click the close button, make sure that "power off" and "restore snapshot" are selected. This reverts the system to a point in time before I started the driver install. I suppose in the case of a real windows install you could complete the installation and uninstall it. But I haven't run the install to completion and my snapshot means that I don't have to worry about garbaging up a windows install.