rt2870 device fails after many scans

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=5535

vinayshah

11-08-2009 04:33:13

Hello,

I am having a problem with a rt2870 device that I believe is related to the driver and/or usb subsystem.

I have several wifi adapters (DNUR-83 from unex corporation, which uses the rt2870 and provides a usb interface with their EX-04 board) as well as several asus eeePCs running Xandros linux.

I have a routine which runs `iwlist ra0 scan` over-and-over again to continually scan for new wifi. The wifi is not explicitly being used by anything else. After a while (sometimes 5 minutes, sometimes several hours), the device enters a bad state and begins failing. It starts returning no scan results. i.e. iwlist ra0 scan will say "ra0 No scan results." Removing the adapter and plugging it back in does not fix the problem. Rebooting the device will fix it, and typing `modprobe -r uchi_hcd ehci_hcd` will also fix it. If I unplug an adapter from an eeepc in a bad state and plug it into a different eeepc, it will work. If I take a different adapter which was working properly and plug it into an eeepc which had an adapter failing, it will continue to fail. Thus, there is very strong evidence that there is state stored on the eeepc device, independent of the particular adapter, that causes these problems.

I create this problem using two different scripts - one is a basic bash shell script, here is the source
[code3t5jabs0]
#!/bin/sh
success=0;
while [ $success -eq 0 ]; do
iwlist ra0 scan 1>> /home/user/scan.log 2>&1
success=$?
echo -e "\nnext scan\n" >> /home/user/scan.log
done
[/code3t5jabs0]

The other is a perl script which is much more complicated, but the basic idea is that it hits the driver with a siwscan command, followed by a short pause and then giwscan commands until we get a scan result. The perl script seems to cause the problem faster than the bash script.

When it is in a bad state, something also keeps dumping "# " into dmesg. There's lines such as [ 8495.660000] #, with no other useful information.

Has anyone encountered this problem before? Any ideas on how to fix it, or how to approach this problem? Any more information I can provide? I'd like it if this didn't happen at all, rather than needing to do the modprobe workaround which has a lot of other side effects (such as resetting all the other usb devices attached)

Thanks,
Vinay

IvD

11-08-2009 07:34:15

The fact that your interface is called 'ra0' indicates that you are not using a driver which is released as part of this project.
If you have downloaded the driver from the Ralink website Don't ask support here
Have you used the driver from the kernel located in the staging directory As support to this mailinglist devel@driverdev.osuosl.org
If you are using the rt2800usb driver from the kernel or rt2x00.git then you are in the right place, but you need to tell which driver version you are using, which kernel, etc etc.

vinayshah

11-08-2009 07:41:07

Hi Ivo,

Thank you for your reply. I am sorry, I was under the impression that this was the same as this project. I downloaded it from here http//www.ralinktech.com/ralink/Home/S ... Linux.html (RT2870USB(RT2870/RT2770))

It does say "The rt2x00 Open Source Project" at the bottom there - is this not actually a part of rt2x00?

Thanks again,
Vinay

IvD

11-08-2009 07:47:39

No, the link you downloaded it from is the Ralink website, so that are drivers not released as part of this project.
The link to our website is to inform the users about the rt2x00 drivers which are found inside the kernel, for which users can ask support.
Basically the drivers on the Ralink website are without support.

vinayshah

11-08-2009 07:59:17

Okay, thank you for your help.