D-Link USB dongle not working in Linux
Q I have a problem with a D-Link DWL-G122 Rev C USB dongle. I tried NdisWrapper on another D-Link DWL-G122 Rev B, and it works with the Windows drivers that comes with it. However, with Rev C, I just can't get it working. Is there any way to determine which is the exact INF file to be used? Google tells me that the Rev C is using the Ralink RT73 chipset. How can I confirm it locally, with Linux (Mepis)? Is this RT73 the same as any of the RT2x00 chipsets?
A Sadly, this is an all too common problem. Manufacturers will change the internals of a product while leaving the outward appearance and name the same. This does not affect Windows users as long as they use the driver disc supplied with the device. You need to take the same approach with NdisWrapper - use the INF file from the disc that came with the device, probably rt73.inf. You can identify the device with the lsusb command. This will give you two hexadecimal numbers for the manufacturer and product IDs. For example, my D-Link shows
'Bus 001 Device 005: ID 2001:3700 D-Link Corp. [hex] DWL-122 802.11b'
where 2001 and 3700 are the manufacturer and product IDs respectively. With these numbers you can find out more information at http://qbik.ch/usb/devices. The RT73 and RT25xx are different chipsets but the RT2x00 project supports the RT73 too, and the RT61, yet another variation. There is also a standalone RT73 package from the RT2x00 site at http://rt2x00.serialmonkey.com. This is marked as a legacy package, but it is probably easier to install, so give it a try first. Download the rt73-CVS tarball, unpack it and follow the instructions in the README file. If this does not work for you, try the new RT2x00 driver set, which pulls the RT2400, RT2500, RT2700, RT61 and RT73 drivers into a single package.
Being so new, it has to be downloaded from the project's Git repository, there is a link to full instructions on doing this on their downloads page. Another option is the Linux driver for the RT73 available from Ralink's website, currently at www.ralink.com.tw/data/RT73_Linux_STA_Drv184.108.40.206.tar.gz. The archive contains full installation instructions. You will need to compile the driver from the source code in the tarball, which means you will need your kernel source package and GCC installed, from the standard Mepis packages. You will also need to install a firmware file from www.ralinktech.com.tw/data/RT71W_Firmware_V1.8.zip. The situation should become a lot clearer as the RT2x00 driver package matures. I am no fan of NdisWrapper, but it is easy to see why people use it when it so often appears to 'just work'.
Follow us on Identi.ca or Twitter