Configuring the Netgear WG311 v3

Getting Started

This how-to was produced mostly using a Feisty Fawn live-cd session, and verified correct with Hardy. There may be differences in the procedure with earlier versions.

Limitations

There is currently no known driver for this device that will allow WPA encryption. You will have to run either using WEP or no encryption. Its been found that WPA works possibly only with a specific version of the driver. See this. I have managed to get WPA working perfectly with the 64bit driver linked below.

Check your chipset

First, double check that you have this exact model of the card by getting chipset information. Start a console and type in the following command:

lspci | grep Marvell

It should output something like this:

00:08.0 Ethernet controller: Marvell Technology Group Ltd. 88w8835 [Libertas] 802.11b/g Wireless (rev 03)

If yours looks like this, then you're in the right place. The numbers at the beginning of the line are system-specific, so don't worry about those. It's the rest of it you need to worry about. Once you've verified the chipset, proceed.

Getting ndiswrapper

As of this writing, there are no native Linux drivers for the Marvell 88w8835 Libertas chipset. However, the program ndiswrapper will let you use the Windows drivers. Unfortunately, ndiswrapper does not come installed by default on Feisty Fawn installation CDs. Furthermore, the packages necessary to install it aren't on the CD either. You have to download them. Which is irritating as hell, because you need the packages so that your network card will work. It's a chicken and egg situation. You'll need to download them at some other computer, or using an ethernet wired connection.

Either install ndiswrapper via an ethernet wired connection, or read the rest of this section to get it using another machine.

  • The ndiswrapper packages can be found at http://archive.ubuntu.com/ubuntu/pool/main/n/ndiswrapper/

    You need these two files:

    ndiswrapper-common_1.38-1ubuntu1_all.deb
    ndiswrapper-utils-1.9_1.38-1ubuntu1_i386.deb
    It's probably best to use the most recent version of ndiswrapper, so if the packages have been updated since this was written, get the most recent version. Just get one -common file and one -utils file. Download the files and copy them onto some portable media. A floppy disk will do if necessary, since the two files are only 48.9 KB total, but a thumb drive may be more convenient. One wonders why ndiswrapper isn't installed, and isn't even on the CD, given that many laptop users cannot even begin to get their network cards running without this package. 48.9 KB doesn't seem a lot of space to sacrifice on the ISO in exchange for a functioning network.

Getting driver files

The easiest source for WG311 drivers is directly from the chipset manufacturer, Marvell. You can download Windows driver files here:

http://www.marvell.com/drivers/upload/MV-S800374-00.zip (dead link)

You can download drivers from here:

ftp://downloads.netgear.com/files/wg311v3_1_0.zip (slow)

or

http://www.soft32.com/Download/Free/NETGEAR_WG311v3_80211g_Wireless_PCI_Adapter/4-181522-1.html

The file is 6.2 MB, but you don't need all of that. The zip file contains four versions of the driver - Win98, WinME, Win2K and WinXP - and a setup program, which of course is irrelevant for our purposes. Unzip the file and grab the subdirectory 'Driver/Windows 2000', which contains the actual driver for Win2K. This subdirectory is 540.8 KB, so you can still fit it on a floppy if necessary. We'll use the Windows 2000 driver, because it seems to work on several versions of Ubuntu with no problems. However, if you have trouble with one driver, then you can try one of the others. That is a general ndiswrapper guideline. I'll refer to the Win2K driver for the rest of this document.

Getting driver files - AMD 64 architecture

If you are using 64 bit version of Ubuntu, the above drivers will not work. Instead, you need to get drivers for 64 bit architecture. These drivers are third party (i.e., not from the chipset manufacturer) but work fine. Instructions are in this thread on ubuntu forums; in particular, see this post.

Installation

Installing ndiswrapper

When you don't have access to Internet on your Ubuntu box

Now that you've got your packages and driver files, return to your Ubuntu box. Copy all the files to your home directory, and then install the .deb packages. Your file manager may offer you the option to install the packages; I did it by right-clicking the files in Konqueror and selecting "Install Package" from the sub-menu labeled "Kubuntu Package Menu." In Ubuntu 8.04, simply double-clicking a package in Nautilus causes Package Installer to open. If you need to do it from the command line, the relevant command is:

dpkg -i <filename>

Do the -common package first, and then the -utils package.

When you have access to a wired internet connection on your Ubuntu box

In this case you can install ndiswrapper directly from the Synaptic Package Manager. You can find the Synaptic Package Manager listed under System >> Administration. Do a quick search in the box on the top-right for "ndiswrapper" and select the following files to install: ndisgtk, ndiswrapper-utils-1.9 and ndiswrapper-common. Click on 'Apply' and the ndiswrapper will be available in the terminal.

Verify that ndiswrapper is installed by typing this command at the console:

ndiswrapper -h

It should print out a list of command line options. If it doesn't, then ndiswrapper still isn't installed properly.

Installing your driver

Start a console, or return to your home directory if you've got one open already. Navigate to to the location of the .inf file, and then install it:

cd "WG311v3 V1.0/Driver/Windows 2000"
sudo ndiswrapper -i WG311v3.INF
installing wg311v3 ...

Now check to see that the inf file was installed. Note that the option specified in this next command is a lower-case L.

ndiswrapper -l
wg311v3 : driver installed
          device (11AB:1FAA) present

If yours does not list a device present, then you may need to explicitly instruct it to use the driver using this command:

ndiswrapper -a devid wg311v3

Replace "devid" with the PCI ID or the USB ID of your card, in the form XXXX:XXXX. To get those numbers, run the command lspci -n or lspci -nn (for PCI cards, the -nn option adds a human readable device name so you can easily identify the device your are targeting) or the command lsusb (for USB devices).

Once ndiswrapper lists both the driver and the device, you need to insert the kernel module. Thus:

sudo modprobe ndiswrapper

You may find that the terminal does not respond to this command. In this case, restart your system and enter the above command again. It should work now.

Once the command executes successfully, check to see whether it worked:

iwconfig

If iwconfig lists a "wlan0" network interface with a whole bunch of details, then it worked.

Lastly, to ensure that this is loaded each time you boot your computer, run this command:

sudo ndiswrapper -m

This will write a copy of the settings to your /etc/modprobe.d/ndiswrapper file.

Ubuntu 8.04: If the previous instruction gave you a 'deprecated' error, then ndiswrapper might not load automatically next time you start Ubuntu. Simply add the instruction "ndiswrapper" (without the commas) to the end of the "/etc/modules" file and reboot.

gksudo gedit /etc/modules

Wrap up

It'd be a good idea to make a backup copy of the ndiswrapper files and your driver in case you need them again in future. The next step is to configure your wireless card to connect to your particular access point, which is beyond the scope of this document. But you should now have a functional card at least.

WifiDocs/Device/Netgear_WG311_v3 (last edited 2013-01-05 13:21:21 by markrijckenberg)