I have an alfa awus036h, but I don't know how to install the driver on ubuntu 14.04. When the device is plugged and wireless switch is off. This is is the output of lsusb.

Bus 001 Device 002: ID 8087:8000 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 007: ID 0cf3:3004 Atheros Communications, Inc. 
Bus 002 Device 004: ID 174f:14b2 Syntek 
Bus 002 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 015: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Bus 002 Device 002: ID 12d1:14dc Huawei Technologies Co., Ltd. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

and this what I get from dmesg command

[ 3083.881796] usb 2-3: new high-speed USB device number 16 using xhci_hcd
[ 3084.093055] usb 2-3: New USB device found, idVendor=148f, idProduct=3070
[ 3084.093059] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3084.093061] usb 2-3: Product: 802.11 n WLAN
[ 3084.093063] usb 2-3: Manufacturer: Ralink
[ 3084.270316] usb 2-3: reset high-speed USB device number 16 using xhci_hcd
[ 3084.463232] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff88009a783e48
[ 3084.463239] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff88009a783e00
[ 3084.463243] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff88009a783e90
[ 3084.463247] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff88009a783ed8
[ 3084.463250] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff88009a783f20
[ 3084.463253] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff88009a783f68
[ 3084.463256] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff88009a783fb0
[ 3084.463626] ieee80211 phy3: rt2x00_set_rt: Info - RT chipset 3070, rev 0201 detected
[ 3084.473953] ieee80211 phy3: rt2x00_set_rf: Info - RF chipset 0005 detected
[ 3084.474414] ieee80211 phy3: Selected rate control algorithm 'minstrel_ht'

but when I switch the wireless to on, the lsusb command just hangs and not getting any output untill I remove the device. and this is the output of dmesg

[ 3276.484226] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 3276.484621] ieee80211 phy3: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[ 3276.484648] ieee80211 phy3: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.22
[ 3276.651111] usb 2-3: USB disconnect, device number 16
[ 3277.148218] ieee80211 phy3: rt2x00usb_vendor_request: Error - Vendor Request 0x07 failed for offset 0x1114 with error -19
[ 3277.148283] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
[ 3278.749131] ieee80211 phy3: rt2800_wait_wpdma_ready: Error - WPDMA TX/RX busy [0xffffffff]
[ 3279.053427] usb 2-3: new high-speed USB device number 17 using xhci_hcd
  • You'd probably have better luck if you ran one device or the other, not both. The wireless driver for your device, rt2800usb is already installed. – chili555 Jun 27 '15 at 21:02
  • The other one is built-in. I can do anything to make the external one work. – Ahmed Hegazy Jun 27 '15 at 21:50
  • I followed this answer askubuntu.com/a/168046/40082 to disable my built-in one and now it's disabled but this doesn't help at all. – Ahmed Hegazy Jun 27 '15 at 22:13
  • You can download it from here, and follow the Read Me instructions. – Bilal Jul 9 '15 at 11:03
  • @Serphiroth This driver is for the linux kernel 2.4 and 2.6 series. – Ahmed Hegazy Jul 9 '15 at 11:07

I have a device that uses the same driver, just labelled ralink USB Wifi Dongle. This is what I did to get mine to work:

UPDATE: You may have to download kernel headers, if you don't have them already:

sudo apt-get install linux-headers-$(uname -r)

Plug the dongle in, and run the following lines in a terminal:

git clone https://github.com/porjo/mt7601.git 
cd mt7601/src
sudo make install
sudo mkdir -p /etc/Wireless/RT2870STA/
sudo cp RT2870STA.dat /etc/Wireless/RT2870STA/
sudo modprobe mt7601Usta

Afterwards, it picks up in the GUI network tool. A reboot may be required.

Hope that helps.

  • I'm sorry that this did not work at all – Ahmed Hegazy Jul 16 '15 at 1:08
  • No harm no foul. It worked for me, still does. I have to rerun it everytime i get a new kernel version. Sorry I couldn't help. – Louis Parkin Jul 16 '15 at 18:54
  • It worked just fine on Ubuntu 14.04, thanks. – Mohammad ZeinEddin Feb 15 '16 at 11:02
  • That repository no longer exists. – GuiRitter Aug 9 '19 at 23:01

There's a ppa repo for this - MT7601 STA driver. I have tested it for RT2870 driver and it worked for me.

Plug your USB adapter in and run the following commands:

sudo add-apt-repository ppa:thopiekar/mt7601
sudo apt-get update
sudo apt-get install mt7601-sta-dkms

When the installation completes, click on the wi-fi network icon and you should see the USB adapter network interface.

  • I'll look for my old dongle and try this solution. Usually had to rebuild and patch kernel after every kernel update from canonical. – Louis Parkin Oct 3 '16 at 12:42
  • 1
    On Debian testing, I also needed to run sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D51DB14E9FFECCF3 after adding the PPA, otherwise it would fail with "GPG error: ... The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D51DB14E9FFECCF3" – Vicky Chijwani Jan 10 '17 at 16:38
  • ... but ultimately it didn't work. This is not worth the effort for me. I'm returning this and getting a new dongle, like the TP-LINK TL-WN722N listed in this article, as the drivers for it are built into Linux. – Vicky Chijwani Jan 10 '17 at 17:13

Before proceeding onto @Hitsugaya198 solution you have to diable built-in wifi adapters as below.

Add the following line to /etc/network/interfaces:

iface wlan0 inet manual

NetworManager don't manage interfaces configured in the interfaces file. Replace wlan0 with the interface you want to disable, if it's not the name of the built-in interface.

Then restart network manager

sudo service network-manager restart

After the above steps, proceed with @Hitsugaya198 solution and that works perfectly.

  • I doesn't work for me too :( – Ahmed Hegazy Mar 25 '16 at 2:03

System built-in driver (rt2800) works at least with my RT3072. I had to edit


There was another adapter with the same chipset associated with wlan1, where I wanted my device to be managed. Just change the mac address or insert a new line:

# USB device 0x:0x (rt2800usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1"

where xx... is the mac adress of your card obtainable by:

sudo lshw -C network

if you are using debian 8 or debian 9, as well as ubuntu from 16 the drive will already be installed. The problem is that the drive can't handle the name that's given the interface. For the drive to work just rename the card. in the file /etc/ default/grub change lines so that it looks like this:

GRUB_CMDLINE_LINUX = "net.ifnames = 0 biosdevname = 0" 

then run the following command:

sudo grub-mkconfig -o /boot/grub/grub.cfg

That's just restart the machine. That the drive will be working.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.