How to install RT2870/RT3070 Wireless Driver?
Olivia Zamora
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 huband 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 7 5 Answers
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
cd mt7601/src
make
sudo make install
sudo mkdir -p /etc/Wireless/RT2870STA/
sudo cp RT2870STA.dat /etc/Wireless/RT2870STA/
sudo modprobe mt7601UstaAfterwards, it picks up in the GUI network tool. A reboot may be required.
Hope that helps.
4There'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-dkmsWhen the installation completes, click on the wi-fi network icon and you should see the USB adapter network interface.
3Before 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 manualNetworManager 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 restartAfter the above steps, proceed with @Hitsugaya198 solution and that works perfectly.
1System built-in driver (rt2800) works at least with my RT3072. I had to edit
/etc/udev/rules.d/70-persistent-net.rulesThere 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.cfgThat's just restart the machine. That the drive will be working.