まずは dmesg でどのように認識されているかを確認。USBデバイスが2つ認識されていた。1つはHigh-SpeedのUSBハブ。もう1つはSuper-SpeedのUSBハブ。
前から気になっていたけど、やはりUSB3.0ハブは上記のように内部的に2つのハブが存存在する模様。
hub 3-0:1.0: state 7 ports 2 chg 0000 evt 0002
hub 3-0:1.0: port 1, status 0101, change 0001, 12 Mb/s
hub 3-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101
usb 3-1: new high speed USB device number 2 using xhci_hcd
xhci_hcd 0000:05:00.0: WARN: short transfer on control ep
usb 3-1: default language 0x0409
xhci_hcd 0000:05:00.0: WARN: short transfer on control ep
usb 3-1: udev 2, busnum 3, minor = 257
usb 3-1: New USB device found, idVendor=2109, idProduct=3431
usb 3-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
usb 3-1: Product: USB2.0 Hub
usb 3-1: usb_probe_device
usb 3-1: configuration #1 chosen from 1 choice
usb 3-1: Successful Endpoint Configure command
usb 3-1: adding 3-1:1.0 (config #1, interface 0)
hub 3-1:1.0: usb_probe_interface
hub 3-1:1.0: usb_probe_interface - got id
hub 3-1:1.0: USB hub found
xhci_hcd 0000:05:00.0: WARN: short transfer on control ep
hub 3-1:1.0: 4 ports detected
hub 3-1:1.0: standalone hub
hub 3-1:1.0: individual port power switching
hub 3-1:1.0: individual port over-current protection
hub 3-1:1.0: Single TT
hub 3-1:1.0: TT requires at most 32 FS bit times (2664 ns)
hub 3-1:1.0: Port indicators are supported
hub 3-1:1.0: power on to power good time: 100ms
usb 3-1: Successful Endpoint Configure command
hub 3-1:1.0: local power source is good
hub 3-1:1.0: enabling power on all ports
hub 4-0:1.0: state 7 ports 2 chg 0000 evt 0002
hub 4-0:1.0: port 1, status 0103, change 0001, 5.0 Gb/s
hub 4-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x103
usb 4-1: new SuperSpeed USB device number 2 using xhci_hcd
usb 4-1: skipped 1 descriptor after endpoint
xhci_hcd 0000:05:00.0: WARN: short transfer on control ep
usb 4-1: default language 0x0409
xhci_hcd 0000:05:00.0: WARN: short transfer on control ep
xhci_hcd 0000:05:00.0: WARN: short transfer on control ep
usb 4-1: udev 2, busnum 4, minor = 385
usb 4-1: New USB device found, idVendor=2109, idProduct=0810
usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 4-1: Product: 4-Port USB 3.0 Hub
usb 4-1: Manufacturer: VIA Labs, Inc.
usb 4-1: usb_probe_device
usb 4-1: configuration #1 chosen from 1 choice
xhci_hcd 0000:05:00.0: WARN no SS endpoint bMaxBurst
usb 4-1: Successful Endpoint Configure command
usb 4-1: adding 4-1:1.0 (config #1, interface 0)
hub 4-1:1.0: usb_probe_interface
hub 4-1:1.0: usb_probe_interface - got id
hub 4-1:1.0: USB hub found
hub 4-1:1.0: 4 ports detected
hub 4-1:1.0: standalone hub
hub 4-1:1.0: individual port power switching
hub 4-1:1.0: individual port over-current protection
hub 4-1:1.0: TT requires at most 8 FS bit times (666 ns)
hub 4-1:1.0: power on to power good time: 2ms
usb 4-1: Successful Endpoint Configure command
hub 4-1:1.0: local power source is good
hub 4-1:1.0: enabling power on all ports
hub 3-1:1.0: state 7 ports 4 chg 0000 evt 0000
hub 4-1:1.0: state 7 ports 4 chg 0000 evt 0000
続いてディスクリプタの内容を見てみる。
2つのハブがそれぞれにディスクリプタを持っている。ちなみにUSB3.0ではハブディスクリプタの構造が変更になっているが、High-SpeedのハブはUSB2.0のハブディスクリプタを持っており、Super-SpeedのハブはUSB3.0のハブディスクリプタも持っている。Super-SpeedのハブはContainer IDのディスクリプタもあった。
Bus 003 Device 002: ID 2109:3431 --> USB2.0ハブ
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x2109
idProduct 0x3431
bcdDevice 2.88
iManufacturer 0
iProduct 1 USB2.0 Hub
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 4
wHubCharacteristic 0x00e9
Per-port power switching
Per-port overcurrent protection
TT think time 32 FS bits
Port indicators
bPwrOn2PwrGood 50 * 2 milli seconds
bHubContrCurrent 100 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
Bus 004 Device 002: ID 2109:0810
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 3
bMaxPacketSize0 9
idVendor 0x2109
idProduct 0x0810
bcdDevice 3.88
iManufacturer 1 VIA Labs, Inc.
iProduct 2 4-Port USB 3.0 Hub
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 31
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 19
Transfer Type Interrupt
Synch Type None
Usage Type Feedback
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 16
bMaxBurst 0
Hub Descriptor:
bLength 12
bDescriptorType 42
nNbrPorts 4
wHubCharacteristic 0x0009
Per-port power switching
Per-port overcurrent protection
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 8 milli Ampere
bHubDecLat 0.0 micro seconds
wHubDelay 4000 nano seconds
DeviceRemovable 0x00
Hub Port Status:
Port 1: 0000.02a0 5Gbps power Rx.Detect
Port 2: 0000.02a0 5Gbps power Rx.Detect
Port 3: 0000.02a0 5Gbps power Rx.Detect
Port 4: 0000.02a0 5Gbps power Rx.Detect
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 42
bNumDeviceCaps 3
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000002
Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
Latency Tolerance Messages (LTM) Supported
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 0
Lowest fully-functional device speed is Low Speed (1Mbps)
bU1DevExitLat 3 micro seconds
bU2DevExitLat 1255 micro seconds
Container ID Device Capability:
bLength 20
bDescriptorType 16
bDevCapabilityType 4
bReserved 0
ContainerID {00000000-0000-0000-0000-000000000000}
Device Status: 0x0001
Self Powered
ちなみに、確認した環境は…
ホストPC : Gentoo Linux (kernel 2.6.39-gentoo-r3)
USBハブ : Buffalo BSH4A04U3BK
0 件のコメント:
コメントを投稿