On Mon, 19 Sep 2005, Jason D. Sommerville wrote:

> On Monday 19 September 2005 09:09 am, you wrote:
> > > I've done a little more testing, and if I plug the drive into ports 0,1
> > > or 4 (my own arbitrary numbering) it is recognized as a USB 1.0 device.
> > > Ports 2 and 3 it connects as a 1.1 device.
> >
> > (I assume you mean that in ports 0, 1, and 4 it runs at high speed,
> > whereas in ports 2 and 3 it runs at full speed.  It will always be
> > recognized as a USB 2.0 device no matter what port you use; you check this
> > by looking at the "Ver=" field on the D: line in /proc/bus/usb/devices.)
> >
> 
> No, I mean full speed as opposed to low speed. It never connects as a high 
> speed device. (Otherwise I'd just use the working plug and not bother you 
> guys!)

Oh, okay.  If your drive _ever_ connects at low speed then there's
something very wrong either with it or with the PCI card.  Can you post
the /proc/bus/usb/devices entry, and maybe also the dmesg log, for this 
situation?  The logs you posted before show full-speed connections.

> I get the impression that the hub to which the connects (the 2.0 hub, vs. the 
> 1.1 hub, etc.) is a decision entirely made by the hardware. Is that correct?

No, not really.  You also have to understand that the card contains only
two types of controller: high speed (EHCI) and full/low speed (OHCI).  
There is no separate low-speed controller; low-speed connections are
handled by the OHCI controller.

When the device first connects, it talks to the EHCI controller.  If it's
a low-speed device, the controller realizes it from the initial electrical
signal levels and doesn't do anything more.  Otherwise the driver tells
the EHCI controller to reset the device, and if the device is capable of
operating at high speed then during the reset it exchanges various
electrical signals with the controller to let it know.  When the reset is
done, the connection is running either at full speed or high speed.  But
the EHCI controller can't handle full-speed communications.  So for low-
or full-speed devices, the driver software tells the hardware to switch
the connection over to the companion OHCI controller.

Broadly speaking, the hardware determines the capabilities but the 
software determines which controller is actually used.

Alan Stern



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to