Problem with Ralink RT3290 after automatic update of Ubuntu 12.04

Before, I already had this problem for 2 times and already solved with tutorial on this web (http://rricketts.com/installing-ralink-rt3290-wireless-drivers-in-ubuntu-12-04/).
But on July 18th 2014, I did an update with which I forgot the detail (it was not from the list, it was like installing a new update for hardware), and then the wifi cannot work until now. I already tried several ways on other website but still it did not work at all.
Is there any upgrade that Linux made within above date? Which could make all the old tutorial didn’t work?
Pls help…

Does wireless work if you boot the previous kernel ?

Still not working

OK, can you post the output from:

sudo lshw -C network

and

lsusb

and

lspci -vnn | grep -i net

and

iwconfig

and

ifconfig

and

rfkill list

and

iwlist scanning

sudo lshw -C network
*-network UNCLAIMED
description: Network controller
product: RT3290 Wireless 802.11n 1T/1R PCIe
vendor: Ralink corp.
physical id: 0
bus info: pci@0000:01:00.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: latency=0
resources: memory:92510000-9251ffff
*-network
description: Ethernet interface
product: RTL8101E/RTL8102E PCI Express Fast Ethernet controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: eth0
version: 07
serial: a0:1d:48:d2:b6:71
size: 100Mbit/s
capacity: 100Mbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=full ip=192.168.1.101 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
resources: irq:41 ioport:3000(size=256) memory:92404000-92404fff memory:92400000-92403fff memory:7eb00000-7eb0ffff

lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 04f2:b40d Chicony Electronics Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0fca:8004 Research In Motion, Ltd. Blackberry Handheld

lspci -vnn | grep -i net
01:00.0 Network controller [0280]: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe [1814:3290]
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 07)

iwconfig
eth0 no wireless extensions.

lo no wireless extensions.

ifconfig
eth0 Link encap:Ethernet HWaddr a0:1d:48:d2:b6:71
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a21d:48ff:fed2:b671/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:444423 errors:0 dropped:0 overruns:0 frame:0
TX packets:284105 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:496495409 (496.4 MB) TX bytes:35490331 (35.4 MB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:11718 errors:0 dropped:0 overruns:0 frame:0
TX packets:11718 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1260740 (1.2 MB) TX bytes:1260740 (1.2 MB)

rfkill list
NOTHING HAPPENED

iwlist scanning
eth0 Interface doesn’t support scanning.

lo Interface doesn’t support scanning.

PLEASE HELP WITH TUTORIAL / STEPS
Thank you

Can you post up the results of:

lsmod

And also:

dmesg | grep -i net

Can you also run:

sudo updatedb

and then post the output from:

uname -a

and

locate rt3290sta.ko

and

modinfo rt3290sta

You say the instructions from ricketts used to work … where did they fail this time ?

I don’t know either, like I said, I already used Ricketts instruction twice and it works, but after updating something, then it couldn’t work at all.

lsmod
Module Size Used by
bnep 19884 2
rfcomm 74748 0
bluetooth 411140 10 bnep,rfcomm
parport_pc 32866 0
ppdev 17711 0
uvcvideo 82247 0
snd_hda_codec_hdmi 46945 1
videobuf2_core 40972 1 uvcvideo
snd_hda_codec_realtek 62235 1
videodev 139761 2 uvcvideo,videobuf2_core
binfmt_misc 17508 1
videobuf2_vmalloc 13216 1 uvcvideo
videobuf2_memops 13362 1 videobuf2_vmalloc
usb_storage 66714 0
snd_hda_intel 57222 3
snd_hda_codec 199156 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
i915 821500 3
snd_hwdep 13613 1 snd_hda_codec
snd_pcm 107140 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq_midi 13324 0
snd_rawmidi 30465 1 snd_seq_midi
rtsx_pci_ms 18320 0
snd_seq_midi_event 14899 1 snd_seq_midi
drm_kms_helper 53540 1 i915
memstick 16968 1 rtsx_pci_ms
dm_multipath 27401 0
psmouse 113295 0
drm 308868 4 i915,drm_kms_helper
snd_seq 66061 2 snd_seq_midi,snd_seq_midi_event
joydev 17575 0
rtsx_pci_sdmmc 23667 0
scsi_dh 14873 1 dm_multipath
rtsx_pci 46133 2 rtsx_pci_ms,rtsx_pci_sdmmc
snd_timer 30038 2 snd_pcm,snd_seq
snd_seq_device 14497 3 snd_seq_midi,snd_rawmidi,snd_seq
serio_raw 13462 1
mac_hid 13253 0
snd 69754 17 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_seq_midi,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
hp_wmi 18202 0
sparse_keymap 13890 1 hp_wmi
hp_accel 26012 0
i2c_algo_bit 13564 1 i915
lis3lv02d 20280 1 hp_accel
mei_me 18674 0
soundcore 12680 1 snd
mei 87127 1 mei_me
video 19914 1 i915
snd_page_alloc 18798 2 snd_hda_intel,snd_pcm
lpc_ich 21163 0
wmi 19363 1 hp_wmi
input_polldev 13896 1 lis3lv02d
hp_wireless 12637 0
disable_mmc 13007 0
lp 17799 0
parport 42481 3 parport_pc,ppdev,lp
dm_mirror 22356 0
dm_region_hash 21010 1 dm_mirror
dm_log 18527 2 dm_mirror,dm_region_hash
btrfs 867337 0
ahci 30063 2
libahci 32669 1 ahci
r8169 73299 0
mii 13981 1 r8169
raid6_pq 97812 1 btrfs
xor 21411 1 btrfs
libcrc32c 12644 1 btrfs

dmesg | grep -i net
[ 0.142824] NET: Registered protocol family 16
[ 3.400823] NetLabel: Initializing
[ 3.400825] NetLabel: domain hash size = 128
[ 3.400826] NetLabel: protocols = UNLABELED CIPSOv4
[ 3.400841] NetLabel: unlabeled traffic allowed by default
[ 3.416395] NET: Registered protocol family 2
[ 3.416791] NET: Registered protocol family 1
[ 3.848789] microcode: Microcode Update Driver: v2.00 [email protected], Peter Oruba
[ 3.849159] audit: initializing netlink socket (disabled)
[ 4.659664] NET: Registered protocol family 10
[ 4.659852] NET: Registered protocol family 17
[ 4.806509] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[ 9.686485] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 15.703639] type=1400 audit(1407205806.535:3): apparmor=“STATUS” operation=“profile_load” profile=“unconfined” name=“/usr/lib/NetworkManager/nm-dhcp-client.action” pid=973 comm=“apparmor_parser”
[ 15.703673] type=1400 audit(1407205806.535:6): apparmor=“STATUS” operation=“profile_replace” profile=“unconfined” name=“/usr/lib/NetworkManager/nm-dhcp-client.action” pid=979 comm=“apparmor_parser”
[ 15.704289] type=1400 audit(1407205806.535:8): apparmor=“STATUS” operation=“profile_replace” profile=“unconfined” name=“/usr/lib/NetworkManager/nm-dhcp-client.action” pid=973 comm=“apparmor_parser”
[ 15.704311] type=1400 audit(1407205806.535:10): apparmor=“STATUS” operation=“profile_replace” profile=“unconfined” name=“/usr/lib/NetworkManager/nm-dhcp-client.action” pid=979 comm=“apparmor_parser”
[ 19.368947] NET: Registered protocol family 31
[ 19.839139] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 22.706167] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 22.706826] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 24.381263] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 9331.659531] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 9334.245021] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[21072.001855] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[21085.891168] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[21087.490746] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[21968.495249] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[21984.991120] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[23164.037982] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[23347.813272] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

