>Date: Mon, 10 Jul 2006 20:07:05 +0530
>From: "Ajay Jain" <[EMAIL PROTECTED]>
>To: linux-usb-devel@lists.sourceforge.net
>Hi,
>Am using a windows host and a proprietary device as a function. This
>is the pre-enumeration stage that I am talking about. I see a very
>different behavior with what is written in the standard or with the
>way windows is supposed to enumerate. The following are the
>observations with CATC protocol analyzer. As I understand, there
>should be a reset followed by a get dev descriptor request and then a
>reset again which will be followed by set address and then no more
>resets for the duration of enumeration. Here I am seeing 4 superfluous
>resets and suspends in the beginning. Is it any windows oddity?
>Ajay
>PS: I only have a clue to the first one, I guess the CATC analyzer s/w
>treats the entire boot-up duration as a reset as well, and that is why
>we see a first long reset for 15 seconds.
>
>Logs
>----------------------------------------------------------
>----------------------------------------------------------
>
>Packet#
>_______|_______________________________________________________________________
>Reset(Reset.)  (15.755 sec) Idle(  3.962 ms)
>_______|_______________________________________________________________________
>Suspend(Suspend)  (229.459 ms)
>_______|_______________________________________________________________________
>Reset(Reset.)  ( 66.487 ms) Idle(  3.005 ms)
>_______|_______________________________________________________________________
>Suspend(Suspend)  (198.209 ms)
>_______|_______________________________________________________________________
>Reset(Reset.)  ( 48.580 ms) Idle(  3.003 ms)
>_______|_______________________________________________________________________
>Suspend(Suspend)  (113.336 ms)
>_______|_______________________________________________________________________
>Reset(Reset.)  ( 66.547 ms) Idle(  3.004 ms)
>_______|_______________________________________________________________________
>Suspend(Suspend)  (768.334 ms)
>_______|_______________________________________________________________________
>Reset(Reset.)  ( 26.288 ms) Idle(761.583 µs)
>_______|_______________________________________________________________________
>54_____| FS Sync(00000001) SETUP(0xB4) ADDR(0) ENDP(0) CRC5(0x08) EOP(2.75)
>_______| Idle(187 ns)

snip - normal trace from here on.

This is an interesting trace. Think of what is happening on the two data wires. Reset means both D+,D- are pulled low, this is called single ended zero (SE0). Idle and suspend are the exact same wire state - J, for a full speed device J is D+ high, D- low. It is only by spec that the meaning of J changes from idle to suspend. After 3ms of idle by spec USB devices must go into lower power suspend, however there is no way for an external analyzer to verify this.

An analyzer cannot tell the difference between an actively driven bus line such as SE0 and one where there is no device resistor pulling up the data line.

So what I think is happening:

This is a trace of the power up of your PC. That takes about 17 seconds. During that time the Bios and the system software is configuring the hardware etc. So some of the time the PC is actively driving the lines to SE0, or some of the times not (where the J state wins). In either case the host PC is ignoring what is happening on the USB bus.

In normal use the PC will see the J state and start talking to the device, which is exactly what happens when it finally starts the enumeration.

Every PC/BIOS/OS will probably have a slightly different sequence during its boot up sequence. I would expect any one instance of PC/BIOS/OS to boot the same though.

It is not clear to me why you think there is a problem?

Regards, Steve



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to