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.

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