Already run sudo updatedb

uname -a
Linux aditya-HP-Pavilion-14-Notebook-PC 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

locate rt3290sta.ko
/home/aditya/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/.rt3290sta.ko.cmd
/home/aditya/DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/rt3290sta.ko
/lib/modules/3.13.0-32-generic/kernel/drivers/net/wireless/rt3290sta.ko
/lib/modules/3.5.0-52-generic/kernel/drivers/net/wireless/rt3290sta.ko
/lib/modules/3.5.0-54-generic/kernel/drivers/net/wireless/rt3290sta.ko

modinfo rt3290sta
filename: /lib/modules/3.13.0-32-generic/kernel/drivers/net/wireless/rt3290sta.ko
version: 2.6.0.0_rev1
srcversion: 13F483178C6DF2E02D874C3
alias: pci:v00001814d00003290svsdbcsci*
depends:
vermagic: 3.5.0-54-generic SMP mod_unload modversions
parm: mac:rt28xx: wireless mac addr (charp)

If you run the following, does wireless then work?

sudo modprobe rt3290sta

1814:3290 should now be covered by the rt2800pci kernel module, so there should be no need to install the outdated rt3290sta driver (which by the way won’t compile against the 3.13 kernel … I just tried).

Does wireless start working if you run:

sudo modprobe -r rt3290sta

then

sudo modprobe rt2800pci

?

What’s the contents of

gedit /etc/modprobe.d/blacklist.conf

and

gedit /etc/modules

Did 12.04 really automatically update it’s kernel from the 3.5 series to 3.13 :o

[EDIT]

As I said the 3.13 kernels rt2800pci driver has now been patched and should work perfectly with your adapter … but I’m putting this link here for reference “just in case”

Patched fork of the rt3290sta driver that will compile in 3.13 can be found here:

that links iis only for future reference (I don’t advise you use this, rt2800pci is a better option in kernel 3.13)

I think “sudo modprobe -r rt3290sta” will fail, as that module isn’t loaded at the moment (although, it will be after my comment!).
Don’t worry about it, just carry on.

