神船 TX6 修复 ArchLinux 下触摸板问题

Last updated on February 24, 2024 am

神船 TX6 修复 ArchLinux 下触摸板问题

Part 1 背景

在 Arch Linux 刚刚安装好时,这台神船 TX6(蓝天 NK60SB 模具)的触摸板是正常的。然而,2021 年 2 月 26 日系统更新之后的重启改变了这一切——触摸板不能用了。我按照 wiki 上的各种方法,安装了 xf86-input-synaptics,调整了 /etc/X11/xorg.conf.d/70-synaptics.conf/usr/share/X11/xorg.conf.d/70-synaptics.conf等配置文件 ,查了 journalctl/var/log/Xorg.0.log 等各种日志,追踪了 /proc/bus/input/devices等,甚至安装了 GNOME、切换 wayland,无果。求助了一些大佬,仍然没有解决问题。由于当时更新了 nvidia 驱动,切换 nvidia 驱动仍然无果。后来,尝试禁用独显,仍然没用,说明可能不是 nvidia 的原因……

Part 2 解决

事发 6 个月后,通过在 Bing 上搜索 “dev/input/mouse touchpad” ,成功找到 archlinux 的 bbs,在 /etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT 条目加入 pci=nocrs,之后执行sudo grub-mkconfig -o /boot/grub/grub.cfg(根据自己 grub 安装情况调整,这里我在 /etc/default/grub 里加入了 GRUB_DISABLE_OS_PROBER=false 来检测到 Windows),重启,触摸板可以用了,并且执行 sudo dmesg | grep i2c 可以看到这样的输出:

1
2
3
4
5
6
7
8
[    3.028457] input: ELAN0413:00 04F3:3161 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN0413:00/0018:04F3:3161.0001/input/input11
[ 3.028517] input: ELAN0413:00 04F3:3161 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN0413:00/0018:04F3:3161.0001/input/input13
[ 3.028561] hid-generic 0018:04F3:3161.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN0413:00 04F3:3161] on i2c-ELAN0413:00
[ 3.033612] i2c i2c-2: 2/2 memory slots populated (from DMI)
[ 3.034104] i2c i2c-2: Successfully instantiated SPD at 0x50
[ 3.504030] input: ELAN0413:00 04F3:3161 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN0413:00/0018:04F3:3161.0001/input/input18
[ 3.504075] input: ELAN0413:00 04F3:3161 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN0413:00/0018:04F3:3161.0001/input/input20
[ 3.504118] hid-multitouch 0018:04F3:3161.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN0413:00 04F3:3161] on i2c-ELAN0413:00

Part 3 更新

在 2024 年 1 月 24 日(Arch Linux 内核版本 6.6.10-arch1-1)时,不使用 pci=nocrs,也可以正常使用触控板了。此时 sudo dmesg | grep i2c 输出如下:

1
2
3
4
5
6
7
8
9
[    2.345878] i2c_dev: i2c /dev entries driver
[ 3.138225] i2c i2c-7: 2/2 memory slots populated (from DMI)
[ 3.141268] i2c i2c-7: Successfully instantiated SPD at 0x50
[ 3.164540] input: ELAN0413:00 04F3:3161 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-5/i2c-ELAN0413:00/0018:04F3:3161.0001/input/input46
[ 3.164666] input: ELAN0413:00 04F3:3161 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-5/i2c-ELAN0413:00/0018:04F3:3161.0001/input/input48
[ 3.164780] hid-generic 0018:04F3:3161.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN0413:00 04F3:3161] on i2c-ELAN0413:00
[ 3.427124] input: ELAN0413:00 04F3:3161 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-5/i2c-ELAN0413:00/0018:04F3:3161.0001/input/input50
[ 3.427176] input: ELAN0413:00 04F3:3161 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-5/i2c-ELAN0413:00/0018:04F3:3161.0001/input/input52
[ 3.427221] hid-multitouch 0018:04F3:3161.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN0413:00 04F3:3161] on i2c-ELAN0413:00

当然,由于更新过 BIOS,也可能与这些因素有关。


神船 TX6 修复 ArchLinux 下触摸板问题
https://zhaozihanzzh.github.io/2021/09/25/touchpad-clevo-arch/
Author
zhaozihanzzh
Posted on
September 25, 2021
Licensed under