On Wednesday 29 September 2004 7:57 am, Alan Stern wrote:
> On Tue, 28 Sep 2004, David Brownell wrote:
> 
> > ... 
> > OK, this is odd.  Right here EHCI gets Connect Status Change; UHCI
> > let loose of this port.  Did the logical disconnect or reset changes
> > make trouble here?
> 
> It's not clear how that could work.  The "status 0100, change 0001" 
> indicates that UHCI really did see an electrical disconnect.  Disabling 
> the port (which is all a logical disconnect does) wouldn't cause that to 
> happen.

One thing Steve could do is show the equivalent level of
debug log output for UHCI-only, to see if the third reset
in a row also triggers disconnect.  With UHCI-only, that
wouldn't switch to another HCD.

Is this iPod special for any reason other than not working?
Like being a new model, or an old one, or from HP, or with
BMW support?  Experimental firmware?


> > What I'd expect right here is UHCI resetting again ... debounce is not
> > needed (but maybe it's been there before).
> 
> I made khubd do a debounce for disconnects as well as for connects.  
> That's why it shows up here; khubd thinks the iPod disconnected since 
> UHCI told it so.

Why debounce disconnects though?  It'd just duplicate
debounce on the connect side, right?


> >  Then try to enumerate
> > again.  Instead, UHCI just gave the port back to EHCI.  Presumably
> > it's actually a goof by khubd or the UHCI root hub, not the iPod actually
> > triggering a soft disconnect.
> 
> Hard to tell, isn't it?  From the log, it sure does look like the iPod 
> actually did a soft disconnect.  That's what the kernel thinks happened, 
> anyway.

I have a hard time believing it really disconnected though.
Not much point; and it just did a reset *without* disconnect;
mixing the two reset modes (with and without disconnect)
would just be wierd.  And such a reset would make trouble
in some common configurations, so I can't imagine why
Apple would have coded such a thing.

 
> I don't know anything about how the dual EHCI-UHCI setup works.  How does
> the UHCI controller give the port back to the EHCI controller?  There's
> nothing in the UHCI driver to account for it.  I've been assuming this was
> all handled by hardware associated with the controllers and it could only
> be triggered by an actual disconnect.

The port goes back to the main controller (EHCI) on disconnect.
This could conceivably be something Intel added to recent
spins of UHCI.


> > > Sep 26 07:17:56 doolittle kernel: ehci_hcd 0000:00:1d.7: GetStatus port 
> > > 4 status 001803 POWER sig=j  CSC CONNECT
> > > ....
> > > 
> > > (and these messages go on and on...)
> > 
> > Well, it looks like not only did UHCI give the port back to EHCI, but
> > it first put it into a really wierd mode where it can't reset again.
> 
> How could UHCI do that?  All that happened was UHCI disabled the port.  
> Should that have affected the EHCI controller at all?

Conceptually, there's a latched switch on each port.  The initial
state is ports connecting to EHCI.  If EHCI doesn't see a high speed
device after reset, it flicks the switch to hand off to the companion
controller (UHCI in this case).  Later disconnect releases the latch,
so the port returns to EHCI.

It's clear there's more going on here.  EHCI did a reset and then
handed the port to UHCI.  UHCI did a reset, then the device was
misbehaving (not accepting address).  UHCI did another reset,
then the device disconnected and went into deep-wierd mode.


> > That "goes on and on" behavior is trouble, likely from one of
> > the recent khubd changes.  I've seen similar trouble from
> > an RC2 kernel when an OHCI  root hub port misbehaved ...
> > seems like disabling a port doesn't "stick" the way it used to.
> 
> Or resetting the port causes EHCI to think a disconnect occurred...

That'd be orthogonal to the "on and on" behavior change
I was describing.

But if this iPod likes to disconnect after resets, that'd certainly
explain some of these problems.  Thing is, I can't quite
imagine that's the issue ... else we'd have heard about
similar problems from lots of other iPod users, right?

- Dave


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to