xhci-hcd does not detect USB3 host controller: how to debug/diagnose?

From: David Madore
Date: Mon Nov 02 2015 - 11:50:59 EST

Dear list,

I have a USB 3.0 controller card connected to a PCI-E bus that appears
on lspci as

06:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 03) (prog-if 30 [XHCI])
Subsystem: ASUSTeK Computer Inc. P8P67 Deluxe Motherboard [1043:8413]
Flags: fast devsel, IRQ 10
Memory at efdfe000 (64-bit, non-prefetchable) [size=8K]

My problem is that a 4.3 kernel that I compiled [see link below for
config] does not see this peripheral at all: loading the xhci-hcd
module does not provide any sort of diagnostic, nothing appears in
dmesg (even when I insert something in a USB port), the module is not
marked as in use and does not appear in lspci -v (there is no link
/sys/bus/pci/devices/0000:06:00.0/driver). No error, no warning, no
message, nothing: the module simply behaves as a no-op.

(I made sure to load xhci-hcd before ehci-hcd and uhci-hcd, in case
this is important. I also tried loading xhci-hcd last, but none of
this made any difference.)

This is almost certainly a config problem, because booting a live
Ubuntu 14.04 LTS, the controller is recognized by xhci-hcd, as it
should be:

[ 4.949337] xhci_hcd 0000:06:00.0: xHCI Host Controller
[ 4.949344] xhci_hcd 0000:06:00.0: new USB bus registered, assigned bus number 1
[ 4.949653] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 4.949655] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 4.949658] usb usb1: Product: xHCI Host Controller
[ 4.949660] usb usb1: Manufacturer: Linux 3.19.0-25-generic xhci-hcd
[ 4.949662] usb usb1: SerialNumber: 0000:06:00.0
[ 4.949790] hub 1-0:1.0: USB hub found
[ 4.949801] hub 1-0:1.0: 2 ports detected

My question is: how can I diagnose this problem? What can cause the
driver to fail to see the peripheral and ignore it without any kind of
diagnostic? Is there any way I can debug this, or ask the xhci-hcd
module "why are you ignoring 06:00.0?"?

Links to more information:

Full config of custom 4.3 kernel:

dmesg output of said custom kernel:

lspci -vvv output under custom kernel:

dmesg output of live Ubuntu where the module works:

lspci -vvv output under live Ubuntu:

David A. Madore
( http://www.madore.org/~david/ )
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/