15

I am having trouble to get my touchpad to work. It does not detect movement or clicks most of the time, and will only very sporadically "wake up", respond for ~one second and then stop. The same applies to the trackpoint. I have tried Fedora (27), Mint and Ubuntu (17.10) and the issue is the same in all versions. Everything that follows is w.r.t. Ubuntu 17.10.

hwinfo gives Unique ID: AH6Q.Y_f5kDtfqz2

The touchpad does not show up in xinput: (it did in Mint, but the problem was also present there). Using libinput debug-events, I get:

(...)
-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.)

What I believe to the a good hint so far was the result from dmesg. This gives the error psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1 multiple times.

I have found two ways to circumvent the problem, but both are not satisfactory:

1) modprobe -r psmouse && modprobe psmouse proto=imps will make the touchpad respond, but disables any gestures (two-finger scrolling etc). It also removes the touchpad from the "Settings > Devices > Mouse and touchpad" panel. sudo libinput list-devices confirms that most of the functionality is lost.

2) Disabling the trackpoint in the BIOS also leads to the touchpad working as intended, including two-finger scrolling. It does, however, also disable the physical buttons for the touchpad.

Any advice would be greatly appreciated. Thank you very much!

  • I am experiencing the same symptoms. The physical buttons just bellow space is part of the trackpoint, which is why they are disabled. Still a pain though. Unfortunately it is not possible to get the trackpoint to work by disabling the trackpad. The two physi – Guidhouse Mar 16 '18 at 5:26
  • Did you get the model with NFC? – Guidhouse Mar 19 '18 at 13:16
12

I also go the model with NFC and the following got both trackpoint and touchpad (with 2-finger scrolling) working:

  1. Deleting (or commenting out) the line i2c_i801 from /etc/modprobe.d/blacklist.conf.
  2. Adding psmouse.synaptics_intertouch=1 to the GRUB_CMDLINE_LINUX_DEFAULT=... line in /etc/default/grub (caveat: will be reset and needs to be redone after a kernel update).
  3. sudo update-grub
  4. Reboot.

Running Ubuntu 17.10 and Kernel 4.16.0

Thanks to user net_life on the Lenovo forum (https://forums.lenovo.com/t5/Linux-Discussion/Troubles-with-X1-Carbon-2018-X1C6-TouchPad-and-TrackPoint-under/td-p/4004815/page/3)

  • 5
    This worked for me in Ubuntu 18.04 – Jonathan Wise May 13 '18 at 14:33
  • 2
    Thank you! Worked for me, Ubuntu 18.04, Kernel 4.15. – andreas May 23 '18 at 19:07
  • Can confirm this for the NFC-Variant on ubuntu, while the non-NFC variant works out of the box on arch linux. – Thorsten Jul 31 '18 at 11:56
  • NFC-variant works out of the box with Ubuntu 18.04 and the mainline kernel 4.17, as well (Touchpad + Trackpoint and multi-finger gestures). I tried Debian before but there's currently no support for CONFIG_RMI4 in their kernel and I didn't want to build my own. – jnns Aug 5 '18 at 13:25
  • The Ubuntu kmod package includes a blacklist i2c_i801 line in that file, but this actually didn't work for me with Debian's 4.18 kernel, not until I replaced the underscore with the hyphen, to more strictly match the kernel module name. – Josip Rodin Dec 15 '18 at 22:25
2

What worked for me is to enable all CONFIG_RMI4 kernel options and boot with psmouse.synaptics_intertouch=1.

  • 1
    Hi, can you explain how you "enable all CONFIG_RMI4" kernel options? – nemo Apr 15 '18 at 13:33
  • After a very long quest, enabling RMI4 modules in the kernel is the only thing that worked (no modprobe blacklist and no psmouse.synaptics_intertouch=1 boot option). @nemo you need to compile the kernel with this option, I think this depends on your distro – Oded Niv Feb 6 at 19:09
2

I have similar problem.

I Have tried with Arch Linux, Ubuntu LTS 16.04, as well as Mint 18.3.

Luckily I have a friend running Arch on a X1 Carbon 6th gen, without pointer-problems.

The only two differences is that we bought different displays, and I bought the model with NFC.  He didn't.  The NFC is part of the trackpad/trackpoint, so I think it's down to the lack of drivers for this model.

My machine:

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

Sometime only N: Name="SynPS/2 Synaptics TouchPad". With trackpoint disabled in BIOS, always only this entry.

On the X1, where the pointers work:

$ 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

So if your machine is is equipped with an NFC receiver as well (there will be a small symbol beneath the trackpoint middle button), instead of the standard pointing devices.

Then I think it is fair to say that this is where the problem lies.

BTW: I am opening a case with Lenovo Monday to see what they can do.

  • This seems to be my problem as well. The solution in the thinkpad forum: disable trackpoint in bios + kernal option worked for me, but I can't use the trackpoint anymore. – nemo Apr 15 '18 at 12:55
  • 1
    @nemo please try commenting out the i2c_i801 line from /etc/modprobe.d/blacklist.conf. This was the missing piece for me (as per forums.lenovo.com/t5/Linux-Discussion/…) – Pedro Pombeiro Jun 3 '18 at 18:08
0

This is a working method that seems most straightforward to me, using the least invasive initramfs modification method, on Debian 9:

  1. Make sure you have the backports repository set up, e.g.:

    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. Install newer kernel:

    sudo apt-get install -t stretch-backports linux-image-amd64
    
  3. Prepare a custom module config file, e.g.:

    sudo -e /etc/modprobe.d/local-fix-x1-mouse.conf
    
  4. Make sure the one conflicting module is out, and the right options are applied on the mouse module:

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

  6. sudo reboot

I'm using this with kernel 4.18 now.

protected by Community May 5 '18 at 14:57

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.