summary of USB limitations?


5 posts
by whocares_ido » Mon Dec 31, 2012 11:51 am
Hello!

I have seen many (long) threads about USB issues of the Raspberry Pi but it is hard for me to tell what issues really exist, which of them have been resolved in the meantime and what can be done to work around these problems.

Is there a website or an official statement with a summary?

I would like to transfer a working Debian/Asterisk/bluetooth/SIP-to-GSM gateway setup that is running on a x86 machine with a USB Bluetooth dongle and a connection to a cell phone to the Raspberry Pi. The setup works fine on x86 but I get severe audio distortions with RPi and I was just wondering if a USB related problem might be the root cause.

Thank you!
Posts: 22
Joined: Wed Sep 26, 2012 5:47 pm
by pluggy » Mon Dec 31, 2012 12:17 pm
I think this is as close as it gets :

http://elinux.org/RPi_VerifiedPeripherals

The USB has improved a huge amount since launch, and the problems with USB have diminished.

But (and its a big but) whether a particular USB device will actually work despite the Pi's somewhat flawed USB implementation is a lottery. The fact that it will work on an x86 Debian means precisely nothing. I have several USB devices that work flawlessly on my Linux PCs (I have several) but cause problems on the Pi.

Basically it drops packets, if there is an overlying protocol that asks for retransmission and correction etc (Wifi is a good example) it works reasonably well provided you don't look too closely at performance. Its where the device depends on a 100% solid USB transmission and reception there can be problems. Slowing the Pi 's USB down to version 1.1 speeds will often cure some problems, but it kills anything that needs V2.0 speeds (webcams are a good example) and slows the ethernet performance as well

Adding
Code: Select all
dwc_otg.speed=1


to /boot/cmdline.txt is how you do it and may get you out of a hole, but may dig you some new ones.
Don't judge Linux by the Pi.......
User avatar
Posts: 2085
Joined: Thu May 31, 2012 3:52 pm
Location: Barnoldswick, Lancashire,UK
by jamesh » Mon Dec 31, 2012 12:47 pm
Gordon will be working full time on the 'somewhat flawed USB implementation' (pluggy's words, not my opinion) in the New Year, so we hope to improve it even further. I'm not sure how much Gordon expects to be able to do, but definitely better than now.

JFYI, the USB driver was actually Synopsis code, the supplier of the chip. Turns out it's just not very good, and suffers on lower speed devices. So the Foundation is spending money on improving that driver.
Raspberry Pi Engineer
Raspberry Pi Engineer
Posts: 10580
Joined: Sat Jul 30, 2011 7:41 pm
by netw1z » Mon Dec 31, 2012 2:05 pm
I ran into this limitation on my project and had to switch to 1.1 mode. Im grateful that i can do that, but it sent my wifi usb adapter into wonky status. Speed is fine for me, but it will drop and not come back up. (Edimax)

It would be cool if one could set the speed of each port seperately for such devices, until the usb implmentation is ready to rock.
Posts: 7
Joined: Wed Dec 26, 2012 5:26 am
by whocares_ido » Tue Jan 01, 2013 1:30 pm
Just wanted to thank you for the quick feedback.

I have added the suggested option and the audio seems to be fine now. Will do more testing to confirm.

Thanks again!
Posts: 22
Joined: Wed Sep 26, 2012 5:47 pm