Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 May 2015 16:41:41 +0200
From:      Bernd Walter <ticso@cicely7.cicely.de>
To:        Gary Jennejohn <gljennjohn@gmail.com>
Cc:        Bernd Walter <ticso@cicely7.cicely.de>, freebsd-usb@freebsd.org
Subject:   Re: High-Speed devices listed at XHCI
Message-ID:  <20150523144140.GJ51052@cicely7.cicely.de>
In-Reply-To: <20150523152438.690b0826@ernst.home>
References:  <20150522234257.GD51052@cicely7.cicely.de> <20150523093621.0da6caa6@ernst.home> <20150523122522.GH51052@cicely7.cicely.de> <20150523152438.690b0826@ernst.home>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, May 23, 2015 at 03:24:38PM +0200, Gary Jennejohn wrote:
> On Sat, 23 May 2015 14:25:23 +0200
> Bernd Walter <ticso@cicely7.cicely.de> wrote:
> 
> > On Sat, May 23, 2015 at 09:36:21AM +0200, Gary Jennejohn wrote:
> > > On Sat, 23 May 2015 01:42:57 +0200
> > > Bernd Walter <ticso@cicely7.cicely.de> wrote:
> [snip]
> > > > [63]cicely1# usbconfig 
> > > > ugen1.1: <EHCI root HUB Intel> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
> > > > ugen0.1: <XHCI root HUB 0x8086> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
> > > > ugen2.1: <EHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
> > > 
> [snip]
> > > Yeah, but they have to be different endpoints on the XHCI controller
> > > to reflect the SS/HS difference.
> > 
> > I'm not surprised to see them listed twice, but that they are both
> > listed at the XHCI.
> > So the XHCI also does the HS job?
> > I would have expected the SS to be on the XHCI and HS on an EHCI.
> > 
> 
> How can they be on the EHCI?  You plugged the 4x4 hub into USB bus
> 0, not bus 1 or 2.  The 3 busses you have are totally disjoint and
> electrically isolated.  USB3 is also backwards compatible; the XHCI
> controller can also support the slower speeds corresponding to OHCI
> and EHCI.

Well so far I already had known that HS and SS are separated and just
share the connectors (different hub topology, etc...).
I didn't know that the XHCI controller also support HS all by itself.
With HS the controller don't support FS/LS at all and required a
companion controller to do that, with separate bus number and
enumeration - these days however is is more common to have an integrated
HS hub to translate to FS/LS.
I thought the XHCI uses an EHCI companion and since the HS and SS busses
are distributed individually I thought the EHCI controls all HS
devices in the tree, unlike HS, where not directly connected FS devices
are controlled by the HS controller via TT in hub.
So in fact the XHCI is a HS and SS controller using a single enumeration
for both.
And it seems it even is a FS and LS controller, since a direct connected
FS device was directly enumerated to the root hub.
For me this was unexpected.
Thank you for clearification.

-- 
B.Walter <bernd@bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150523144140.GJ51052>