# USB 3.0 Flash Drive & Hub issues

## dewhite

Hello all,

I am working on getting a USB 3.0 flash drive (a 32gb Corsair Voyager GT) to mount via a USB 3.0 hub, connected to a P67 based motherboard with 3.0 ports onboard.  Two issues:

First:  Using the same hub (it has some 3.0 and 2.0 ports) I am able to mount the drive via USB 2.0 and operate as expected.  When plugging into the 3.0 port(s) there is no reaction (tail -f /var/log/messages produces no reaction to the event).

I have xhci support built into my kernel:

```
dan ~ # cat /proc/config.gz | gunzip | grep XHCI

CONFIG_USB_ARCH_HAS_XHCI=y

CONFIG_USB_XHCI_HCD=y

# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
```

I read in some thread found on google that UAS support would be required, but it seems to be marked as BROKEN:

```
  │ Symbol: USB_UAS [=n]  

  │ Type  : tristate  

  │ Prompt: USB Attached SCSI  

  │   Defined at drivers/usb/storage/Kconfig:204  

  │   Depends on: USB_SUPPORT [=y] && USB [=y] && SCSI [=y] && BROKEN [=n]  

  │   Location:  

  │     -> Device Drivers  

  │       -> USB support (USB_SUPPORT [=y])
```

So, does this mean that there is no support for mounting USB 3.0 Flash Drives at this time?

Second:  The same hub mentioned above seems to have problems with auto-suspend in the kernel.  When I have CONFIG_USB_SUSPEND [=y] set in the kernel (as per the request of the ebuild for udisk) The following barfs into /var/log/messages continuously, about every 5 seconds:

```
Jan 23 11:03:56 dan kernel: [ 1884.268083] hub 4-0:1.0: hub_suspend

Jan 23 11:03:56 dan kernel: [ 1884.268090] usb usb4: bus auto-suspend, wakeup 1

Jan 23 11:03:56 dan kernel: [ 1884.268099] usb usb4: suspend raced with wakeup event

Jan 23 11:03:56 dan kernel: [ 1884.268100] usb usb4: usb auto-resume

Jan 23 11:03:56 dan kernel: [ 1884.285044] hub 4-0:1.0: hub_resume
```

Disabling CONFIG_USB_SUSPEND predictably makes the problem go away, but is that going to be a big problem for udisk?  Do I care?

Any thoughts, questions, comments, ideas, references, etc are certainly appreciated!

EDIT:  I should have mentioned:

```
dan ~ # uname -a

Linux dan 3.6.11-gentoo #10 SMP Wed Jan 23 10:42:17 CST 2013 x86_64 Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz GenuineIntel GNU/Linux
```

----------

## BradN

Can you post any USB boot time messages as well?  Maybe there's a hint in there.  Otherwise try newer/older kernels - perhaps it was something that got broken at one point for your system.

There shouldn't be anything special to do but have xhci enabled in the kernel config as far as I know, but maybe it's not the worst idea to try playing with some related options.

----------

## dewhite

 *BradN wrote:*   

> Can you post any USB boot time messages as well?  Maybe there's a hint in there.  Otherwise try newer/older kernels - perhaps it was something that got broken at one point for your system.
> 
> There shouldn't be anything special to do but have xhci enabled in the kernel config as far as I know, but maybe it's not the worst idea to try playing with some related options.

 

```
dan ~ # dmesg | grep xhci

[    1.434014] xhci_hcd 0000:07:00.0: xHCI Host Controller

[    1.434555] xhci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 3

[    1.442017] xhci_hcd 0000:07:00.0: supports USB remote wakeup

[    1.442027] xhci_hcd 0000:07:00.0: irq 19, io mem 0xf7100000

[    1.442591] xhci_hcd 0000:07:00.0: irq 44 for MSI/MSI-X

[    1.442594] xhci_hcd 0000:07:00.0: irq 45 for MSI/MSI-X

[    1.442598] xhci_hcd 0000:07:00.0: irq 46 for MSI/MSI-X

[    1.442601] xhci_hcd 0000:07:00.0: irq 47 for MSI/MSI-X

[    1.442604] xhci_hcd 0000:07:00.0: irq 48 for MSI/MSI-X

[    1.444221] usb usb3: Manufacturer: Linux 3.6.11-gentoo xhci_hcd

[    1.445291] xHCI xhci_add_endpoint called for root hub

[    1.445292] xHCI xhci_check_bandwidth called for root hub

[    1.446395] xhci_hcd 0000:07:00.0: xHCI Host Controller

[    1.446954] xhci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 4

[    1.447477] xhci_hcd 0000:07:00.0: supports USB remote wakeup

[    1.449109] usb usb4: Manufacturer: Linux 3.6.11-gentoo xhci_hcd

[    1.450245] xHCI xhci_add_endpoint called for root hub

[    1.450246] xHCI xhci_check_bandwidth called for root hub

[    2.209015] usb 3-1: new high-speed USB device number 2 using xhci_hcd

[    2.498913] usb 3-1.4: new high-speed USB device number 3 using xhci_hcd

[    2.780509] usb 3-1.4.4: new full-speed USB device number 4 using xhci_hcd
```

