On 7/11/06, Steve Calfee <[EMAIL PROTECTED]> wrote:
> > >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.
> > >
> 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.
>

Perfectly right, this is the way I understand it as well.

> 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.
>

It is not that the pc is getting powered up. It is the device on the
other end that got powered up which took about 17 seconds. D+ & D- are
both low in that period and hence we see a reset. Even if it was a pc
being powered up, why would it drive SEO and then J on the bus for
that many a times?

> 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.

One counter observation, I have observed very slightly different
behavior with the same set up. The difference is very very little.
foreg. it my send reset one more time.

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

Well, sometime back I was facing a problem when the windows came up
with a message on connecting this device of mine. The message was
"One of the usb devices attached to this computer has malfunctioned, and
Windows does not recognize it. For assistance in solving this problem, click
this message"
We did not have an acess to analyzer at that time, so we probed the
usb wire using LA, and we observed a reset. However we did not see
reset on the device end, which means that we did not get any reset
interrupt in our code. The problem was highly sporadic (one of the
most severe ones I have ever seen) and it occurred very very randomly.
Does anybody have any clues, so as to why this message appeared on the
host side? It is a very very generic message, and windows seems to
give this no matter the problem is with pre-enumeration or enumeration
stage.
I was trying to extrapolate something from my current observation, may
be it is something quirky with the device. (As Alan pointed out, the
device is pulling up and pulling down). It is just a far-fetched guess
from my side.

Ajay


-------------------------------------------------------------------------
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