On Monday 06 June 2005 12:03 pm, Jamie Guinan wrote:
> 
>   2) Does the 0x30101 look like a sane response? I'm seeing 0x30100
>      when I remove an IOGEAR media reader connected through via a
>      standard USB TypeA port.

What's a bit curious is that the connect status bit change
is set (CSC) but the current connect status is also set (CCS),
bits 0x0001.0001 ... unlike the IOGEAR case, this reconnected.


> Any other insights/tips are welcome.
> 
> This might come down to a board-layout or electrical problem, I know.

Could be.  From what you've said, I think an electrical test
would be easy to perform:  if an SE0 is _ever_ signaled on
that built-in device's D+/D- lines (except maybe for a brief
period of up to 100msec after VBUS is pulled high), there
was a real electrical "disconnect" and USB behaved correctly.
(Then the question becomes why it disconnected...)


> Thanks,
> -Jamie
> 
> p.s. I got the 0x30101/etc numbers by saving the result of
> roothub_portstatus() in a huge buffer in the kernel, then downloading 
> the buffer through a /proc file.  Its an embarassingly ugly hack, but 
> it was the only way I could avoid messing with USB timing.

It's a fairly routine way to trace time-sensitive events.
Such a "tracepoint" will often record a few bytes of data
with some kind of high precision timestamp and an event code.

Don't worry about reinventing that wheel; it's hard to make
such code reusable.  If you don't create a userspace daemon
sucking out binary trace data, with tools to analyse it either
in real time or after-the-fact, you've hardly begun to explore
this direction ... ;)


Thing is, other folk have been complaining recently about cases
where devices seem to be spontaneously disconnecting from Linux.
(Often storage devices, for that matter.)  And I'm wondering if
your setup can be used to turn up more information on that ...

Could you modify your tracelog code to support multiple tagged
data points, and tweak the OHCI code so that it logs every
read or write access to the root hub registers?

What I'm curious about is whether there's something that usbcore
is doing to the poor root hubs that make them disconnect devices.
The trace buffer might show something interesting happening
shortly before that disconnect gets signaled...

- Dave



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
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