1

Vid and pid of the product aren't registered in the driver.

lsusb

Bus 002 Device 010: ID 2001:3d04 D-Link Corp.

usb-devices:

Bus=02 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=10 Spd=480 MxCh=0

Ver=2.01 Cls=00(>ifc) Sub=00 Prot=00 MxPS=64 #Cfgs= 1

Vendor=2001 ProdID=3d04 Rev=00.00

Manufacturer=MediaTek

Product=802.11 n WLAN

SerialNumber=1.0

#Ifs= 1 Cfg#= 1 Atr=80 MxPwr=160mA

If#= 0 Alt= 0 #EPs= 8 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

uname -a:

Linux 3.13.0-49-generic #81-Ubuntu SMP Tue Mar 24 19:29:48 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Ubuntu 14.04.2 LTS

Pilot6
  • 88,764
  • 91
  • 205
  • 313
Dagumar
  • 21
  • 1
  • 6

3 Answers3

1

I have compiled the ratek driver http://cdn-cw.mediatek.com/Downloads/linux/2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2 .

It throws two errors but they could be corrected by replacing:

 "current_fsuid()" by "current_fsuid().val" 

 "current_fsgid()" by "current_fsgid().val"

Then:

make clean
make 
make install

At this point, I have compiled the driver.

Finally:

echo 'install rt2870sta modprobe --ignore-install rt2870sta ; /bin/echo "2001 3d04" > /sys/bus/usb/drivers/rt2870/new_id' | sudo tee /etc/modprobe.d/rt2870sta.conf

Now, If I execute iwconfig it shows another interface "ra0"

Greetings: Pilot6

Sources: http://ubuntuforums.org/showthread.php?t=1342593

Pilot6
  • 88,764
  • 91
  • 205
  • 313
Dagumar
  • 21
  • 1
  • 6
  • http://tutorialesapocrifos.blogspot.com.es/2010/04/wireless-instalar-drivers-rt2870-y.html – Dagumar May 29 '15 at 07:50
  • Can you write a better answer, that everyone can follow? – Pilot6 May 29 '15 at 08:21
  • No because it's not working. Now I get rt28xx initialized fail error in dmesg. If I can solve this I will rewrite the solution. – Dagumar May 29 '15 at 08:32
  • You probably need to blacklist rt2800usb. `echo "blacklist rt2800usb" | sudo tee /etc/modprobe.d/blacklist-rt2800usb.conf` – Pilot6 May 29 '15 at 08:44
  • And give output of ` modprobe -c | grep -i 2001 | grep -i 3d04` – Pilot6 May 29 '15 at 08:51
  • modprobe -c | grep -i 2001 | grep -i 3d04 : install rt2870sta modprobe --ignore-install rt2870sta; /bin/echo 2001 3d04 > /sys/bus/usb/drivers/rt2870/new_id – Dagumar May 29 '15 at 15:31
  • Will you finally give output of the command it previous comment? I asked 2 times already. But you keep posting that command. – Pilot6 May 29 '15 at 15:33
  • This is the output of modprobe -c .... install rt2870sta modprobe --ignore-install rt2870sta; /bin/echo 2001 3d04 > /sys/bus/usb/drivers/rt2870/new_id – Dagumar May 29 '15 at 15:34
  • Let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/24259/discussion-between-pilot6-and-dagumar). – Pilot6 May 29 '15 at 15:35
  • I have deleted the file which was producing this ouput. Now, the result of your command is empty – Dagumar May 29 '15 at 15:53
  • Please go to chat. There is a link in previous comment. – Pilot6 May 29 '15 at 15:54
1

I will probably be criticized, but I am adding this information, because it gives a clue how to install a driver for this device in Ubuntu.

Probably someone will write a complete step-by-step guide.

I analyzed a Windows driver and found out that this dongle is based on Mediatek rt2870 chip. It is not supported by linux kernel yet.

It is declared that rt2800usb should support this chip, but actually it does not.

Anyway VID & PID of this dongle are not mentioned in any of drivers.

But firmware for that chip is included in Ubuntu installation, it can be found at /lib/firmware/rt2870.bin. So there is no need to download the firmware file.

The rt2870sta driver for this chip can be downloaded from Mediatek site, but it is needed to be compiled from source.

This thread can give directions how to patch and compile it.

Pilot6
  • 88,764
  • 91
  • 205
  • 313
0

Update:

lsmod says that no device is using rt2870sta but the device is connected

I have blacklisted rt2800usb

Dagumar
  • 21
  • 1
  • 6
  • Please do not add answers. Write in comments to the question or to any of answers. Please read my comments and provide output of `modprobe -c | grep -i 2001 | grep -i 3d04` – Pilot6 May 29 '15 at 14:57