Bug #278

rt2800usb has problems

Added by Hammel over 3 years ago. Updated over 3 years ago.

Status:ClosedStart date:28 Feb 2014
Priority:ImmediateDue date:
Assignee:Hammel% Done:

100%

Category:03 - Linux Kernel
Target version:0.8.0
Severity:01 - Critical

Description

The webcam is dropping out and performing badly. It's generating a lot of warnings in the logs:

rt2800usb_entry_txstatus_time_out: Warning - Got TX status for an empty queue 2, dropping

It seems that the rt2800usb has had problems since around the 3.7 release. See https://bugzilla.kernel.org/show_bug.cgi?id=62781 It's not clear but this problem may actually be in the USB subsystem and not in the rt2800usb driver itself.

There doesn't appear to be a real fix for this yet. Since I need a post 3.6 release of the kernel and the RPi tree doesn't have one other than 3.10.x then I have to use 3.10.x but can't rely on the rt2800usb driver for wifi. I have two other wifi drivers I can try:
  1. carl9170
  2. rtl8187

I need to try these and see if they're workable. In the 3.2.27 kernel the rt2800usb seemed more stable. But maybe things have changed.

Associated revisions

Revision 8ba56221
Added by Hammel over 3 years ago

RM #278: Allow setting kernel branch/commit id on command line with KB.

Revision 4df75311
Added by Hammel over 3 years ago

RM #278: Note problems in usbhandler.conf with rt2800usb driver in 3.6+ kernels.

History

#1 Updated by Hammel over 3 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

The carl9170 doesn't work very well either. It eventually goes away too.

I think one way to deal with some of the problems I'm having with 3.10.x is to try and backtrack to 3.6.y from the RPi repo. There is a 3.6.y branch (don't know how I didn't see that previously) and all I really want to jump ahead for is a kernel version that supports BLE, which is 3.6.x or later.

So right now I'm building two kernels: 3.12.y (on galileo) and 3.6.y (on feynman). I'll try 3.12 first. Each of these needs to have their respective opkgs rebuilt. I should just copy these to the sd card before firstboot to make testing easier.

What I'm testing is:
  1. Can I remain logged in via ssh for more than a few hours?
  2. Does performance of the mjpeg stream through the web server match what I saw with the 3.2.27 kernel.

I really have to have 3.6 or later networking to be stable or else PiBox Media Server can only serve media and won't be able to support additional BLE features.

#2 Updated by Hammel over 3 years ago

  • Priority changed from Normal to Immediate
  • Severity changed from 03 - Medium to 01 - Critical

Upping severity/priority.

#3 Updated by Hammel over 3 years ago

  • % Done changed from 10 to 20

While waiting for the two kernels to build I tested wifi adapters for the carl9170 driver and the rtl8187 with the 3.10.y (3.10.31, specifically) kernel. The carl9170 behaved much the same as the rt2800usb. The rtl8170, however, seems to be working fine after a couple of hours. An ssh connection is still running from the dev box to the pibox and the web cam is still streaming through the web server to a remote browser with little to no delay.

I'm going to keep it running for a few more hours and see if it starts to degrade. If not, I'll stick with 3.10.y. If it does I'll try the 3.12 kernel first, then the 3.6 kernel.

#4 Updated by Hammel over 3 years ago

  • % Done changed from 20 to 70

The rtl8187 driver is very stable with 3.10.31+ (aka 3.10.y). I'm using an Edimax ENUWI-G2 adapter, which is a big, bulky thing but works fine for now.

Next I will try a generic rtl8192cu adapter I got from Amazon. I'm pretty sure this works in general but I don't know if it's long term stable.

In any case, I will close out this issue after testing the rtl8192cu adapter, then note the instability of rt2800usb drivers in the usbhandler.conf.

#5 Updated by Hammel over 3 years ago

  • % Done changed from 70 to 80

Updated usbhandler.conf with notes on problems with rt2800usb driver in post-3.6 kernels.

#6 Updated by Hammel over 3 years ago

Generic RealTek from Amazon is an RTL8188CUS and doesn't work with either 8192cu or r8712u drivers. The device is seen with the 8192cu driver but doesn't seem to operate. There is an updated driver available from RealTek (see the entry for RTL8188CUS) and a patched driver for 3.10.x for Ubunut but I've not tried either one yet.

Next I need to try the Adafruit dongle I just bought. Link is forthcoming.

#7 Updated by Hammel over 3 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 80 to 100

The Adafruit adapter is also RTL8188CUS, so these low cost adapters don't work in PiBox unless (and only possibly if) I get the RealTek driver source merged into the kernel tree. That has been opened as a separate issue.

Because the Adafruit is so low profile, cheap and readily available I need to get this done for the 1.0 release. The Adafruit adapter is the prime candidate for sourcing a dongle for PiBox Media Server.

This issue can be closed. The RTL8188CUS driver is being tracked as RM #289.

Also available in: Atom PDF