```
dan ~ # dmesg | grep usb

[    0.230327] ACPI: bus type usb registered

[    0.230432] usbcore: registered new interface driver usbfs

[    0.230523] usbcore: registered new interface driver hub

[    0.230619] usbcore: registered new device driver usb

[    1.413276] usb usb1: default language 0x0409

[    1.413280] usb usb1: udev 1, busnum 1, minor = 0

[    1.413281] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002

[    1.413803] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    1.414314] usb usb1: Product: EHCI Host Controller

[    1.414830] usb usb1: Manufacturer: Linux 3.6.11-gentoo ehci_hcd

[    1.415349] usb usb1: SerialNumber: 0000:00:1a.0

[    1.415926] usb usb1: usb_probe_device

[    1.415928] usb usb1: configuration #1 chosen from 1 choice

[    1.415932] usb usb1: adding 1-0:1.0 (config #1, interface 0)

[    1.415957] hub 1-0:1.0: usb_probe_interface

[    1.415958] hub 1-0:1.0: usb_probe_interface - got id

[    1.416961] hub 1-0:1.0: no power switching (usb 1.0)

[    1.429239] usb usb2: default language 0x0409

[    1.429242] usb usb2: udev 1, busnum 2, minor = 128

[    1.429244] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002

[    1.429743] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    1.430244] usb usb2: Product: EHCI Host Controller

[    1.430751] usb usb2: Manufacturer: Linux 3.6.11-gentoo ehci_hcd

[    1.431263] usb usb2: SerialNumber: 0000:00:1d.0

[    1.431832] usb usb2: usb_probe_device

[    1.431834] usb usb2: configuration #1 chosen from 1 choice

[    1.431838] usb usb2: adding 2-0:1.0 (config #1, interface 0)

[    1.431861] hub 2-0:1.0: usb_probe_interface

[    1.431862] hub 2-0:1.0: usb_probe_interface - got id

[    1.432881] hub 2-0:1.0: no power switching (usb 1.0)

[    1.442686] usb usb3: default language 0x0409

[    1.442689] usb usb3: udev 1, busnum 3, minor = 256

[    1.442691] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002

[    1.443205] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    1.443722] usb usb3: Product: xHCI Host Controller

[    1.444221] usb usb3: Manufacturer: Linux 3.6.11-gentoo xhci_hcd

[    1.444731] usb usb3: SerialNumber: 0000:07:00.0

[    1.445288] usb usb3: usb_probe_device

[    1.445289] usb usb3: configuration #1 chosen from 1 choice

[    1.445295] usb usb3: adding 3-0:1.0 (config #1, interface 0)

[    1.445319] hub 3-0:1.0: usb_probe_interface

[    1.445320] hub 3-0:1.0: usb_probe_interface - got id

[    1.446360] hub 3-0:1.0: no power switching (usb 1.0)

[    1.447500] usb usb4: skipped 1 descriptor after endpoint

[    1.447502] usb usb4: default language 0x0409

[    1.447505] usb usb4: udev 1, busnum 4, minor = 384

[    1.447506] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003

[    1.448038] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1

[    1.448570] usb usb4: Product: xHCI Host Controller

[    1.449109] usb usb4: Manufacturer: Linux 3.6.11-gentoo xhci_hcd

[    1.449649] usb usb4: SerialNumber: 0000:07:00.0

[    1.450242] usb usb4: usb_probe_device

[    1.450244] usb usb4: configuration #1 chosen from 1 choice

[    1.450248] usb usb4: adding 4-0:1.0 (config #1, interface 0)

[    1.450272] hub 4-0:1.0: usb_probe_interface

[    1.450273] hub 4-0:1.0: usb_probe_interface - got id

[    1.451348] hub 4-0:1.0: no power switching (usb 1.0)

[    1.461279] usbcore: registered new interface driver usb-storage

[    1.462361] usbcore: registered new interface driver libusual

[    1.474258] usbcore: registered new interface driver usbhid

[    1.474800] usbhid: USB HID core driver

[    1.718470] usb 1-1: new high-speed USB device number 2 using ehci_hcd

[    1.832726] usb 1-1: udev 2, busnum 1, minor = 1

[    1.832731] usb 1-1: New USB device found, idVendor=8087, idProduct=0024

[    1.833362] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

[    1.834191] usb 1-1: usb_probe_device

[    1.834194] usb 1-1: configuration #1 chosen from 1 choice

[    1.834363] usb 1-1: adding 1-1:1.0 (config #1, interface 0)

[    1.834548] hub 1-1:1.0: usb_probe_interface

[    1.834551] hub 1-1:1.0: usb_probe_interface - got id

[    1.936959] usb 1-1: link qh256-0001/ffff8802147c3b00 start 1 [1/0 us]

[    1.938234] usb 2-1: new high-speed USB device number 2 using ehci_hcd

[    2.052508] usb 2-1: udev 2, busnum 2, minor = 129

[    2.052511] usb 2-1: New USB device found, idVendor=8087, idProduct=0024

[    2.053110] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

[    2.053938] usb 2-1: usb_probe_device

[    2.053940] usb 2-1: configuration #1 chosen from 1 choice

[    2.053974] usb 2-1: adding 2-1:1.0 (config #1, interface 0)

[    2.054000] hub 2-1:1.0: usb_probe_interface

[    2.054001] hub 2-1:1.0: usb_probe_interface - got id

[    2.157006] usb 2-1: link qh256-0001/ffff8802147c3900 start 1 [1/0 us]

[    2.209015] usb 3-1: new high-speed USB device number 2 using xhci_hcd

[    2.224139] usb 3-1: default language 0x0409

[    2.224336] usb 3-1: udev 2, busnum 3, minor = 257

[    2.224341] usb 3-1: New USB device found, idVendor=2109, idProduct=0811

[    2.224970] usb 3-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0

[    2.225564] usb 3-1: Product: USB2.0 Hub

[    2.226350] usb 3-1: usb_probe_device

[    2.226353] usb 3-1: configuration #1 chosen from 1 choice

[    2.227873] usb 3-1: Successful Endpoint Configure command

[    2.228031] usb 3-1: adding 3-1:1.0 (config #1, interface 0)

[    2.228212] hub 3-1:1.0: usb_probe_interface

[    2.228215] hub 3-1:1.0: usb_probe_interface - got id

[    2.230232] usb 3-1: Successful Endpoint Configure command

[    2.498913] usb 3-1.4: new high-speed USB device number 3 using xhci_hcd

[    2.513000] usb 3-1.4: default language 0x0409

[    2.513041] usb 3-1.4: udev 3, busnum 3, minor = 258

[    2.513043] usb 3-1.4: New USB device found, idVendor=1a40, idProduct=0101

[    2.513649] usb 3-1.4: New USB device strings: Mfr=0, Product=1, SerialNumber=0

[    2.514257] usb 3-1.4: Product: USB 2.0 Hub

[    2.515050] usb 3-1.4: usb_probe_device

[    2.515052] usb 3-1.4: configuration #1 chosen from 1 choice

[    2.516683] usb 3-1.4: Successful Endpoint Configure command

[    2.516732] usb 3-1.4: adding 3-1.4:1.0 (config #1, interface 0)

[    2.516871] hub 3-1.4:1.0: usb_probe_interface

[    2.516874] hub 3-1.4:1.0: usb_probe_interface - got id

[    2.518767] usb 3-1.4: Successful Endpoint Configure command

[    2.780509] usb 3-1.4.4: new full-speed USB device number 4 using xhci_hcd

[    2.806726] usb 3-1.4.4: skipped 1 descriptor after interface

[    2.806732] usb 3-1.4.4: skipped 1 descriptor after interface

[    2.806734] usb 3-1.4.4: skipped 1 descriptor after interface

[    2.807020] usb 3-1.4.4: default language 0x0409

[    2.808746] usb 3-1.4.4: udev 4, busnum 3, minor = 259

[    2.808751] usb 3-1.4.4: New USB device found, idVendor=045e, idProduct=0745

[    2.809399] usb 3-1.4.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[    2.810015] usb 3-1.4.4: Product: Microsoft\xffffffc2\xffffffae 2.4GHz Transceiver v7.0

[    2.810634] usb 3-1.4.4: Manufacturer: Microsoft

[    2.811446] usb 3-1.4.4: usb_probe_device

[    2.811449] usb 3-1.4.4: configuration #1 chosen from 1 choice

[    2.814113] usb 3-1.4.4: Successful Endpoint Configure command

[    2.814336] usb 3-1.4.4: adding 3-1.4.4:1.0 (config #1, interface 0)

[    2.814524] usbhid 3-1.4.4:1.0: usb_probe_interface

[    2.814526] usbhid 3-1.4.4:1.0: usb_probe_interface - got id

[    2.818234] input: Microsoft Microsoft\xffffffc2\xffffffae 2.4GHz Transceiver v7.0 as /devices/pci0000:00/0000:00:1c.7/0000:07:00.0/usb3/3-1/3-1.4/3-1.4.4/3-1.4.4:1.0/input/input2

[    2.819874] hid-generic 0003:045E:0745.0001: input,hidraw0: USB HID v1.11 Keyboard [Microsoft Microsoft\xffffffc2\xffffffae 2.4GHz Transceiver v7.0] on usb-0000:07:00.0-1.4.4/input0

[    2.821175] usb 3-1.4.4: adding 3-1.4.4:1.1 (config #1, interface 1)

[    2.821327] usbhid 3-1.4.4:1.1: usb_probe_interface

[    2.821330] usbhid 3-1.4.4:1.1: usb_probe_interface - got id

[    2.826586] input: Microsoft Microsoft\xffffffc2\xffffffae 2.4GHz Transceiver v7.0 as /devices/pci0000:00/0000:00:1c.7/0000:07:00.0/usb3/3-1/3-1.4/3-1.4.4/3-1.4.4:1.1/input/input3

[    2.828301] hid-generic 0003:045E:0745.0002: input,hidraw1: USB HID v1.11 Mouse [Microsoft Microsoft\xffffffc2\xffffffae 2.4GHz Transceiver v7.0] on usb-0000:07:00.0-1.4.4/input1

[    2.829658] usb 3-1.4.4: adding 3-1.4.4:1.2 (config #1, interface 2)

[    2.829802] usbhid 3-1.4.4:1.2: usb_probe_interface

[    2.829805] usbhid 3-1.4.4:1.2: usb_probe_interface - got id

[    2.844543] input: Microsoft Microsoft\xffffffc2\xffffffae 2.4GHz Transceiver v7.0 as /devices/pci0000:00/0000:00:1c.7/0000:07:00.0/usb3/3-1/3-1.4/3-1.4.4/3-1.4.4:1.2/input/input4

[    2.846245] usbhid 3-1.4.4:1.2: looking for a minor, starting at 96

[    2.846503] hid-generic 0003:045E:0745.0003: input,hiddev0,hidraw2: USB HID v1.11 Device [Microsoft Microsoft\xffffffc2\xffffffae 2.4GHz Transceiver v7.0] on usb-0000:07:00.0-1.4.4/input2

[   99.611313] usb 3-1.4.1: new high-speed USB device number 5 using xhci_hcd

[   99.624799] usb 3-1.4.1: default language 0x0409

[   99.624928] usb 3-1.4.1: udev 5, busnum 3, minor = 260

[   99.624931] usb 3-1.4.1: New USB device found, idVendor=1b1c, idProduct=1a09

[   99.624934] usb 3-1.4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[   99.624937] usb 3-1.4.1: Product: Voyager GT 3.0

[   99.624939] usb 3-1.4.1: Manufacturer: Corsair

[   99.624941] usb 3-1.4.1: SerialNumber: 22110622310000030084

[   99.625061] usb 3-1.4.1: usb_probe_device

[   99.625063] usb 3-1.4.1: configuration #1 chosen from 1 choice

[   99.625068] usb 3-1.4.1: ep 0x1 - rounding interval to 32768 microframes, ep desc says 0 microframes

[   99.625070] usb 3-1.4.1: ep 0x82 - rounding interval to 32768 microframes, ep desc says 0 microframes

[   99.626729] usb 3-1.4.1: Successful Endpoint Configure command

[   99.626781] usb 3-1.4.1: adding 3-1.4.1:1.0 (config #1, interface 0)

[   99.626819] usb-storage 3-1.4.1:1.0: usb_probe_interface

[   99.626825] usb-storage 3-1.4.1:1.0: usb_probe_interface - got id

[   99.626965] scsi8 : usb-storage 3-1.4.1:1.0
```

That bit at the end there (~99 seconds) is the USB 3.0 Flash Drive, being detected in a USB 2.0 port on the same hub that won't detect it in one of its SuperSpeed ports.

I also tried a USB 2.0 Flash Drive in both of the same 2.0 and 3.0 capable ports.  Aggravatingly - it works perfectly in both...

For reference, the hub in question is: http://www.amazon.com/gp/product/B0073BC2ZU

----------

