Recently, I bought a D-Link DWA-140 after digging online that it works under Linux (if only by using the drivers of the chipset maker at times). Big surprise when I plugged it in it doesn't work. Now it does, but [b369t3x4j]only[/b369t3x4j] with the drivers from Ralink. But the path was a weird journey.
All of this is on Ubuntu 12.04
$ uname -a
Linux marnie 3.2.0-10-generic #17-Ubuntu SMP Thu Jan 19 18:50:46 UTC 2012 i686 i686 i386 GNU/Linux
1) The device is not in usb.ids. Well, it is, but with another vendor id. Official usb.ids has this
07d1 D-Link System
3c15 DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT2870]
But lsusb gives me
$ lsusb | grep "D-Link"
Bus 001 Device 004: ID 2001:3c15 D-Link Corp.
Right device id, wrong vendor id. After I figured out that this might be why rt2800usb doesn't attach to the device, I tried to fix it. First, edit usb.ids
2001 D-Link System
3c15 DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT2870] # <-- I pasted this!
2) Now I do
# modprobe rt2800usb
# echo "2001 3c15" > /sys/bus/usb/drivers/rt2800usb/new_id
But this doesn't work. I get
$ dmesg | grep rt2
[12347.900961] usbcore: registered new interface driver rt2800usb
[12348.244119] phy0 -> rt2800_init_eeprom: Error - Invalid RT chipset detected.
[12348.244134] phy0 -> rt2x00lib_probe_dev: Error - Failed to allocate device.
3) Next, I tried the driver from Ralink (2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V220.127.116.11_DPO). With that, the device is recognized and usable. I get
ra0 Ralink STA ESSID:"11n-AP" Nickname:"RT2870STA"
Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Link Quality=10/100 Signal level:0 dBm Noise level:0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
I suppose that this means that the device actually uses the rt2870 chip (Is there a way to make sure?)
Now the question is there a chance to get this beast to work with rt2800usb? What do you need to debug what's going wrong here? Logs? etc.
Thanks in advance!
I see u are running 3.2.0 kernel and ralink wifi.
Check out similar problem at redhat bugzilla
https//bugzilla.redhat.com/show_bug.cg ... &id=785533
Looks like not only rt61pci is affected on 3.2.x kernels, but some other ralinks.
Try compiling open source driver with DEBUG enabled.
Hope this helps
Aha! Although enabling those DEBUG variables didn't help, at least I now know what chipset that "thing" uses
[code2srwimv5][ 9668.744618] phy0 -> rt2x00_set_chip: Info - Chipset detected - rt: 5392, rf: 000f, rev: 0222.[/code2srwimv5]
5392. Never trust any label or device IDs. I certainly hate when they do this.
And so [b2srwimv5]I still hate WLAN sticks[/b2srwimv5]!