Networking :: dwl-g122 almost working
Hi all,
I am trying to get a Dlink dwl-g122 (h/w version C1) USB wireless LAN card to work with DSL. My research leads me to conclude that this card uses the Ralink RT73 chipset. This means the Dr71WU.inf and .sys drivers for ndiswrapper.
After a couple of days of playing around it's almost working. I can load the .inf file with ndiswrapper and modprobe it. The dmesg log reports the correct mac address of my usb stick and the LAN card activity light comes up. I can see my access point via "iwlist wlan0 scan", but here's where the problems start. I iwconfig my parameters but the "pump" reports "Operation failed". On reviewing the iwconfig output my mode is set to Ad-hoc. My access point says Mode:Managed. But try as I might, I cannot set wlan0 to mode Managed (via iwconfig) - it refuses to change from Ad-Hoc - I'm sure this is the problem.
I enclose a few selected command responses in case it helps
[dmesg log]
ndiswrapper version 1.14 loaded (preempt=no,smp=yes)
usb.c: registered new driver ndiswrapper
ndiswrapper: driver dr71wu (D-Link,11/03/2005, 1.0.1.0) loaded
wlan0: vendor: 'D-Link USB Wireless LAN Card'
wlan0: ndiswrapper ethernet device 00:17:9a:77:19:d2 using driver dr71wu, 07D1:3C03.F.conf
wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
dsl@venom:~$ ndiswrapper -l
Installed drivers:
dr71wu driver installed, hardware present
dsl@venom:~$ sudo iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 00:0F:66:4B:CD:80
ESSID:""
Protocol:IEEE 802.11g
Mode:Managed
Frequency:2.462GHz
Quality:0/100 Signal level:-76 dBm Noise level:-256 dBm
Encryption key:on
Bit Rate:1Mb/s
Bit Rate:2Mb/s
Bit Rate:5.5Mb/s
Bit Rate:11Mb/s
Bit Rate:18Mb/s
Bit Rate:24Mb/s
Bit Rate:36Mb/s
Bit Rate:54Mb/s
Bit Rate:6Mb/s
Bit Rate:9Mb/s
Bit Rate:12Mb/s
Bit Rate:48Mb/s
Extra:bcn_int=100
Extra:atim=0
dsl@venom:~$ iwconfig wlan0 channel 11 mode managed essid "my essid" key "my key"
dsl@venom:~$ iwconfig wlan0
Warning: Driver for device wlan0 recommend version 18 of wireless extensions, but has been compiled with version 16, therefore some driver features may not be available
wlan0 IEEE 802.11g ESSID:"my essid"
Mode:Ad-Hoc Frequency:2.462GHz Cell: 00:00:00:00:00:00
Bit Rate:11Mb/s Tx-Power:20 dBm Sensitivity=-121 dBm
RTS thr:2347 B Fragment thr:2346 B
Encryption key:xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx Security mode:restricted
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
dsl@venom:~$ sudo pump -i wlan0
Operation failed.
Can anyone help?
Cheers from New Zealand
Andrew
Does wlcardconfig help?
Tried this and it hasn't made any difference
Any other ideas?
Success!...
After spending rather too long trying to get ndiswrapper to work, I tossed that idea and decided to build the native linux driver. And I'm now posting this entry from my dsl box using the DWL-G122
In case it helps others, here's how I did it.
My base environment is DSL v3.1 booting from USB drive (no HDD)
HP t5000 thin client (733mhz, 256 MB ram)
Dlink DWL-G122 USB wireless LAN card H/W ver C1
Wireless access point is a Linksys WRT54G
Obtain the following from the mydsl repository site
gnu-itils.unc
gcc1-with-libs.unc
kernelsource.dsl
and install these via the mydsl gui (or mydsl-load)
Obtain the driver source from the RALINK web site. The one I'm using is called
RT73_Linux_STA_Drv1.0.3.6.tar.gz
Untar it
tar -xzvf RT73_Linux_STA_Drv1.0.3.6.tar.gz
cd to the "Modules" directory
Using chmod you need to make rtmp_def.h writeable and Configure executable
Now make the following modification to register the dlink DWL-G122 ver C1
In rtmp_def.h in the section at the end untitled RT73_USB_DEVICES, add
{USB_DEVICE(0x07d1,0x3c03)}
You can confirm the two hex values by checking the output of the lsusb command (with the device plugged of course)
Read the "readme" in the Modules directory for compile instructions
Some points to note when I tried it:
"make Configure" will give some error messages about not finding
/usr/src/linux-2.4.26/Makefile
I ignored these as they appeared to result from checking the version of the kernel
"make all" initially fails because it can't find "cc" - make a symlink to gcc by going
sudo ln -s /usr/bin/gcc /usr/bin/cc
and now the "make all" completes without error
Keep following the readme instructions and copy the rt73.bin and rt73sta.dat into /etc/Wireless/RT73STA (which you will have to create first using mkdir)
Edit the RT73sta.dat as required to set your ssid, security details (I'm currently using WEP, but will try WPA shortly). The readme give details of parameter values.
Don't forget you need to add /etc/Wireless/ to .filetool.lst to ensure theses files are backed up between restarts (while you're at it, make sure the RT73_Linux_STA_Drv1.0.3.6/ directory is backed up too)
Now insmod the driver. Make sure you have the device plugged in and do a
sudo /sbin/insmod RT73_Linux_STA_Drv1.0.3.6/Modules/rt73.o
Now check dmesg output and you should be rewarded with
usb.c: registered new driver rt73
idVendor = 0x7d1, idProduct = 0x3c03
Now issue
sudo ifconfig rausb0 up
and check dmesg again, you should see
rt73 driver version - 1.0.3.6
now get an ip address using dhcp
sudo pump -i rausb0
Check an ifconfig rausb0 and you should see you're newly obtained ip address
original here.