Ralink rt2870 built-in driver doesn't work in 11.3 MS7

I got installed the new opensuse 11.3 MS7 and haven’t been able to get my rt2870 chipset to work with the built-in drivers in kernel. I think this is more a kernel related bug, as the built-in driver rt2870sta.ko used to work properly in 2.6.31.5 after blacklisting the rt2800usb module (which by default tries to handle the device), it got broken with 2.6.31.8 update and seems it hasn’t been fully fixed.
In 2.6.34-8 kernel rt2800usb and rt2870sta modules show the connections in range but can’t connect. Also it says all connections are at maximum intensity.
I’m using the 64bit opensuse release and knetworkmanager and wicd. I tried ifup configuring it with yast and didn’t work either.
I could connect with ndiswrapper but it’s unstable (it’s not supposed to be supported according to ndiswrapper web) and ends up freezing the ndiswrapper module after some random time.
Is anybody having this trouble?
Thanks.

The rt2870 driver is from “staging”. Those drivers are essentially as
supplied by the vendor and are supplied with a warning. Look at the
dmesg output to see the warning.

As most Linux devs do not have this hardware, you are going to have to
do some of the work. The best solution would be for you to acquire the
mainline git tree and use the bisection method to find the commit that
broke it. As there are only 16 changes to the driver between 2.6.31 and
2.6.34, it will take only 4 kernel builds.

Another option would be for someone (probably me) to get the patch sets
for those 16 changes and the openSUSE kernel sources. You can then
remove them one by one until you find the bad one.

I’ve posted a bug report on it some times ago, with a workaround :

https://bugzilla.novell.com/show_bug.cgi?id=604193

This is just a firmware version mismatch that causes the issue.

On 05/24/2010 02:06 PM, vlj wrote:
>
> I’ve posted a bug report on it some times ago, with a workaround :
>
> https://bugzilla.novell.com/show_bug.cgi?id=604193
>
> This is just a firmware version mismatch that causes the issue.

That makes sense. The kernel patch that changed the firmware version was
merged last August.

To the OP - whenever you have a problem, please scan through the output
from the ‘dmesg’ command to look for explanations.

On 05/24/2010 02:34 PM, Larry Finger wrote:
> On 05/24/2010 02:06 PM, vlj wrote:
>>
>> I’ve posted a bug report on it some times ago, with a workaround :
>>
>> https://bugzilla.novell.com/show_bug.cgi?id=604193
>>
>> This is just a firmware version mismatch that causes the issue.
>
> That makes sense. The kernel patch that changed the firmware version was
> merged last August.
>
> To the OP - whenever you have a problem, please scan through the output
> from the ‘dmesg’ command to look for explanations.

Will someone please confirm that 11.3 has the wrong firmware? GregKH
will replace the firmware in the linux-firmware package if we can
confirm the wrong one is included.

Hi
Is there an easy way to check without a device?

openSUSE 11.3 Milestone 7 (i586) Kernel 2.6.34-8-desktop

kernel-firmware-20100227-4.1.noarch


malcolml@mizz-piggy:~$ ls -la /lib/firmware/rt2*
-rw-r--r-- 1 root root 8192 2010-02-26 15:59 /lib/firmware/rt2561.bin
-rw-r--r-- 1 root root 8192 2010-02-26 15:59 /lib/firmware/rt2561s.bin
-rw-r--r-- 1 root root 8192 2010-02-26 15:59 /lib/firmware/rt2661.bin
-rw-r--r-- 1 root root 8192 2010-02-26 15:59 /lib/firmware/rt2860.bin
-rw-r--r-- 1 root root 4096 2010-02-26 15:59 /lib/firmware/rt2870.bin


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.27.45-0.1-default
up 8 days 0:56, 3 users, load average: 0.02, 0.48, 0.58
GPU GeForce 8600 GTS Silent - CUDA Driver Version: 195.36.15

On 05/24/2010 04:41 PM, malcolmlewis wrote:
> Hi
> Is there an easy way to check without a device?
>
> openSUSE 11.3 Milestone 7 (i586) Kernel 2.6.34-8-desktop
>
> kernel-firmware-20100227-4.1.noarch
>
>


> malcolml@mizz-piggy:~$ ls -la /lib/firmware/rt2*
> -rw-r--r-- 1 root root 8192 2010-02-26 15:59 /lib/firmware/rt2561.bin
> -rw-r--r-- 1 root root 8192 2010-02-26 15:59 /lib/firmware/rt2561s.bin
> -rw-r--r-- 1 root root 8192 2010-02-26 15:59 /lib/firmware/rt2661.bin
> -rw-r--r-- 1 root root 8192 2010-02-26 15:59 /lib/firmware/rt2860.bin
> -rw-r--r-- 1 root root 4096 2010-02-26 15:59 /lib/firmware/rt2870.bin
> 

I don’t think so. The dates could have come from anywhere, the lengths
are set to 4K or 8K, and there are no strings in the firmware that say
the version.

I don’t know if it’s enough to confirm version mismatch, but I have a rt2870 chip, I have blacklisted rt2800usb module as it does not work.
Out of the box, knetworkmanager cannot even find any remote access point.
When overwritting rt2870.bin, knetworkmanager can scan Access Point, connect using WPA2/PSK encryption. And network works flawlessy then.
I’m at work now, so I don’t have my computer with me, I can give dmesg output later if needed.

I have replaced the rt2870.bin file in /lib/firmware with the one provided by ralink in their compressed file (once uncompressed it is under /RT2870_LinuxSTA_V2.3.0.0/common/) and it is working properly now, I can connect to unprotected and WPA2 networks, the only ones I have, I can’t confirm with other different protections but I’d say it should work fine.
I guess that was the problem, I’ll post again if I find any trouble.
Thanks!!

On 05/25/2010 10:16 AM, simon37 wrote:
>
> I have replaced the rt2870.bin file in /lib/firmware with the one
> provided by ralink in their compressed file (once uncompressed it is
> under /RT2870_LinuxSTA_V2.3.0.0/common/) and it is working properly now,
> I can connect to unprotected and WPA2 networks, the only ones I have, I
> can’t confirm with other different protections but I’d say it should
> work fine.
> I guess that was the problem, I’ll post again if I find any trouble.
> Thanks!!

I have requested that the updated firmware files from the Ralink site
replace those currently in the linux-firmware package. When this happens
sometime in the 11.3 RCX or GM sequence, the RT2870 will work out of the
box.