Gentoo LinuxでUSBポートが機能しない

Gentoo LinuxでUSBポートが機能しない

マザーボードがありますが、ギガバイト Z170-D3H、新鮮ルート図Linuxのインストール(自己コンパイルされたカーネル4.9.6-Gentoo-r1)と接続された2つのUSBデバイス(フラッシュドライブとマウス)。しかし、USBポート動作しない

これを入力すると、lsblkシステムディスクのみが残りますsda

lspci | grep USB返品:

00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)

lsusb返品:

libusb: debug [libusb_init] created default context
libusb: debug [libusb_init] libusb v1.0.19.10903
libusb: error [op_init] could not find usbfs
unable to initialize libusb: -99

dmesg | grep 'USB\|usb'返品:

[    0.293570] ACPI: bus type USB registered
[    0.293665] usbcore: registered new interface driver usbfs
[    0.293756] usbcore: registered new interface driver hub
[    0.293850] usbcore: registered new device driver usb
[    0.987392] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.987449] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.987487] uhci_hcd: USB Universal Host Controller Interface driver
[    0.987548] usbcore: registered new interface driver usblp
[    0.987592] usbcore: registered new interface driver usb-storage
[    0.992362] usbcore: registered new interface driver usbhid
[    0.992376] usbhid: USB HID core driver

これは完全なdmesgログです:dmesg_log.txt

usb-devices何も返しません。

grep XHCI /usr/src/linux-$(uname -r)/.config返品:

CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_XHCI_PLATFORM=y

答え1

dmesg出力に次のようなメッセージが表示されます。

[    1.768941] ehci-pci 0000:00:1a.0: EHCI Host Controller
[    1.769021] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1
...
[    1.787161] xhci_hcd 0000:02:00.0: xHCI Host Controller
[    1.787880] xhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 2

(これらは私のシステムからのものです。)カーネルはUSBハードウェアを検出し、ドライバを割り当てたが存在しない場合です。

必要なモジュールxhci_pciehci_pciPCI USBコントローラ用のドライバ(両方を持っていても問題はなく、USB 3.0ハードウェアでUSB 2.0がどのように処理されるのかわかりません。したがって、少なくとも両方を含めるのが最善です。問題が解決するまで修正)とxhci_hcd一般的なehci_hcdサポートも提供されます。

設定スクリーンショットが出力と一致しないため、.config現在の設定が何であるかわかりません。スクリーンショットはXHCIがモジュールであることを示していますが、あなたは.configこれが組み込まれていると言います。

これらをすべてモジュールに設定すると、デバッグが簡単になります。したがって、4つをすべてに変更しM、カーネルを再コンパイルし、再起動し、lsmodロードされた項目を確認してください。ロードされ使用されない場合は、modprobepciバリアントを確認し、dmesg / syslogにエラーメッセージやその他のメッセージがあるかどうかを確認してください。

両方のモジュールがロードに失敗した場合は、コントローラの数値ベンダーとデバイスID(lspci -n)を調べて、modinfoソースを確認して、モジュールがハードウェアを認識していることを確認してください。

関連情報