PORTS Forum
Ports and Interfaces => USB => Topic started by: USBVIDPID on December 18, 2012, 06:12:56 pm
-
I see using Ellisys USB tracing a short SOF of 92 us at about 8.5 to 8.6 seconds after every USB suspend - resume cycle. We are doing a test of 2500 suspend - resume cycles. Sometimes I see this short SOF causes the down steam USB device to stop responding to polls and sometimes I see the device do a watchdog reset. I also see on Windows XP but not on Windows 7 all of the USB HS hubs no longer accept any device hot plugged to it. This condition is all fixed after a Windows reboot. I have not tried Linux to see if it happens on it too. But I have seen this on at least two different PCs and restating, Windows XP and Windows 7.
What I really want to know is how to best debug this to see what in the OS or even the BIOS that might be causing this short SOF. I am suspecting that the OS is perhaps issuing a redundant USB host controller command, but I need proof to get it fixed. One coworker suggested NetMon.exe but I think this might be better for LAN problems.
Thanks for your time, jmw
-
The host-controller driver is responsible for scheduling traffic on the bus.
I'm not sure what you mean by "a short SOF of 92 us".
A high-speed SOF occurs 92 microsecs after the previous SOF, instead of 125 microsecs after?
-
I am tracing on a USB Full Speed bus and its SOF rate is 1 per ms. The USB spec. says, "in chapter 8.4.3 from USB spec 2.0, the host should issue SOF every 1.0 ms +/- 0.0005ms for a full speed bus".
See the attachment: SOF screen shot.gif (this is from an Ellisys full speed USB trace).
Time reference is set to 0 for Frame # 640 and Frame # 641 shows that it is 92 us later instead of 1 ms.
Thanks, jmw
[attachment deleted by admin]
-
OK, the bad SOF is way early (0.000092 sec instead of 0.001 sec), but the next one arrives as if the previous one had been on time (0.002 sec).
-
USBVIDPID:
One coworker suggested NetMon.exe but I think this might be better for LAN problems.
Maybe, he refers to this method, in which NetMon filters USB event log.
USB Event Tracing For Windows
http://msdn.microsoft.com/en-us/library/windows/hardware/gg463163.aspx
Some device driver may reset the host controller.
USB event trace would catch such an activity.
Tsuneo