Re the kernel auto-upgrade: People slate Mint for not auto-upgrading the kernel, making it opt-in! lol

[size=18pt]Thank you very much Mark Greaves… :)[/size] It’s working now.
But what is actually happened with my laptop? The most important thing is, what should I do if this problem occurs again in the future?

It shouldn’t happen again, as the problem was the new kernel that was (auto)installed contained a new driver, which conflicted with the old one that was necessary with the old kernel. The “modprobe -r” command removed the old driver, leaving the new one to do its thing!

If you’ve un-blacklisted rt2800pci

and blacklisted rt3290sta

everything should be fine from now on, even after kernel updates as rt2800pci comes with the kernel.

What happened was the rt3290sta (staging) driver would need recompiling (against the new kernel) every time you received a kernel update … but they changed some stuff in kernels >=3.11 so that driver will no longer compile, and Ralink haven’t released an updated version.

Luckily the open source rt2800pci drivers have improved their support for your adapter.

Originally rt2800pci wasn’t a very good driver for your adapter and kept dropping the connection, so people blacklisted it (so it doesn’t autoload) and compiled the staging driver … but rt2800pci (since a patch was accepted into kernel 3.12) is now the driver of choice for your adapter.

Presumably at some point the sta driver will make it out of staging and be accepted into the kernel as standard?

At this point I probably shouldn’t be calling them “staging” drivers as from what I can tell they’re no longer (if they ever were) contained in the /drivers/staging directory of the kernel source.

I’m pretty certain the “sta” at the end of the driver name means they were originally meant (by Ralink) as staging drivers … but they’re certainly not here now
http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/drivers/staging

That said, I suppose “sta” could also have meant “stand-alone”
http://lwn.net/Articles/324279/
and I got it wrong :-[

rt2870sta used to be in staging, so were referred to as “staging” drivers … I just extrapolated (possibly incorrectly).

Googling it has confused me even more (suggesting it’s been included in the Ubuntu kernel since 9.04!).
I’m gonna quit while I’m ahead/behind ;D

Ups, actually it happened again every time I restart my laptop. But it works after I run [sudo modprobe -r rt3290sta] then [sudo modprobe rt2800pci].
How can I make it permanent without running those instruction?

Here is the content of:

gedit /etc/modprobe.d/blacklist.conf

This file lists those modules which we don’t want to be loaded by

alias expansion, usually so some other driver will be loaded for the

device instead.

evbug is a debug tool that should be loaded explicitly

blacklist evbug

these drivers are very simple, the HID drivers are usually preferred

blacklist usbmouse
blacklist usbkbd

replaced by e100

blacklist eepro100

replaced by tulip

blacklist de4x5

causes no end of confusion by creating unexpected network interfaces

blacklist eth1394

snd_intel8x0m can interfere with snd_intel8x0, doesn’t seem to support much

hardware on its own (Ubuntu bug #2011, #6810)

blacklist snd_intel8x0m

Conflicts with dvb driver (which is better for handling this device)

blacklist snd_aw2

causes failure to suspend on HP compaq nc6000 (Ubuntu: #10306)

blacklist i2c_i801

replaced by p54pci

blacklist prism54

replaced by b43 and ssb.

blacklist bcm43xx

most apps now use garmin usb driver directly (Ubuntu: #114565)

blacklist garmin_gps

replaced by asus-laptop (Ubuntu: #184721)

blacklist asus_acpi

low-quality, just noise when being used for sound playback, causes

hangs at desktop session start (Ubuntu: #246969)

blacklist snd_pcsp

ugly and loud noise, getting on everyone’s nerves; this should be done by a

nice pulseaudio bing (Ubuntu: #77010)

blacklist pcspkr

EDAC driver for amd76x clashes with the agp driver preventing the aperture

from being initialised (Ubuntu: #297750). Blacklist so that the driver

continues to build and is installable for the few cases where its

really needed.

blacklist amd76x_edac

gedit /etc/modules

/etc/modules: kernel modules to load at boot time.

This file contains the names of kernel modules that should be loaded

at boot time, one per line. Lines beginning with “#” are ignored.

lp
rtc
lp
rtc
disable_mmc
disable_mmc
disable_mmc
disable_mmc
disable_mmc
disable_mmc
disable_mmc
disable_mmc
disable_mmc
disable_mmc
disable_mmc
disable_mmc
disable_mmc
rt3290sta

Run:

sudo gedit /etc/modules

Find the line that raads:-

rt3290sta

and REMOVE it.

in its place add a line that reads:-

rt2800pci

SAVE the file and exit gedit.

Back in the terminal run:

sudo gedit /etc/modprobe.d/blacklist.conf

and add a single NEW line at the bottom that reads

blacklist rt3290sta

SAVE the file,and exit gedit.

Now REBOOT and let us know if wireless automagically works without any intervention needed by you ?