"dwc_otg.speed=1" => full speed only (no high speed) => no split transactions => no problemkyelo wrote:This is just to confirm that using "dwc_otg.speed=1" in /boot/cmdline.txt, I was able to do VOIP with a Logitech USB headset plugged into a powered USB 2.0 hub. The sound quality was quite acceptable.
What progress do you mean? I don't see any progress for USB audio. It still does not work on high speed as before.kyelo wrote:It seems we are making some progress, thanks to DOM and Gordon It would be nice to eventually get back up to USB 2.0 speeds however.
Code: Select all
dwc_otg.microframe_schedule=1 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 dwc_otg.speed=1 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait
yoctopuce wrote:We have run some tests today to validate the tentative fixes.
First we have run rpi-update to get the latest fix. Here is my cmdline.txt and the kernel versionAs expected, Gordon fix does not completely solve the issue of packet loss in this case, but the packet loss seems to happen far less frequently (I have been able to stress the PI for several minutes before I get a missing packet).
Code: Select all
[email protected]:/home/pi# more /boot/cmdline.txt dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait [email protected]:/home/pi# uname -a Linux raspberrypi 3.2.27+ #160 PREEMPT Mon Sep 17 23:18:42 BST 2012 armv6l GNU/Linux
Then we have added the dwc_otg.speed=1 parameter to force USB to work only in full speed mode (speed of USB 1.1). This solved the issue. This confirms that the PI has some trouble to handle USB 1.1 devices behind an USB 2.0 hub, but forcing the USB to work in full speed mode completely solves the packet loss for our USB 1.1 devices.
Our working config:
Code: Select all
[email protected]:/home/pi# more /boot/cmdline.txt dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 dwc_otg.speed= 1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait [email protected]:/home/pi# uname -a Linux raspberrypi 3.2.27+ #160 PREEMPT Mon Sep 17 23:18:42 BST 2012 armv6l GNU/Linux
So, the Pi firmware now does handle split transactions without limiting speed?BobCochran wrote:My testing seems to show that with the very latest Raspbian Wheezy firmware (e.g., kernel) updates, the dwc_otg.speed=1 setting is no longer needed and may even slow down USB throughput on a Model B device.
Try searching the forums for the repeating keys issue. This is usually caused by low voltage from your power supply. Also it is not clear as to whether that problem is with a seperate powered hub, or the built in hub, in your post. If it is an external hub, there are some hubs that do not work well with Raspberry Pi's. Also try posting in the troubleshooting forum for some help with the problem.barty79 wrote:I'm having problems all the time even with latest revisions of either Archlinux or Wheezy using usb hub. My keyboard/mouse/remote control are not working because of repeating keys, lost packet, etc. I'm surprised, that it's not stated in big letter on the home page that Raspberry pi has got lots of problems with USB drivers. I would never buy it having that knowledge!!!
There is now someone working full time on the USB driver. Still no schedule though. I'll ask him what his expectations are.obcd wrote:dwc_otg.speed=1 keeps the usb bus at 1.1 speed instead of 2.0 speed.
It's normal it slows down the troughput. It did that with the older kernels as well.
My 4 port usb2serial device still hangs when I access one of the serial ports, even with the latest kernels.
Maybe you have a device that now works with the improved drivers and didn't work before. It might be helpfull to post what setup we are talking about.
According to the foundation only a minority of people is having problems. They are working on it, but the work is done by volunteers in their free time, so they can't give a time schedule when this work will be finished.
Great to hear. I just tested my code on latest build and the USB does appear more robust but still misses reads.There is now someone working full time on the USB driver. Still no schedule though. I'll ask him what his expectations are.
Your kernel is quite old, current kernel is 3.6.11 #371MichaelLenz wrote:linux 3.2.27+ #307 PREEMPT Mon Nov 26 23:22:29 GMT 2012 armv6l ARMv6-compatible processor rev 7 (v6l) BCM2708 GNU/Linux