High-Speed devices listed at XHCI
Gary Jennejohn
gljennjohn at gmail.com
Sat May 23 07:36:33 UTC 2015
On Sat, 23 May 2015 01:42:57 +0200
Bernd Walter <ticso at cicely7.cicely.de> wrote:
> I'm a bit confused, because so far I'd thought that SS USB Hub
> topology means that HS/FS/LS is a separate structure sharing the same
> connector as SS.
> Now, just a few minutes ago I've added a beafy SS hub with 16 ports
> (actually 4 port => 4x4 Port in one case) to my system to migrate disks
> from HS ports to SS, but also connected HS drives to the SS ports.
> I see all SS hubs twice, as SS and HS hubs, which is understandable with
> the dual topology, but they are all listed at the XHCI controller and
> also use 2 addresses on the XHCI.
> Also the HS devices (or the single SS device with HS only-cable) are
> listed at the XHCI.
>
> [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)
> ugen1.2: <product 0x0024 vendor 0x8087> at usbus1, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
> ugen2.2: <product 0x0024 vendor 0x8087> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
> ugen0.2: <product 0x0610 vendor 0x05e3> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA)
> ugen0.3: <product 0x0610 vendor 0x05e3> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA)
> ugen0.4: <product 0x0610 vendor 0x05e3> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA)
> ugen0.5: <product 0x0610 vendor 0x05e3> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA)
> ugen0.6: <product 0x0610 vendor 0x05e3> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (100mA)
> ugen0.7: <product 0x0612 vendor 0x05e3> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
> ugen0.8: <product 0x0612 vendor 0x05e3> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
> ugen0.9: <USB 3.0 Device Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (36mA)
> ugen0.10: <USB 3.0 Device Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (36mA)
> ugen0.11: <USB 3.0 Device Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (36mA)
> ugen0.12: <USB 3.0 Device Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (36mA)
> ugen0.13: <product 0x0612 vendor 0x05e3> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
> ugen0.14: <USB 3.0 Device Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (36mA)
> ugen0.15: <USB 3.0 Device Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (36mA)
> ugen0.16: <product 0x0612 vendor 0x05e3> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
> ugen0.17: <product 0x0612 vendor 0x05e3> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
> ugen0.18: <USB 3.0 Device Intenso> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (0mA)
> ugen0.19: <USB 3.0 Device Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (0mA)
> ugen0.20: <USB 3.0 Device Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (0mA)
> ugen0.21: <USB 3.0 Device Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (0mA)
> ugen0.22: <External USB 3.0 Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (2mA)
> ugen0.23: <External USB 3.0 Intenso> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=ON (2mA)
> ugen0.24: <TrekStor DS maxi g.u JMicron> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
> ugen0.25: <TrekStor DS maxi g.u JMicron> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
> ugen0.26: <TrekStor DS maxi g.u JMicron> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (2mA)
>
Yeah, but they have to be different endpoints on the XHCI controller
to reflect the SS/HS difference.
My simpler 4-port SS hub looks like this:
ugen0.2: <USB3.0 Hub VIA Labs, Inc.> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
ugen0.3: <USB2.0 Hub VIA Labs, Inc.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
root:ernst:~:bash:4> usbconfig -u 0 -a 3 dump_device_desc
ugen0.3: <USB2.0 Hub VIA Labs, Inc.> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0210
bDeviceClass = 0x0009 <HUB>
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0001
bMaxPacketSize0 = 0x0040
idVendor = 0x2109
idProduct = 0x2812
bcdDevice = 0x9090
iManufacturer = 0x0001 <VIA Labs, Inc. >
iProduct = 0x0002 <USB2.0 Hub >
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
root:ernst:~:bash:5> usbconfig -u 0 -a 2 dump_device_desc
ugen0.2: <USB3.0 Hub VIA Labs, Inc.> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE (0mA)
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0300
bDeviceClass = 0x0009 <HUB>
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0003
bMaxPacketSize0 = 0x0009
idVendor = 0x2109
idProduct = 0x0812
bcdDevice = 0x9091
iManufacturer = 0x0001 <VIA Labs, Inc. >
iProduct = 0x0002 <USB3.0 Hub >
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
--
Gary Jennejohn
More information about the freebsd-usb
mailing list