Linux下如何匹配硬件和驱动?

系统信息

OS: Fedora 31 (Workstation Edition) x86_64
Kernel: 5.4.13-201.fc31.x86_64
DE: GNOME 3.34.3

问题描述

有时启动后无法使用触摸板

跟踪信息

我对比正常与非正常时的硬件差异:
正常时能检测到触摸板硬件

[ydx@ydx-mf drivers]$ sudo libinput list-devices | grep -i touchpad
Device:           ELAN2204:00 04F3:30F5 Touchpad

查看鼠标驱动

[ydx@ydx-mf drivers]$ ls $(find /lib/modules/$(uname -r) -type d -name mouse)
appletouch.ko.xz  cyapatp.ko.xz   sermouse.ko.xz       synaptics_usb.ko.xz
bcm5974.ko.xz     elan_i2c.ko.xz  synaptics_i2c.ko.xz  vsxxxaa.ko.xz

已加载模块

[ydx@ydx-mf drivers]$ lsmod | grep elan_i2c #无结果
[ydx@ydx-mf drivers]$ lsmod | grep touch
hid_multitouch         32768  0

推测触摸板使用的驱动是elan_i2c。
为什么lsmod却搜索不到elan_i2c?
i2chid的联系是什么?

阅读 3.9k
1 个回答

启动消息可以使用dmesg获取

dmesg | grep error
sudo modprobe -r i2c_hid && sudo modprobe i2c_hid

I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。
HID(Human Interface Devices)人机交互设备。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题