2

I'm running Ubuntu 14.04 on my laptop. I'm having USB related issues in my laptop. It works sometimes and sometimes doesn't. I thought of fixing the issue myself. So, I wanted to know if there is a way to know exactly which driver is responsible for USB in my laptop and how to locate the source file of that driver in the linux source tree. This is the response of sudo lspci -v | grep -i usb :

00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) (prog-if 30 [XHCI])
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05) (prog-if 20 [EHCI])
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05) (prog-if 20 [EHCI])

In case anyone is wondering I do have slight knowledge of hacking a driver in the Linux kernel.

omerjerk
  • 121

2 Answers2

5

If you want to know the driver for your internal USB : lspci| grep USB This will list you the USB devices like :

00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) 
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) 
07:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller

For each bus ID (like 00:14.0), execute again lspci :

lspci -vvv -s 00:14.0 | grep driver
    Kernel driver in use: xhci_hcd

here, the driver is xhci_hcd.

And a small loop to get all the drivers in one line :

for b in $(lspci | grep USB|awk '{print $1}'); do sudo lspci -vvv -s $b|grep driver; done

On my desktop, this will give :

Kernel driver in use: xhci_hcd
Kernel driver in use: ehci-pci
Kernel driver in use: ehci-pci
Kernel driver in use: xhci_hcd
Adrien M.
  • 3,566
1

you can try

dmesg | grep usb

mine have the line:

ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver