PDA

View Full Version : 2.6.34 kenel and ralink wireless broken



lonniehenry
May 17th, 2010, 11:34 AM
Updated to 2.6.34-2-generic and it broke wireless. I was using a Mvix Nubbin (appears as a Dlink) which uses a ralink driver and worked with 2.6.32 kernal in maverick and lucid if I blacklisted the rt2800usb. I plug in an older Linksys G-usb wireless and it connects using the linksys. If I check networks in NM it shows the connection using linksys and it shows the Nubbin as a Ralink with device not ready. In looking at the kernel changes it appears that the driver is listed as being changed as to how it links. I can't tell if this is one that will be fixed upstream. How do I go about figuring out what to do to make this work with the new kernel?
Thanks in advance.
__________________

BoneKracker
May 17th, 2010, 12:02 PM
I don't use Ubuntu, but I had a similar problem.

I have a USB Network Adapter based on the Ralink 2870 chipset. I had it working fine using kernel version 2.6.32's rt2870sta module. When I upgraded the kernel to 2.6.33, it stopped working (repeatedly tries and fails to associate with the access point, or behavior to that effect, as I recall).

That was a while ago. I remember thinking, "will have to wait for an updated driver from Ralink to make it into the kernel", but I don't know where I got that information.

You could try building from source the driver available on the Ralink website, but I don't know if that's any newer.

The SerialMonkey drivers (i.e., those based on the rt2x00 library, including the rt2800usb module you blacklisted), were still marked as "very experimental" as of 2.6.33. The description in the kernel actually said they "do not function". :) I don't know their status in 2.6.34.

There is another, long, thread about Ralink drivers in this forum where you might gain some insight.

lonniehenry
May 17th, 2010, 11:02 PM
Thanks, I will search for the ralink thread.

lonniehenry
May 21st, 2010, 02:34 AM
Following a link I added the logari81:ppa and installed the rt3070 drive which worked for the 2.6.34-2-generic kernel. When I updated to the 2.6.34-3-generic kernel, it broke again and I can't get it to work again. Going back to the -2 kernel it is broken. With the older 2.6.22 kernel it works great. I saw a changelog about the kernel changing how the rt2800usb and the rt2870sta drive work with the kernel. How do I get around this problem?

BoneKracker
May 24th, 2010, 04:10 AM
I decided to give it another try, since I hadn't touched it since 2.6.33 came out and it stopped working.

I grabbed the latest firmware for the rt2870 from the ralink site. I downed by wired interface, plugged in the USB NIC, and verified the driver had loaded. I fired up wpa_supplicant in the foreground from the command-line, so I could watch the output.

It all works possibly, except it fails to associate with the access point (it times out during authentication).

With a 100% signal strength on an adapter and access point known to have worked together before, I'd have to say it looks like some kind of regression in the kernel module.

ronacc
May 30th, 2010, 02:00 PM
possibly not a kernel problem but some kind of network manager problem . I have an internal card based on the rtl8185 chip ( realtek) . sometimes on startup it does not autoconnect and then cannot be made to connect no matter what but a reboot cures it and it connects automaticly . I have 2 networks available and if it dont connect to the default it also wont connect to the other , if it connects automaticly I can switch to the other ok . I have 4 other installs on that box ( lucid , koala , suse and sabayon ) and they never show this behavior .

BoneKracker
May 30th, 2010, 03:04 PM
possibly not a kernel problem but some kind of network manager problem . I have an internal card based on the rtl8185 chip ( realtek) . sometimes on startup it does not autoconnect and then cannot be made to connect no matter what but a reboot cures it and it connects automaticly . I have 2 networks available and if it dont connect to the default it also wont connect to the other , if it connects automaticly I can switch to the other ok . I have 4 other installs on that box ( lucid , koala , suse and sabayon ) and they never show this behavior .

I don't use network manager.

Linuxforall
May 30th, 2010, 03:10 PM
A friend of mine installed Lucid on his PC which has the Ralink 2500 chipset PCI wireless card, sadly the net became flaky for him, it worked fine in his Jaunty so I thought it was a kernel issue and had him install latest one from mainline ppa and it still didn't work.

lonniehenry
May 31st, 2010, 04:13 AM
I got the ralink working in 2.6.34-4 by doing the sudo gedit /etc/modprobe.d/blacklist.conf and entering
blacklist rt2800usb
blacklist rt2x00usb
blacklist rt2x00lib

