2011年9月18日

USB3.0ハブを調べてみる

USB3.0ハブを入手したので少し調べてみました。
まずは 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 件のコメント: