xHCI - hpaluch/hpaluch.github.io GitHub Wiki

xHCI

xHCI is industry standard for USB Host controllers (mainly USB 3.0). In other words: one OS xHCI driver should work with xHCI from any vendor.

ADATA disk problem

I encountered following problem: when plugged in ADATA 2TB USB disk to VIA xHCI USB controller, it was not detected, just these strange errors appeared in dmesg

usb 3-1.4: new high-speed USB device number 3 using xhci_hcd
usb usb4-port4: Cannot enable. Maybe the USB cable is bad?
usb 3-1.4: device descriptor read/64, error -110
usb usb4-port4: Cannot enable. Maybe the USB cable is bad?
usb 3-1.4: device descriptor read/64, error -110
usb usb4-port4: Cannot enable. Maybe the USB cable is bad?
usb usb4-port4: Cannot enable. Maybe the USB cable is bad?
usb usb4-port4: attempt power cycle
usb 3-1.4: new high-speed USB device number 4 using xhci_hcd
usb 3-1.4: device descriptor read/64, error -110
usb 3-1.4: device descriptor read/64, error -110
usb 3-1-port4: attempt power cycle
usb usb4-port4: Cannot enable. Maybe the USB cable is bad?
usb usb4-port4: Cannot enable. Maybe the USB cable is bad?
usb usb4-port4: unable to enumerate USB device

Solution: attached USB 3 disk ADATA to Hub with its own Power supply.

  • here is lspci of used xHCI controller:
    04:00.0 USB controller: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller (rev 01)
    
  • here is output of lsusb -tv:
    /:  Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/4p, 5000M
        ID 1d6b:0003 Linux Foundation 3.0 root hub
        |__ Port 004: Dev 010, If 0, Class=Hub, Driver=hub/4p, 5000M
            ID 0bda:0411 Realtek Semiconductor Corp. Hub
            |__ Port 001: Dev 012, If 0, Class=Mass Storage, Driver=[none], 5000M
                ID 125f:a64a A-DATA Technology Co., Ltd.
            |__ Port 004: Dev 011, If 0, Class=Hub, Driver=hub/4p, 5000M
                ID 0bda:0411 Realtek Semiconductor Corp. Hub
    

Problem solved (hopefully).