at the end, saving and rebooting. Not sure what changed as it didn't work for the 2.6.34-3 kernel.

BoneKracker
May 31st, 2010, 04:43 AM
I got the ralink working in 2.6.34-4 by doing the sudo gedit /etc/modprobe.d/blacklist.conf and entering
blacklist rt2800usb
blacklist rt2x00usb
blacklist rt2x00lib

at the end, saving and rebooting. Not sure what changed as it didn't work for the 2.6.34-3 kernel.
What chipset do you have?

lonniehenry
May 31st, 2010, 11:26 AM
It is a Mvix Nubbin that uses the rt2870sta driver. Blacklisting should work for some of the other ralink drivers also. Trying it and if it doesn't work, remove the items from blacklist.

null_pointer_us
May 31st, 2010, 01:47 PM
I got the ralink working in 2.6.34-4 by doing the sudo gedit /etc/modprobe.d/blacklist.conf and entering
blacklist rt2800usb
blacklist rt2x00usb
blacklist rt2x00lib

at the end, saving and rebooting. Not sure what changed as it didn't work for the 2.6.34-3 kernel.

Thank you, that fixed it for me. (rt2860sta)

Note that editing that blacklist file did not work for me right away. After rebooting in the 2.6.34-5 kernel, lsmod showed those blacklisted modules were still being loaded. Using rmmod on them and their dependencies (~10 modules?) and rebooting got it working fine on the next boot (same kernel).

Is there something else that needs to be done to make the blacklist take effect?

EDIT: It's broken again. After many attempts, it still cannot associate with the access point.

BoneKracker
May 31st, 2010, 10:29 PM
It is a Mvix Nubbin that uses the rt2870sta driver. Blacklisting should work for some of the other ralink drivers also. Trying it and if it doesn't work, remove the items from blacklist.

Well, blacklisting is not my issue, because the only wireless driver I built in my kernel is rt2870sta. I'll take this to indicate that a more recent 2.6.34 patchset will fix it. Thanks for reporting that.

null_pointer_us
May 31st, 2010, 11:01 PM
I found a Fedora bug report that is fairly similar:
https://bugzilla.redhat.com/show_bug.cgi?id=570869

From my reading, it seems the rt2800pci/rt2x00 code we're getting now in the 2.6.34 kernels is immature, so these problems will be fixed upstream.

Anyone else know more about this?

BTW, the compat-wireless package for today (2010-05-31) got me up and running in 2.6.34.
http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/05/

It has a nice make install/uninstall interface that we can use to revert back to the Ubuntu-provided 2.6.34 wireless stuff (for testing).

Is this something Ubuntu developers would have to backport, or are we likely to reach the more mature rt2x00 code by 10.10 final anyway?

BoneKracker
June 1st, 2010, 01:13 AM
I found a Fedora bug report that is fairly similar:
https://bugzilla.redhat.com/show_bug.cgi?id=570869

From my reading, it seems the rt2800pci/rt2x00 code we're getting now in the 2.6.34 kernels is immature, so these problems will be fixed upstream.

Anyone else know more about this?
That's correct. Those are the drivers from the SerialMonkey project. The drivers in staging (rt????sta) are an independent effort and are derived directly from the open source driver code provided by Ralink. It's my understanding that these are included as a temporary fix, and the intent is to eventually use the SerialMonkey drivers, which have a more advanced architecture (a common library has been abstracted). Unfortunately, those drivers were adopted into the mainline kernel for some reason before they really worked. :???:

So, in short, if for some inexplicable reason, the Ubuntu kernel maintainers are enabling the non-functional SerialMonkey rt28x00 drivers, then yes, you should be blacklisting them (until such time as they work).


BTW, the compat-wireless package for today (2010-05-31) got me up and running in 2.6.34.
http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/05/

It has a nice make install/uninstall interface that we can use to revert back to the Ubuntu-provided 2.6.34 wireless stuff (for testing).

Is this something Ubuntu developers would have to backport, or are we likely to reach the more mature rt2x00 code by 10.10 final anyway?
I wasn't even aware of the compat-wireless project (because I always configure and build my own kernel). It looks to me like it's designed for backporting recent kernel wireless improvements to systems with older kernels. I really don't know enough about it to reason why that would make broken wireless on a recent kernel functional. I suppose it could be one of two scenarios:

