On Thu, 18 Jan 2007, kike wrote: > Hi, > > I'm having problems with my USB 2.0 ports. I followed the troubleshoot > recommendations in http://www.linux-usb.org/FAQ.html#ts1 (/how do I > report a bug/?)
http://bugzilla.kernel.org/ > and I was to open a bug, but was doubtful about whether > this *is* a bug (I think so) or not. It could easily be a hardware quirk in the VIA controller. Whether to call such things "bugs" is debatable; the kernel driver could work around it _if_ we knew what the quirk was. Unfortunately VIA has been extremely uncooperative about revealing the details of their chips' operations. > So, as I had everything already prepared to fulfill a bug, I'll report > the problem in the "bug template" format (as per REPORTING_BUGS in linux > docs.). See below > > Any comment, idea, tests to do, tweaking recommendations, etc... will be > more than welcome. > > > --cut > [1.] One line description: > USB2.0 devices stall/freeze/fail after an undetermined amount of data > transferred > > > [2.] Full description: > I've several USB2.0 devices that always worked fine with other OS > (Windows XP). Some are from known vendors (iPod, PSP), and others are > more budget devices (usb 2.0 disk/media player). With linux the process > of copying files from the PC to the devices using USB2.0 behaves badly, > stalling/failing after an undetermined amount of data transferred, > usually several hundred MB. Tests done so far: > > * I tried with several USB 2.0 ports in my PC (although later saw > that all of them belong to the same usb bus) > * (as per some googling) I tried with diferent filesystems in the > destination device > * (as per some googling) I tried with/without external USB2.0 hubs, > and with/without external power on them > * (as per http://www.linux-usb.org/FAQ.html#ts1) I tried with latest > stable kernel (2.6.19.2) and with latest prerelase (2.6.20-rc5) > * (as per http://www.linux-usb.org/FAQ.html#ts1) I tried > loading/unloading ehci, uhci, ohci. When running at USB2 speed > (ehci) it always fails. When running low speed (uhci, with ehci > unloaded) everything works fine > * I bought and tried with a new USB PCI card instead of the > motherboard-attached USB ports. The chipset of the PCI card is > NEC. The chipset of the motherboard is VIA (although later saw > that lsusb -v shows as NEC also) Does the same problem occur with the PCI-card controller? With each of your devices? > * I tried with a live CD from a distro (Backtrack) different that > the current one I'm using (Kubuntu) > * I tried with ehci, uhci, and the whole USB part compiled in the > kernel and as a module > * I tried limiting the bandwidth used in the copy through the USB > (with rsync --bwlimit) down to 2MB/s > * I tried with low speed USB devices attached at the same time, and > without them Have you tried using different USB cables? > After all those unsuccessful tests, I recompiled with the "USB verbose" > option and with debug_fs and usbmon options (as per > /usr/src/linux-2.6.20-rc5/Documentation/usb/usbmon.txt), trying to catch > the fault on the bus. Here start the funniest thing: I followed all the > steps, and when capturing the bus to a file... everything worked fine! > > I thoght it could be just a matter of usbmon doing *something* enough to > make the USB bus stable, so I repeated the tests with everything loaded, > but without actually capturing the bus to a file, and the test failed. I > even tried to "/cat /sys/kernel/debug/usbmon/5t >/dev/null/" but it > still fails. usbmon doesn't do anything to the bus other than inserting delays at various spots (while usbmon does its work). Of course, the delays themselves may be enough to change the behavior, although I would expect those same delays to be present also in the "cat >/dev/null" test. What happens if you do: dd if=/sys/kernel/debug/usbmon/5t obs=10M of=file ? > However, repeating the tests (even with several GB) with > cat to a real file, works just fine, so I simple cannot catch the fail > there. However, I can get the errors on the syslog file (look at 13:59:18): > Jan 14 13:59:18 kikex kernel: [ 2123.880524] ehci_hcd 0000:00:09.2: port > 2 full speed --> companion > Jan 14 13:59:18 kikex kernel: [ 2123.880535] ehci_hcd 0000:00:09.2: > GetStatus port 2 status 003001 POWER OWNER sig=se0 CONNECT > Jan 14 13:59:18 kikex kernel: [ 2124.048222] hub 5-0:1.0: logical > disconnect on port 2 Apparently an error not recorded in the log caused the system to reset the device. During the reset, the device showed up as full speed rather than high speed. This could be the fault of the device or of the USB controller. Do you get that same "full speed --> companion" message whenever the problem occurs, no matter which device it is? Alan Stern ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users