On Thu, 1 Sep 2005, Andy Stewart wrote: > After further experimentation, I'm no longer convinced that anything is > faster on my Opteron vs. the laptop. I was using Konqueror to drag-drop > files to the MP3 player, and was gauging the speed based on the > Konqueror progress window. After many experiments, the time to copy a > large file appeared to approach zero (clearly impossible). I suspect > some sort of caching effect since a 'sync' command would typically take > several minutes to return to the command prompt. > > This leads me to ask if there is an application similar to iptraf that > can show USB traffic details.
How about hdparm for data transfer timings? Or even something as simple as: time sh -c 'dd ... ; umount /dev/sda1' For USB traffic details there is the usbmon facility available in the kernel, described in Documentation/usb/usbmon.txt. > >>Now, I can't reliably access the G3 (or my Epson scanner) when it is > >>plugged into the EHCI port, but that is the subject of a future thread. > > > > What do you mean by "the EHCI port"? Remember, on a high-speed system > > each port is generally connected to two types of controller: the EHCI > > controller and a companion full/low-speed UHCI or OHCI controller. That's > > how your motherboard is set up. > > > > While doing these experiments, I was using the 'usbview' GUI. In my > case, usbview lists 1 EHCI controller, 3 UHCI controllers, and 1 OHCI > controller. The OHCI controller is your add-on card, so we can ignore it. The other controllers are on the motherboard. > I have 6 physical USB connectors on my system. Usbview lists the device > underneath the controller to which it is connected. There are only 2 > connectors on my system where devices show up as being connected to the > EHCI host controller (I called those EHCI ports). If I plug a USB 2.0 > device into an "EHCI port", I expect to see USB 2.0 speeds when > accessing that device (taking device limits into account). All 6 ports are connected to the EHCI controller, and each UHCI controller is connected to 2 of the ports. So all your motherboard ports are both "EHCI" and "UHCI". Try plugging a non-high-speed device into one of those so-called "EHCI" ports and you'll see what I mean. Also check out the "MaxCh" (Max-Children) field in the T: line of /proc/bus/usb/devices for each controller. You'll see that each UHCI controller can have 2 children while the EHCI controller can have 6. You need to get over your confusion between USB 2.0 and a device's speed. USB 1.1 defines two speeds: low (1.5 Mb/s) and full (12 Mb/s). USB 2.0 defines three speeds: low, full, and high (480 Mb/s). A USB 2.0 device is free to use whichever speed it wants. (Except hubs; a USB 2.0 hub _must_ run at high speed if the upstream port is capable of supporting it.) What this means is that plugging a USB 2.0 device into one of your motherboard ports guarantees nothing about the speed. But if you plug a high-speed-capable device into any of those ports, it should run at high speed. EXCEPT that in many computers, some of the internal wiring (particularly the cables that lead from the motherboard to the ports at the front of the case) is not good quality and is too noisy for use at high speed. Try to do it and you'll encounter many errors and eventual failure. > My scanner and MP3 player support USB 2.0, and this fact is recognized > by usbview when I click on each device when it is connected to the EHCI > host controller. However, what I have noticed is that neither my > scanner nor my MP3 player work reliably when plugged into the EHCI host > controller. Small data transfers work OK, but large ones (perhaps > 5 > MB) return errors, after which the device is inaccessible until > unplugged and plugged in again (not power cycled, but dis/reconnected to > USB). In your case, it could be that _all_ the wiring is somewhat noisy. You might try using the 2.6.13 kernel; it has improved error recovery in usb-storage. > These devices work great when plugged into either the OHCI or UHCI > controller. Why might this be? What can I do to gather more useful > debug information? Slower transfers are more resilient against noise than fast ones. If noise is indeed the culprit, there's not much you can do about it -- improve the computer's internal wiring perhaps. Or you could replace your PCI USB card with one that has an EHCI controller; it ought to work better than the one on the motherboard. Alan Stern ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel