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

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 23 May 2015 01:42:57 +0200
Bernd Walter <ticso@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



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