Lenovo X1 Carbon Gen.6 (2018) 触摸板和指点杆问题与 Linux

Lenovo X1 Carbon Gen.6 (2018) 触摸板和指点杆问题与 Linux

我的触摸板无法正常工作。大多数时候它不会检测到移动或点击,并且只会偶尔“醒来”,响应约一秒钟,然后停止。这同样适用于轨迹点。我尝试过 Fedora (27)、Mint 和 Ubuntu (17.10),所有版本的问题都是一样的。以下内容均针对 Ubuntu 17.10。

hwinfo给出Unique ID: AH6Q.Y_f5kDtfqz2

触摸板没有出现在xinput: (它在 Mint 中出现,但问题也存在在那里)。使用libinput debug-events,我得到:

(...)
-event5 DEVICE_ADDED SynPS/2 Synaptics TouchPad seat0 default group9 cap:pg size 70x50
(...)
(When swiping around on the touchpad, nothing happens. Then, suddenly, it will show:)
-event6 DEVICE_ADDED PS/2 Generic Mouse seat0 default group11 cap:p left scroll-nat scroll-button
-event5 POINTER_MOTION +7.73s 2.98/ 0.00
(...)
- event5 POINTER_MOTION +7.88s 2.54/ 0.00
(and it will cut out again. When continuing swiping, once the keyboard "wakes up" again, the process repeats.)

到目前为止,我相信一个很好的提示是 dmesg 的结果。这会psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1多次出现错误。

我找到了两种方法来规避这个问题,但都不令人满意:

1)modprobe -r psmouse && modprobe psmouse proto=imps将使触摸板响应,但禁用任何手势(两指滚动等)。它还从“设置>设备>鼠标和触摸板”面板中删除了触摸板。sudo libinput list-devices确认大部分功能已丢失。

2) 在 BIOS 中禁用轨迹点也会导致触摸板按预期工作,包括两指滚动。但是,它也会禁用触摸板的物理按钮。

任何建议都将不胜感激。非常感谢!

答案1

我还有带有 NFC 的型号,以下型号同时支持指点杆和触摸板(带 2 指滚动功能):

  1. 删除(或注释掉)该i2c_i801/etc/modprobe.d/blacklist.conf
  2. 添加psmouse.synaptics_intertouch=1GRUB_CMDLINE_LINUX_DEFAULT=...行中/etc/default/grub(警告:将被重置,并且需要在每次内核更新后重做)。
  3. sudo update-grub
  4. 重启。

运行 Ubuntu 17.10 和内核 4.16.0

感谢用户 net_life联想论坛

答案2

对我有用的是启用所有 CONFIG_RMI4 内核选项并使用 psmouse.synaptics_intertouch=1 启动。

答案3

我有类似的问题。

我尝试过 Arch Linux、Ubuntu LTS 16.04 以及 Mint 18.3。

幸运的是,我有一个朋友在第 6 代 X1 Carbon 上运行 Arch,没有出现指针问题。

唯一的两个区别是我们购买了不同的显示器,并且我购买了带有 NFC 的型号。他没有。 NFC 是触控板/轨迹点的一部分,所以我认为这归因于该型号缺乏驱动程序。

我的机器:

$ egrep -i 'synap|alps|etps|elan' /proc/bus/input/devices 
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=synaptics-pt/serio0/input0

只是有时N: Name="SynPS/2 Synaptics TouchPad"。在 BIOS 中禁用 Trackpoint 的情况下,始终只有此条目。

在 X1 上,指针工作的地方:

$ egrep -i 'synap|alps|etps|elan' /proc/bus/input/devices
N: Name="SynPS/2 Synaptics TouchPad"
N: Name="TPPS/2 Elan TrackPoint"
P: Phys=synaptics-pt/serio0/input0

因此,如果您的机器也配备了 NFC 接收器(轨迹点中间按钮下方会有一个小符号),而不是标准指点设备。

那么我认为可以公平地说,这就是问题所在。

顺便说一句:我周一将向联想开立一个案例,看看他们能做什么。

答案4

这是对我来说最简单的工作方法,使用侵入性最小的 initramfs 修改方法,在 Debian 9 上:

  1. 确保你有向后移植存储库设置,例如:

    echo deb http://ftp.debian.org/debian stretch-backports main contrib | sudo tee -a /etc/apt/sources.list.d/stretch-backports.list
    sudo apt-get update
    
  2. 安装较新的内核:

    sudo apt-get install -t stretch-backports linux-image-amd64
    
  3. 准备自定义模块配置文件,例如:

    sudo -e /etc/modprobe.d/local-fix-x1-mouse.conf
    
  4. 确保排除一个冲突模块,并在鼠标模块上应用正确的选项:

    blacklist i2c-i801
    options psmouse synaptics_intertouch=1 proto=exps
    
  5. sudo update-initramfs -u

  6. sudo reboot

我现在在内核 4.18 中使用它。

相关内容