On Thursday 05 July 2007, Felipe Balbi wrote:
> Hi Alan,
> 
> On 7/5/07, Alan Stern <[EMAIL PROTECTED]> wrote:
> > On Wed, 4 Jul 2007, Felipe Balbi wrote:
> >
> > > > If the device firmware has gone crazy, reset the device, then port.
> > > > This is what HID does, for example, because in it's illegal for
> > > > HID devices to bunch reports together.
> > >
> > > and what about ending the session and starting all over again???
> > > seems to me that we don't know what's causing the babble in some
> > > cases... so the only way out is ending the session in the usb host
> > > controller itself.
> >
> > Resetting the device (or its port -- I can't quite tell exactly what
> > Pete meant above) effectively _does_ start a new session.
> >
> > However with some devices, the only way to truly reset them is to
> > unplug their power cable.  Not much the kernel can do then.
> 
> Some usb controllers (at least the one I've being working on) has a
> Session Bit in some register. When you clear that bit you force the
> controller to completely end the session. Is something like a software
> disconnect.
> 
> When you write 1 again to that bit, the controller re-enumerates
> everything attached.

Yes, and that also hooks up to the VBUS logic so that it power cycles
the link.

I think the point Alan was making is that there's the stuff the USB
stack can control -- like VBUS power switching, mostly on external
hubs but also on some root hubs -- as well as stuff outside the scope
of the USB stack.

An example of the latter would be certain hardware which needs a
very hard reset (power cycle) when it enters certain erroneous
states.  When the device power isn't coming from USB, that's stuff
the USB stack can't achieve.

(And yes, I've seen peripheral silicon which is exactly that buggy.)

- Dave


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
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