Ubuntu – How to get an RT3290 wireless card to work

16.04driversnetworkingralinkwireless

After updating to 16.04 my Wifi card does not work anymore. And I have no idea what to do.

lspci

04:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe

sudo lshw -C network

  *-network DISABLED      
       description: Wireless interface
       product: RT3290 Wireless 802.11n 1T/1R PCIe
       vendor: Ralink corp.
       physical id: 0
       bus info: pci@0000:04:00.0
       logical name: wlo1
       version: 00
       serial: 70:18:8b:81:85:09
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rt2800pci driverversion=4.4.0-21-generic firmware=0.37 latency=0 link=no multicast=yes wireless=IEEE 802.11bgn
       resources: irq:19 memory:d0610000-d061ffff
  *-network
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:05:00.0
       logical name: enp5s0
       version: 0c
       serial: a4:5d:36:c9:2b:c8
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full firmware=rtl8168g-2_0.0.1 02/06/13 ip=192.168.100.6 latency=0 link=yes multicast=yes port=MII speed=1Gbit/s
       resources: irq:32 ioport:2000(size=256) memory:d0500000-d0500fff memory:d0400000-d0403fff

lsmod

Module                  Size  Used by
hp_wmi                 16384  0
sparse_keymap          16384  1 hp_wmi
snd_hda_codec_hdmi     53248  1
intel_rapl             20480  0
x86_pkg_temp_thermal    16384  0
intel_powerclamp       16384  0
coretemp               16384  0
kvm_intel             172032  0
arc4                   16384  2
kvm                   536576  1 kvm_intel
snd_hda_codec_idt      57344  1
snd_hda_codec_generic    77824  1 snd_hda_codec_idt
rt2800pci              16384  0
rt2800mmio             20480  1 rt2800pci
irqbypass              16384  1 kvm
rt2800lib              94208  2 rt2800pci,rt2800mmio
crct10dif_pclmul       16384  0
rt2x00pci              16384  1 rt2800pci
crc32_pclmul           16384  0
snd_hda_intel          36864  3
rt2x00mmio             16384  2 rt2800pci,rt2800mmio
snd_hda_codec         135168  4 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_codec_generic,snd_hda_intel
rt2x00lib              57344  5 rt2x00pci,rt2800lib,rt2800pci,rt2800mmio,rt2x00mmio
aesni_intel           167936  0
mac80211              737280  3 rt2x00lib,rt2x00pci,rt2800lib
aes_x86_64             20480  1 aesni_intel
uvcvideo               90112  0
lrw                    16384  1 aesni_intel
gf128mul               16384  1 lrw
snd_hda_core           73728  5 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
glue_helper            16384  1 aesni_intel
snd_hwdep              16384  1 snd_hda_codec
ablk_helper            16384  1 aesni_intel
cryptd                 20480  2 aesni_intel,ablk_helper
snd_pcm               106496  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
videobuf2_vmalloc      16384  1 uvcvideo
videobuf2_memops       16384  1 videobuf2_vmalloc
input_leds             16384  0
videobuf2_v4l2         28672  1 uvcvideo
videobuf2_core         36864  2 uvcvideo,videobuf2_v4l2
serio_raw              16384  0
snd_seq_midi           16384  0
v4l2_common            16384  1 videobuf2_v4l2
snd_seq_midi_event     16384  1 snd_seq_midi
videodev              176128  4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2
snd_rawmidi            32768  1 snd_seq_midi
cfg80211              565248  2 mac80211,rt2x00lib
media                  24576  2 uvcvideo,videodev
snd_seq                69632  2 snd_seq_midi_event,snd_seq_midi
joydev                 20480  0
snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              32768  2 snd_pcm,snd_seq
lpc_ich                24576  0
rtsx_pci_ms            20480  0
eeprom_93cx6           16384  1 rt2800pci
memstick               20480  1 rtsx_pci_ms
crc_ccitt              16384  1 rt2800lib
snd                    81920  17 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_idt,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device
soundcore              16384  1 snd
mei_me                 36864  0
mei                    98304  1 mei_me
shpchp                 36864  0
8250_fintek            16384  0
hp_accel               28672  0
lis3lv02d              20480  1 hp_accel
input_polldev          16384  1 lis3lv02d
hp_wireless            16384  0
mac_hid                16384  0
parport_pc             32768  0
ppdev                  20480  0
lp                     20480  0
parport                49152  3 lp,ppdev,parport_pc
autofs4                40960  2
hid_generic            16384  0
usbhid                 49152  0
hid                   118784  3 hid_generic,usbhid
psmouse               126976  0
amdkfd                122880  1
amd_iommu_v2           20480  1 amdkfd
rtsx_pci_sdmmc         24576  0
radeon               1511424  1
i915                 1208320  4
ttm                    98304  1 radeon
i2c_algo_bit           16384  2 i915,radeon
drm_kms_helper        139264  2 i915,radeon
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
ahci                   36864  2
drm                   360448  9 ttm,i915,drm_kms_helper,radeon
r8169                  81920  0
libahci                32768  1 ahci
rtsx_pci               53248  2 rtsx_pci_ms,rtsx_pci_sdmmc
mii                    16384  1 r8169
wmi                    20480  1 hp_wmi
video                  40960  1 i915
fjes                   28672  0

dmesg

[   21.061887] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt3290.bin'
[   21.063536] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.37
[   22.678723] ieee80211 phy0: rt2800_wait_wpdma_ready: Error - WPDMA TX/RX busy [0x00000068]
[   24.278717] ieee80211 phy0: rt2800_wait_wpdma_ready: Error - WPDMA TX/RX busy [0x00000068]
[   24.278728] ieee80211 phy0: rt2800pci_set_device_state: Error - Device failed to enter state 4 (-5)
[   51.499485] ieee80211 phy0: rt2800_wait_wpdma_ready: Error - WPDMA TX/RX busy [0x00000068]
[   53.099518] ieee80211 phy0: rt2800_wait_wpdma_ready: Error - WPDMA TX/RX busy [0x00000068]
[   53.099529] ieee80211 phy0: rt2800pci_set_device_state: Error - Device failed to enter state 4 (-5)

Best Answer

I encountered the same problem on upgrading from 15.10 to 16.04. I managed to resolve the issue in my case by following the advice of others, specifically:

  1. How to install wifi driver Ralink RT3290 and following second answer, steps 1 to 8 about halfway down the post
  2. I do have to enable my wireless card by opening a terminal window and issuing these two commands:

    sudo ifconfig eno1 up and
    sudo service network-manager restart

eno1 is the logical name for my wireless card (found in output of sudo lshw -C network command).

You can automate the two commands in step 2. by adding them to /etc/rc.local (see How can I make "rc.local" run on startup? can I make “rc.local” run on startup?])