On Monday 19 September 2005 01:47 pm, you wrote:
> 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
_______________________________________________
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