联想X1 Carbon Gen.6(2018)触摸板和Linux的跟踪点问题


15

我无法使触摸板正常工作。它在大多数时间都不会检测到运动或咔嗒声,只会非常零星地“唤醒”,响应约一秒钟然后停止。跟踪点也是如此。我已经尝试过Fedora(27),Mint和Ubuntu(17.10),并且所有版本的问题都相同。随之而来的是Ubuntu 17.10。

hwinfoUnique 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中禁用轨迹点也会导致触摸板按预期工作,包括两指滚动。但是,它也会禁用触摸板的物理按钮。

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


我遇到相同的症状。波纹管空间中的物理按钮是跟踪点的一部分,这就是为什么它们被禁用的原因。虽然还是很痛苦。不幸的是,无法通过禁用触控板来使轨迹点正常工作。两个物理
Guidhouse

您使用NFC取得模型了吗?
Guidhouse

Answers:


12

我也使用NFC进行了建模,以下代码使Trackpoint和触摸板(使用2指滚动)都可以正常工作:

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

运行Ubuntu 17.10和Kernel 4.16.0

感谢Lenovo论坛上的用户net_life(https://forums.lenovo.com/t5/Linux-Discussion/Troubles-with-X1-Carbon-2018-X1C6-TouchPad-and-TrackPoint-under/td-p/4004815 / page / 3


5
这在Ubuntu 18.04为我工作
乔纳森·怀斯

2
谢谢!为我工作,Ubuntu 18.04,内核4.15。
安德烈亚斯(Andreas)

可以为ubuntu上的NFC-Variant确认这一点,而non-NFC变体在arch linux上开箱即用。
托尔斯滕

NFC变量也可以与Ubuntu 18.04和主线内核4.17配合使用(触摸板+ Trackpoint和多指手势)。我之前尝试过Debian,但是目前CONFIG_RMI4他们的内核中不支持Debian,并且我不想构建自己的内核。
jnns

Ubuntu kmod软件包blacklist i2c_i801在该文件中包含一行,但是对于Debian的4.18内核,这实际上对我不起作用,直到我用连字符替换了下划线以更严格地匹配内核模块名称为止。
Josip Rodin

2

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


1
嗨,您能解释一下如何“启用所有CONFIG_RMI4”内核选项吗?
nemo '18

经过很长时间的探索之后,在内核中启用RMI4模块是唯一可行的方法(没有modprobe黑名单,也没有psmouse.synaptics_intertouch=1启动选项)。@nemo,您需要使用此选项编译内核,我认为这取决于您的发行版
Oded Niv

2

我有类似的问题。

我曾尝试过Arch Linux,Ubuntu LTS 16.04和Mint 18.3。

幸运的是,我有一个朋友在X1 Carbon 6th gen上运行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中禁用跟踪点的情况下,始终仅此条目。

在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接收器(在Trackpoint中间按钮下方会出现一个小符号),而不是标准指针设备。

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

顺便说一句:我周一将与联想一起审理案件,以了解他们能做什么。


这似乎也是我的问题。thinkpad论坛中的解决方案:在bios + kernal选项中禁用跟踪点对我有用,但我不能再使用该跟踪点。
nemo '18

1
@nemo,请尝试注释掉来自的i2c_i801/etc/modprobe.d/blacklist.conf。这对我来说是缺少的部分(按照forums.lenovo.com/t5/Linux-Discussion/...
佩德罗Pombeiro

0

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

  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中使用它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.