# lsmod |grep xhc
nothing here but in
# dmesg |grep xhc [ 0.650446] xhci_hcd 0000:00:14.0: xHCI Host Controller [ 0.650450] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1 [ 0.651518] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x00109810 [ 0.651523] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported [ 0.651580] usb usb1: Manufacturer: Linux 4.2.0-25-generic xhci-hcd [ 0.659081] xhci_hcd 0000:00:14.0: xHCI Host Controller [ 0.659083] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2 [ 0.659105] usb usb2: Manufacturer: Linux 4.2.0-25-generic xhci-hcd [ 0.969678] usb 1-5: new full-speed USB device number 2 using xhci_hcd [ 1.269906] usb 1-6: new low-speed USB device number 3 using xhci_hcd [ 1.722308] usb 1-11: new high-speed USB device number 4 using xhci_hcd [ 3487.664191] usb 1-1: new high-speed USB device number 5 using xhci_hcd [ 3555.543441] usb 1-1: reset high-speed USB device number 5 using xhci_hcd
is it already working but built-in in the kernel?
#locate xhci /lib/modules/4.2.0-16-generic/kernel/drivers/usb/host/xhci-plat-hcd.ko /lib/modules/4.2.0-22-generic/kernel/drivers/usb/host/xhci-plat-hcd.ko /lib/modules/4.2.0-23-generic/kernel/drivers/usb/host/xhci-plat-hcd.ko /lib/modules/4.2.0-25-generic/kernel/drivers/usb/host/xhci-plat-hcd.ko /usr/src/linux-headers-4.2.0-16/... ...
You can check your USB devices with, e.g.,
lsusb -t. There should also be listed which driver is in use and at which speed the devices are connected.
It seems like the driver is built into the kernel. But you can check that with the following command. When the setting is
y, it is built in the kernel.
_PLATFORMis normally not needed and is set to
m, which is a loadable module.