a) maybe latest compat-wireless release used something from the kernel git tree that's newer than what's in your kernel (and works)

b) maybe it used something older that over-rode something broken in the latest kernels

c) maybe you didn't properly isolate your changes, and it wasn't really the compat-wireless that got you working, but a kernel update or some other change

Hopefully it would be (a).

I've been waiting for two years for the rt2x00 project to have a working driver for my 2870-based device (the status all that time is has been "working on it"). So I wouldn't bank on it being available for your 10.10 release. In fact, Ubuntu probably shouldn't have it enabled in the kernel until it does work, in my opinion.

null_pointer_us
June 1st, 2010, 12:40 PM
The compat-wireless contains backported kernel wireless net modules that can be installed on any recent kernel (2.6.25+). According to the README file, it is intended for people who wish to test/develop wireless modules on older kernels.



./scripts/driver-select rt2x00

This reduces make jobs to only the rt2x00 modules (and their dependencies).



make

This compiles the kernel modules.



sudo make install

This copies them into an updates/ folder off the current kernel's wireless network driver folder, then it sets depmod to find the updated modules first.


Rebooting and using sudo lsmod confirms size of those modules has changed, meaning the updated modules are in use. I had to blacklist rt2860sta in /etc/modprobe.d/blacklist.conf (and reboot) to get it working.

The compat-wireless 2010-05-31 got my Ralink 2860 PCI card working well in Maverick. I also tried compat-wireless 2010-05-19, but it had the same problem (no association with access point). Previous Ubuntu releases required some work (RT2860STA.dat) and Lucid final even required downloading the Ralink driver (2.30) just to get it working on my equipment. So if the newer rt2x00 is packaged properly for Ubuntu 10.10, my wireless equipment will finally work out-of-the-box.

It looks like Ubuntu 10.10 will be using a 2.6.35 kernel, which is just now going through its RC process. Correct me if I'm wrong, but this means improvements from the recent compat-wireless editions of rt2x00 will make it into 10.10 without any backporting.

BoneKracker
June 1st, 2010, 12:49 PM
It looks like Ubuntu 10.10 will be using a 2.6.35 kernel, which is just now going through its RC process. Correct me if I'm wrong, but this means improvements from the recent compat-wireless editions of rt2x00 will make it into 10.10.
That depends on whether the rt2x00 release being used in compat-wireless
is actually newer than what's in 2.6.34 so far (which is marked "non-functional" in the kernel). The fact that it's working for you would would suggest that's so, but maybe there's a way to find out.

Also, I'm not hearing good things about 2.6.35 so far, in terms of performance.

null_pointer_us
June 1st, 2010, 01:24 PM
That depends on whether the rt2x00 release being used in compat-wireless is actually newer than what's in 2.6.34 so far (which is marked "non-functional" in the kernel). The fact that it's working for you would would suggest that's so, but maybe there's a way to find out.
How could we find out?

Looking at the Kconfig for rt2x00 in compat-wireless 2010-5-31, the usual warnings are present about 2860 being considered non-functional and 2870 not supporting wireless-n access points.

The DRV_VERSION is defined as "2.3.0" in both 2010-5-19 (not working for me) and 2010-5-31 (working for me) but I've seen nothing to indicate whether the DRV_VERSION is updated regularly. The Serial Monkey RT2x00 website (http://rt2x00.serialmonkey.com) says little about driver versions beyond "it lives in mainline."


Also, I'm not hearing good things about 2.6.35 so far, in terms of performance.
Are you referring to the Phoronix article?

The problem mentioned in that article is way too big (and occurred during the merge window when lots of poorly tested code is injected to see what breaks) to not be found and fixed soon, let alone by 10-10-10.

Taken from the Kernel Team plan linked here:
http://ubuntuforums.org/showthread.php?t=1498079


The primary decision for the kernel team at UDS was to choose the base kernel version for the release. For Maverick this will be 2.6.35. Taking into account the rough release cadence of the upstream kernel, we anticipate the 2.6.35 to become final in the Sept 2010 time frame. This will bring us as close to the bleeding edge but still provide a level of stability.

So the kernel team has already made this decision, assuming 2.6.35 would cause no major disaster.