USB 端口在 Gentoo Linux 中不起作用

USB 端口在 Gentoo Linux 中不起作用

我有一块主板,技嘉Z170-D3H,带着新鲜的根图Linux安装(自编译内核4.9.6-gentoo-r1)和连接的两个 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_pci作为 PCI USB 控制器的驱动程序(两者兼有并没有什么坏处,而且我不确定 USB 3.0 硬件上的 USB 2.0 是如何处理的,因此最好同时包含两者,至少在问题解决之前已修复),以及xhci_hcd一般ehci_hcd支持。

您的配置屏幕截图与您的输出不匹配.config,所以我不确定您当前的配置是什么。截图说XHCI是一个模块,你.config说它是内置的。

将它们全部设置为模块将使调试更加容易。因此将所有 4 更改为M,重新编译内核,重新启动,验证lsmod加载了哪些。如果没有加载和使用,modprobepci 变体并查看 dmesg/syslog 中是否有任何错误消息或任何其他消息。

如果两个模块都无法加载,请查看控制器的数字供应商和设备 ID(lspci -n),并modinfo通过检查源来验证模块是否应该识别您的硬件。

相关内容