On Fri, 19 Jan 2007, David Brownell wrote:

> On Friday 19 January 2007 9:17 am, Jon Smirl wrote:
> 
> > There is still the unexplained case of it working ok when plugged into
> > a hub, it only fails on a root controller. But it failed on both ICH4
> > and ICH5. It works on both my USB 1.0 and USB 2.0 hubs.
> 
> Sorry if this came out in earlier discussion ... but has it been
> established that this isn't a UHCI-specific issue?  Assuming this
> is a full-speed device, did you test with OHCI root hubs?

I think it unlikely that this is UHCI-specific, but it's always a good 
idea to make certain...

> I'd be rather suspicious about the conclusion that this is a bug
> in the peripheral device hardware:
> 
>  - It works through external hubs.  So not working through a root hub
>    strongly suggests it's a bug in that root hub ... and if it fails
>    on OHCI too, I'd be more likely to suspect the same bug in both
>    root hub drivers.

Hmmm...  Don't try to have it both ways.  If OHCI succeeds you conclude
it's a bug in uhci-hcd; if OHCI fails you conclude it's a common bug in
both uhci-hcd and ohci-hcd.  If anything I would suspect a hardware bug in
the Intel controllers -- which would be supported if the device worked
with OHCI.  On the other hand, if the device also fails with OHCI then I'd
be even more inclined to believe the device is buggy.

And as a matter of fact, I'm not so sure that the device really does work
correctly with external hubs.  It may _appear_ to work, but that could
simply be the result of other factors kicking in.  At one point Jon sent
me (it was large enough that he didn't want to post it to the entire
mailing list) a log showing the what happened when the audio device was
attached to an external hub.  The log showed that at regular 30-second
intervals, something was waking up every USB device -- possibly some
daemon periodically doing the equivalent of lsusb.  Each time this
happened the audio device's resume failed because it disconnected from 
its hub and then reconnected.  That is pretty much the same as what we
see with a root hub.

The log also showed some instances where the audio device did resume 
successfully while attached to a root hub.

>  - This autosuspend mechanism is still very new, and of a complexity
>    where I'd expect it to trigger problems in the driver stack.

On the other hand, it works correctly for many other devices.

>  - This class of hardware bug would be surprising to me, considering
>    that devices routinely suspend then resume in the middle of their
>    enumeration sequences.

They _reset_ then resume, which isn't quite the same thing, although it 
is similar.  Note that the audio device does enumerate correctly 
initially.

>  - Hey, it was intermittent even on Alan's UHCI system, which is also
>    a symptom of a bug in a code path that's not always traversed.

No, that was something else.  The intermittent events I was talking about
were definite hardware bugs which left a uniquely identifiable fingerprint
in the system log.  They aren't the source of Jon's problem (although that 
bug _did_ occur in at least one of the logs, but it was for a device on a 
different port, not the audio device).

> Combining all that makes me more suspicions that this is just an
> issue with the current iteration of the Linux support.  Some host
> side driver misbehaving, rather than the peripheral hardware or
> firmware.

Sometimes it can be very difficult to tell exactly where a problem lies.

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
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