Manjaro 无法识别 USB 鼠标移动

Manjaro 无法识别 USB 鼠标移动

触控板工作得很好,但我尝试过的 USB 鼠标无法工作。我可以看到在 lsusb 中检测到鼠标

Bus 003 Device 004: ID 248a:8366 Maxxter Wireless Optical Mouse ACT-MUSW-002

和 inxi -Jxxx 显示

Hub-3: 3-0:1 info: Hi-speed hub with single TT ports: 4 rev: 2.0
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
Device-1: 3-2:5 info: Maxxter Wireless Optical Mouse ACT-MUSW-002
  type: Mouse driver: N/A interfaces: 1 rev: 1.1 speed: 12 Mb/s power: 50mA
  chip-ID: 248a:8366 class-ID: 0301

但即使使用 libinput 调试事件也没有检测到任何移动。我尝试了另一只 USB 鼠标(这是有线的)并看到了类似的结果。我还用 Windows 机器检查了两只鼠标,以确认它们没有损坏。我该怎么做才能让鼠标正常工作?

答案1

大多数 USB 鼠标的驱动模块是usbhid.一些罕见的 USB 鼠标可能支持USB HID 启动协议仅有的;对于这些,所需的驱动程序模块是usbmouse.标准内核源代码包含这两个驱动程序。

要验证您的内核配置是否包含这些驱动程序,请运行:

grep -e CONFIG_USB_HID -e CONFIG_USB_MOUSE /boot/config-$(uname -r)

或者,如果您的发行版没有内核配置文件,/boot/config-*但有/proc/config.gz,则运行:

zcat /proc/config.gz | grep -e CONFIG_USB_HID -e CONFIG_USB_MOUSE

典型的响应应类似于:

CONFIG_USB_HID=m
CONFIG_USB_HIDDEV=y
CONFIG_USB_MOUSE=m

CONFIG_USB_HID如果或的设置为CONFIG_USB_MOUSEy则表示该驱动程序内置于当前内核中,并且应始终使用。如果设置为m,则表示驱动程序被构建为模块,您可以尝试分别使用modprobe usbhid或加载它modprobe usbmouse

通常,如果驱动程序构建为模块,则大多数发行版应在插入 USB 鼠标后立即自动加载 USB 鼠标驱动程序。在您的情况下,驱动程序显然未加载:如果modprobe usbhidmodprobe usbmouse使鼠标开始工作,您将必须调查自动驱动程序加载失败的原因。系统日志中是否有相关错误信息,或者模块是否被列入黑名单/etc/modprobe.d/

如果结果包含如下行:

# CONFIG_USB_HID is not set

或者

# CONFIG_USB_MOUSE is not set

那么相应的驱动程序在您当前的内核配置中被禁用;您必须更改内核配置并构建新版本的内核才能启用它(或切换到使用已启用这些驱动程序的内核)。

相关内容