SPY HILL Research
Spy-Hill.net

Poughkeepsie, New York [DIR] [UP]

D-Link WUA-2340 USB Wifi Adapter on Linux


This USB wifi adapter works with Linux (Fedora Core 6) with ndiswrapper (compiled and installed from source) and the D-Link Windows drivers.

Last updated: 3 October 2009

"D-Link WUA-2340 Rangebooster G USB Adapter"

This adapter works for me on an IBM NetVista (Model 6274-14U) and an IBM Thinkpad A22m, both running Fedora Core 6. Linux did not initially recognize the adapter at boot time, but it was simple to download and build the ndiswrapper package from source, and then use the Windows drivers from the vendor's CD.

The NDISwrapper is not a device driver. It is instead a kernel module which allows Linux to use the vendors' Windows drivers. It doesn't always work, and you may find that it works better if you get Windows drivers from somewhere else.

Building ndiswrapper 1.51 required the "kernel-devel" package, which may or may not be installed by default. It is not enough to have the "kernel-headers" package installed.

I had to reboot at one point so that I was running the same kernel as the "kernel-devel" package. When I did not have "kernel-devel" installed, or it didn't match the kernel I was running, I got an error message when trying to build ndiswrapper which told me to try setting the KBUILD environment variable to point to my kernel configuration.
To build ndiswrapper I simply changed into the top source directory and said `make`. While everything built fine, I got the warning
*** WARNING: This kernel seems to use 4K stack size option (CONFIG_4KSTACKS); many Windows drivers will not work with this option enabled. Disable CONFIG_4KSTACKS option, recompile and install kernel
I did not have to do this.

Once I had ndiswrapper installed I used the vendor's driver CD to install the Windows drivers. For this you need the "inf" file and the "sys" file. I found these on the CD at /cdrom/setup/Drivers/Drivers as NETA5AGU.inf and A5AGU.sys. Then I simply said

talisker:Drivers# ndiswrapper -i NetA5AGU.inf installing neta5agu ... forcing parameter MapRegisters from 256 to 64 forcing parameter MapRegisters from 256 to 64 forcing parameter MapRegisters from 256 to 64 forcing parameter MapRegisters from 256 to 64 forcing parameter MapRegisters from 256 to 64 forcing parameter MapRegisters from 256 to 64 forcing parameter MapRegisters from 256 to 64 forcing parameter MapRegisters from 256 to 64
To verify that the driver is installed:
talisker:Drivers# ndiswrapper -l neta5agu : driver installed
Then to make use of the driver I said:
talisker:root# modprob ndiswrapper talisker:root# iwconfig wlan0 IEEE 802.11g ESSID:off/any Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated Bit Rate=108 Mb/s Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
I could then configure the interface like any other wifi interface.

Identification:

Saying `lsusb` shows the card as
Bus 001 Device 003: ID 07d1:3a08 D-Link System

External links

  Copyright © 2009 by Spy Hill Research http://www.Spy-Hill.net/myers/help/wifi/WUA-2340.html (served by Islay.spy-hill.com) Last modified: 03 October 2009