Trouble with RaLink RT3090 and new kernel

I have a RaLink RT3090 Wireless 802.11n 1T/1R PCIe Wireless NIC that worked well with older versions of openSuse, but do not work as expected with the new kernel update. I have tried extensively to fix this via several routes (narrated below), but have hit a wall, so need some assistance.

Note that I can connect and it (sorta) works, but download speed is limited to double-digit kbit/s, and there are a lot of connectivity issues, and lost packets.

When I investigated, I noticed (via iwconfig) that the RT2860 driver seems to be used. Yast Network Settings confirmed this.

I have tried both the opensource and proprietary drivers for the RT3090, but the RT3090 never seem to be selected as the driver, nor selectable as an option.

(forums.opensuse.org/english/get-technical-help-here/wireless/455668-support-ralink-3090-11-4-a.html) This openSUSE forum thread suggests that something is broken in the support for this driver in the 2.6.37 kernel. I’m not comfortable going to unstable releases like Kernel-Head, nor waiting until November for the next release.

I tried to download and compile the drivers myself from (Ralink corp.) RaLink’s support site, but hit compilation errors with an undefined enum for the TX strength. Even fixing the code there, the resulting .ko file did not want to load (insmod: error inserting ‘rt3090sta.ko’: -l Unknown symbol in module)

I also tried to follow (and adapt) (en.opensuse.org/SDB:ASUS_WL-160N_USB_wireless_adapter) ← this openSUSE support database article, with similar results as mentioned above.

Anybody have any suggestions for me to try?

For reference, here follows some diagnostic output:

/sbin/lspci produces:

03:00.0 Network controller: RaLink RT3090 Wireless 802.11n 1T/1R PCIe

/sbin/lspci -n produces:

03:00.0 0280: 1814:3090

dmesg provides very little output related to wireless networking, and no mention of missing firmware:

   32.563754] <==== rt28xx_init, Status=0
   32.563818] 0x1300 = 00073200
   32.563832]  AUX_CTRL = 0x                             c02
   32.563835]  Read AUX_CTRL = 0xc02
   32.563837]  Write AUX_CTRL = 0x1c02
   32.563839]  OSC_CTRL = 0x3ff11
   32.563901] ====> rt30xx Read PowerLevelMode =  0x3.
   32.563902] ====> rt30xx F Write 0x83 Command = 0x3.
   32.649673] NET: Registered protocol family 17
   37.752979] ===>rt_ioctl_giwscan. 4(4) BSS returned, data->length = 655
   37.753144] ==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
   42.652519] wlan0: no IPv6 routers present

/usr/sbin/iwconfig produces:

lo        no wireless extensions.

eth0      no wireless extensions.

wlan0     Ralink STA  ESSID:"CHILAKO"  Nickname:"RT2860STA"
          Mode:Managed  Frequency=2.422 GHz  Access Point: 00:18:E7:D4:65:CC   
          Bit Rate=54 Mb/s   
          RTS thr:off   Fragment thr:off
          Encryption key:<edited out>
          Link Quality=76/100  Signal level:-65 dBm  Noise level:-83 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

and /usr/sbin/iwlist scan produces:

lo        Interface doesn't support scanning.

eth0      Interface doesn't support scanning.

wlan0     Scan completed :
          Cell 01 - Address: 00:18:E7:D4:65:CC
                    Protocol:802.11g/n
                    ESSID:"CHILAKO"
                    Mode:Managed
                    Channel:3
                    Quality:68/100  Signal level:-63 dBm  Noise level:-83 dBm
                    Encryption key:on
                    Bit Rates:18 Mb/s
          Cell 02 - Address: 00:13:10:2D:B9:64
                    Protocol:802.11g
                    ESSID:"lloyd_home"
                    Mode:Managed
                    Channel:6
                    Quality:52/100  Signal level:-69 dBm  Noise level:-83 dBm
                    Encryption key:on
                    Bit Rates:54 Mb/s
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (1) : TKIP
                        Authentication Suites (1) : PSK

P.S: Seems the forum didn’t like my url tags, so I had to edit them out. Sorry about all the dead links!

On 06/26/2011 06:06 PM, Elrin wrote:
>
> I have a RaLink RT3090 Wireless 802.11n 1T/1R PCIe Wireless NIC that
> worked well with older versions of openSuse, but do not work as expected
> with the new kernel update. I have tried extensively to fix this via
> several routes (narrated below), but have hit a wall, so need some
> assistance.
>
> Note that I can connect and it (sorta) works, but download speed is
> limited to double-digit kbit/s, and there are a lot of connectivity
> issues, and lost packets.
>
> When I investigated, I noticed (via iwconfig) that the RT2860 driver
> seems to be used. Yast Network Settings confirmed this.

The rt2860 driver is from staging and is of low quality. In addition, it has
been deleted from the most-recent kernel sources. The new driver is rt2800pci.
That driver handles your RT3090.

I would suggest that you try installing the compat-wireless package. It will
have a relatively new version of the driver.

Thanks for the suggestion!

I checked and seem to already have the compat-wireless package installed.

I removed the rt2860 driver and updated the compat-wireless package to force a re-install. However, Yast’s Network Settings still only allows me to pick up the rt2860sta module. Is there a way to gracefully convince Yast not to use the rt2860 driver? I tried to insmod rt2x00pci.ko, but insmod complained: -1 Unknown symbol in module
I also could not find a rt2800pci.ko, only a rt2800lib.ko and the rt2x00pci.ko - Only some of the older kernel’s module directories contained rt2800pci.ko…

Am I missing something?

Ah! I think I found it. When I added the Wireless repository, I added the openSUSE-11.4 one, not the 11.4-update. I was installing modules for the 2.6.37.1 kernel, not my 2.6.37.6 kernel.

I’m updating now, let’s hope it works!

I “lost” my ralink usb wireless dongle in the upgrade to 11.4. I don’t know if you want to cover old ground, but search on the firmware. I needed to extract only two files and place them in folders I had to create for them. Having done that, my wireless is back to normal. I was using the very old rt73usb supplied by suse. Not in front of that computer now, I think it was replaced with a 2500 driver.

Off topic - the forum software looks different today. It’s brighter and more colorful. I just upgraded google chrome. Maybe that’s it.

Oops!

That didn’t work. Posting from work…

I can now select the correct driver and it loads, but completely lost my connectivity. The rt2800pci driver produces a whole slew of errors when it starts up. Hopefully my previous messing around trying to get things to work did not break something else.

I did notice though that the rt2800pci driver still used the RT2860STA.dat file in etc/Wireless - changes in that file were echoed by the results seen by iwconfig.

I’m getting the old drivers’ rpm on a usb stick and will try to get them working tonight and will report here what those errors were.

Okay… I’m connected again using an atheros chipset (ath9k) - initially to get going, but here’s the clincher: I’m still running at a snails rate - Bit rate of 1Mb/s!

Perhaps it was not the driver after-all. I’ll start a new thread on this to keep things clean.