マザーボードがありますが、ギガバイト 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_pci
とehci_pci
PCI USBコントローラ用のドライバ(両方を持っていても問題はなく、USB 3.0ハードウェアでUSB 2.0がどのように処理されるのかわかりません。したがって、少なくとも両方を含めるのが最善です。問題が解決するまで修正)とxhci_hcd
一般的なehci_hcd
サポートも提供されます。
設定スクリーンショットが出力と一致しないため、.config
現在の設定が何であるかわかりません。スクリーンショットはXHCIがモジュールであることを示していますが、あなたは.config
これが組み込まれていると言います。
これらをすべてモジュールに設定すると、デバッグが簡単になります。したがって、4つをすべてに変更しM
、カーネルを再コンパイルし、再起動し、lsmod
ロードされた項目を確認してください。ロードされ使用されない場合は、modprobe
pciバリアントを確認し、dmesg / syslogにエラーメッセージやその他のメッセージがあるかどうかを確認してください。
両方のモジュールがロードに失敗した場合は、コントローラの数値ベンダーとデバイスID(lspci -n
)を調べて、modinfo
ソースを確認して、モジュールがハードウェアを認識していることを確認してください。