web-dev-qa-db-ja.com

Linuxで使用されているUSBドライバーの名前を取得する方法

ラップトップでUbuntu14.04を実行しています。ラップトップでUSB関連の問題が発生しています。それは時々機能し、時には機能しません。自分で問題を解決しようと思いました。そのため、ラップトップでUSBの原因となっているドライバーを正確に知る方法と、そのドライバーのソースファイルをLinuxソースツリーで見つける方法があるかどうかを知りたいと思いました。これは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])

誰かが疑問に思っている場合に備えて、私はLinuxカーネルでドライバーをハッキングすることについて少し知っています。

2
omerjerk

内蔵USBのドライバーを知りたい場合:_lspci| grep USB_これにより、次のようなUSBデバイスが一覧表示されます。

00:14.0 USBコントローラー:Intel Corporation7シリーズ/ C210シリーズチップセットファミリーUSBxHCIホストコントローラー(rev 04)
 00:1a.0 USBコントローラー:Intel Corporation7シリーズ/ C210シリーズチップセットファミリーUSB拡張ホストコントローラー# 2(rev 04)
 00:1d.0 USBコントローラー:Intel Corporation7シリーズ/ C210シリーズチップセットファミリーUSB拡張ホストコントローラー#1(rev 04)
 07:00.0 USBコントローラー:ASMedia Technology Inc. ASM1042 SuperSpeedUSBホストコントローラー

バスID(00:14.0など)ごとに、lspciを再度実行します。

lspci -vvv -s 00:14.0 | grepドライバー
使用中のカーネルドライバー:xhci_hcd

ここでは、ドライバーは_xhci_hcd_です。

そして、すべてのドライバーを1行にまとめるための小さなループ:

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

私のデスクトップでは、これは次のようになります:

使用中のカーネルドライバー:xhci_hcd 
使用中のカーネルドライバー:ehci-pci 
使用中のカーネルドライバー:ehci-pci 
使用中のカーネルドライバー:xhci_hcd
4
Adrien M.

あなたが試すことができます

dmesg | grep usb

私の行があります:

ohci_hcd:USB 1.1「オープン」ホストコントローラー(OHCI)ドライバー

1
Dave's tux