Lenovo ThinkPad P1 Gen 2 — Fedora Touchpad Issue

Hardware: Lenovo ThinkPad P1 Gen 2
OS: Fedora Linux 44
Kernel: 7.1.8-200.fc44
Touchpad: Synaptics TM3512-010
Touchpad firmware: 10.32 / FW ID 3624050
Driver: rmi4_smbus
I²C device: 8-002c / I²C bus 8
BIOS: N2OET70P (1.57)

Problem

The touchpad intermittently behaves incorrectly. It can move the cursor normally, but tap/click does not work. The issue appears intermittently and is not consistently reproducible.

The touchpad is detected by the kernel and libinput, so this does not appear to be a simple device-detection problem.

Detection

When the issue occurs, the device is still present:

Synaptics TM3512-010
/dev/input/event19
Capabilities: pointer gesture

The kernel exposes it as:

/devices/pci0000:00/0000:00:1f.4/i2c-8/8-002c/rmi4-00/input/input25

and the I²C device is bound to:

/sys/bus/i2c/drivers/rmi4_smbus

Relevant kernel messages

During initialization:

psmouse serio1: synaptics: Trying to set up SMBus access
psmouse serio1: synaptics: SMbus companion is not ready yet

Shortly afterward:

rmi4_smbus 8-002c: registering SMbus-connected sensor
rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: TM3512-010
input: Synaptics TM3512-010

So the RMI4/SMBus device eventually initializes successfully.

Interesting behavior

Manually rebinding the RMI4 SMBus driver:

echo 8-002c | sudo tee /sys/bus/i2c/drivers/rmi4_smbus/unbind
echo 8-002c | sudo tee /sys/bus/i2c/drivers/rmi4_smbus/bind

appears to restart/reinitialize the touchpad.

After rebinding, the cursor can be moved again, but tap/click still does not work.

Question

What could cause the Synaptics TM3512-010 RMI4 touchpad to retain pointer movement while losing tap/click functionality under Fedora Linux?

Could this be related to:

  • rmi4_smbus
  • Synaptics RMI4 initialization
  • PS/2 → SMBus/RMI4 handoff
  • libinput click/tap handling
  • kernel power management/resume
  • a Fedora/kernel regression
  • ThinkPad firmware/ACPI interaction

Is there a known kernel parameter, driver patch, firmware update, or libinput configuration that fixes this on the ThinkPad P1 Gen 2?

The key symptom is: cursor movement works, but physical click/tap stops working while the touchpad remains detected by the kernel and libinput.

I have exactly the same issue on Thinkpad P1 Gen 3 on CachyOS with 7.2 kernel. The unbind / bind or reloading the psmouse kernel module sometimes fixes it for me but not always. I first tried to make a systemd-sleep hook that did the unbind/bind or reload psmouse on resume (this issue for me usually occurred after sleep on both s2idle and s3) but even this did not work consistently for me.

What fixed it for me is adding the psmouse.synaptics_intertouch=0 kernel boot arg. With this the issue completely disappeared. However, the downside is that multitouch gesture (3/4 finger) become less consistent but this was an acceptible tradeoff for me. I feel like this is a bug in the kernel driver but I have not filed a kernel bug report yet.

I have the same issue on Fedora 44 with KDE or GNOME on my X1 Extreme Gen 2. Predominantly after sleep, but also sometimes semi-randomly. Any chance this is resolved by now? On Reddit another user had the same Issue, too.