How do I get usb 3.0 driver working or check that it is already working

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.

grep -i xhci /boot/config-$(uname -r)

The _PLATFORM is normally not needed and is set to m, which is a loadable module.


it's very simple, i struggled with this issue using Ubuntu and Ubuntu flavored distros for years (Mint, Elementary OS, etc). Go back into bios, have usb 3.0 turned on, an any other options turned on, but turn off legacy usb option.

The description of legacy usb is that if you have it off, that will disable it for any os that's not "usb aware". But I thought flip the switch, because it's 2018 and most os's are usb aware now. It wasn't supposed to work, but it fixed the issue that has baffled me for years.

My usb 3.0 works perfectly now. My theory is that usb legacy conflicts with the os's understanding of 3.0, so now there's no conflict. If it works for you, you're welcome.

I googled this much, and no one else seemed to have tried or had the same conclusion. I hope this helps others who struggled with it.


Provided the USB 3.0 ports are enabled in the BIOS the kernel should automatically pick them up and support them. To confirm they are active you can issue the command lspci -v | grep xhci If your output is similar to:

Kernel driver in use: xhci_hcd

the driver is active and supplied by the kernel.

Tested under 14.04 (Trusty) and 16.04 (Xenial)