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

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

私のラップトップでUbuntu 14.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カーネルのドライバクラッキングについて少し知っています。

答え1

内蔵USB用ドライバを知りたい場合は、lspci| grep USB 次のようにUSBデバイスが一覧表示されます。

00:14.0 USBコントローラ:Intel Corporation 7シリーズ/C210シリーズチップセットシリーズUSB xHCIホストコントローラ(改訂04)
00:1a.0 USBコントローラ:Intel Corporation 7シリーズ/C210シリーズチップセットシリーズUSB強化ホストコントローラ#2(改訂04)
00:1d.0 USBコントローラ:Intel Corporation 7シリーズ/C210シリーズチップセットシリーズUSB強化ホストコントローラ#1(改訂04)
07:00.0 USBコントローラ: ASMedia Technology Inc. ASM1042 SuperSpeed USBホストコントローラ

各バスID(00:14.0など)に対してlspciを再実行します。

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

ここでドライバーはですxhci_hcd

すべてのドライバをソートする小さなループもあります。

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

答え2

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

dmesg | USBクエリ

私の行には次のような行があります。

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

関連情報