You are not logged in.

#1 2021-08-23 03:10:07

george55
Member
Registered: 2011-08-10
Posts: 68

Touchpad stops working - Lenovo X1 Carbon 2nd gen

For a number of months I have had issues with the touchpad on my laptop. There are a variety of problems that have somewhat fluctuated over time, but basically:

- The touchpad is often laggy, especially if I try to move the cursor quickly it will stop responding
- After using it for a while (5 minutes to an hour) it often stops working. Cursor remains frozen and clicking does not do anything.
- When clicking the touchpad, problems generally occur. A click often creates a subsequent lag in the cursor movement, and if I click quickly (a few clicks in the span of 5-10 seconds), then I have a high chance of the touchpad not working anymore altogether
- Often when waking up from suspend, the touchpad no longer works
- Lately the touchpad just does not work at all, even after a reboot.
- When moving the cursor, it often jumps randomly, and somehow the cursor starts selecting text, without having pressed any button

I have worked around this by using an external mouse, but I am now on the road a lot and this is really rather complicated when I don't have any smooth surface to put the external mouse on. I would really like to solve this once and for all.

Things I have tried:

- As per this link (https://wiki.archlinux.org/title/Lenovo … )#Trackpad) I have tried removing xf86-input-synaptics.
- Using the same suggestions, I have also tried keeping xf86-input-synaptics. No luck there.
- As per this link (https://wiki.archlinux.org/title/Touchp … te/suspend) I have added adding MatchDevicePath "/dev/input/event*" to the /etc/X11/xorg.conf.d/70-synaptics.conf -- this made the touchpad work again after a reboot, but still laggy and freezing
- I have tried running "echo -n "reconnect" >  /sys/bus/serio/devices/serio1/drvctl" when it freezes. This worked once to get the touchpad to buggily work again after it froze, but nothing else.
- I have tried "sudo modprobe -r rmi_smbus && sudo modprobe rmi_smbus" which would sometimes bring the touchpad back to live after suspend, but again buggily and temporarily. No longer works.
- I have added psmouse.synaptics_intertouch=0 to my kernel parameters -- this made it freeze even faster with a whole suit of different errors

Machine: Lenovo Carbon X1 - gen 2
Kernel: 5.13.12

pacman -Qs input
local/ibus 1.5.25-1
    Next Generation Input Bus for Linux
local/libcdio 2.1.0-2
    GNU Compact Disc Input and Control Library
local/libinput 1.18.1-1
    Input device management and event handling library
local/libxi 1.7.10-3
    X11 Input extension library
local/perl-ipc-run3 0.048-9
    run a subprocess with input/ouput redirection
local/potrace 1.16-2
    Utility for tracing a bitmap (input: PBM,PGM,PPM,BMP; output:
    EPS,PS,PDF,SVG,DXF,PGM,Gimppath,XFig)
local/xf86-input-evdev 2.10.6-2 (xorg-drivers)
    X.org evdev input driver
local/xf86-input-keyboard 1.9.0-3 (xorg-drivers)
    X.Org keyboard input driver
local/xf86-input-libinput 1.1.0-1 (xorg-drivers)
    Generic input driver for the X.Org server based on libinput
local/xf86-input-mouse 1.9.3-1 (xorg-drivers)
    X.org mouse input driver
local/xf86-input-vmmouse 13.1.0-5 (xorg-drivers)
    X.org VMWare Mouse input driver
local/xf86-input-void 1.4.1-5 (xorg-drivers)
    X.org void input driver
local/xorg-server 1.20.13-2 (xorg)
    Xorg X server
local/xorg-xinput 1.6.3-2 (xorg-apps xorg)
    Small commandline tool to configure devices
libinput debug-events
-event2   DEVICE_ADDED     Power Button                      seat0 default group1  cap:k
-event13  DEVICE_ADDED     Video Bus                         seat0 default group2  cap:k
-event0   DEVICE_ADDED     Lid Switch                        seat0 default group3  cap:S
-event1   DEVICE_ADDED     Sleep Button                      seat0 default group4  cap:k
-event10  DEVICE_ADDED     Integrated Camera: Integrated C   seat0 default group5  cap:k
-event3   DEVICE_ADDED     AT Translated Set 2 keyboard      seat0 default group6  cap:k
-event4   DEVICE_ADDED     ThinkPad Extra Buttons            seat0 default group7  cap:k
-event11  DEVICE_ADDED     Synaptics TM2668-002              seat0 default group8  cap:pg  size 97x69mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on
-event12  DEVICE_ADDED     TPPS/2 IBM TrackPoint             seat0 default group9  cap:p left scroll-nat scroll-button
less /var/log/Xorg.0.log | grep -i touch
[    17.495] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event13)
[    17.495] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
[    17.495] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "libinput touchpad catchall"
[    17.495] (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'
[    17.496] (**) SynPS/2 Synaptics TouchPad: always reports core events
[    17.496] (II) event13 - SynPS/2 Synaptics TouchPad: is tagged by udev as: Touchpad
[    17.539] (II) event13 - SynPS/2 Synaptics TouchPad: device is a touchpad
[    17.539] (II) event13 - SynPS/2 Synaptics TouchPad: device removed
[    17.539] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 11)
[    17.540] (**) SynPS/2 Synaptics TouchPad: (accel) selected scheme none/0
[    17.540] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[    17.540] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[    17.542] (II) event13 - SynPS/2 Synaptics TouchPad: is tagged by udev as: Touchpad
[    17.548] (II) event13 - SynPS/2 Synaptics TouchPad: device is a touchpad
[    17.549] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)
[    24.413] (II) event13 - SynPS/2 Synaptics TouchPad: device removed
[   411.195] (II) event13 - SynPS/2 Synaptics TouchPad: is tagged by udev as: Touchpad
[   411.200] (II) event13 - SynPS/2 Synaptics TouchPad: device is a touchpad
[   413.250] (II) event13 - SynPS/2 Synaptics TouchPad: device removed
xinput list list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Synaptics TM2668-002                    	id=12	[slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                   	id=13	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=8	[slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C         	id=9	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=10	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=11	[slave  keyboard (3)]
cat /etc/default/grub | grep CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=off psmouse.synaptics_intertouch=1"

Here are some errors I see in my dmesg.

[  +0.945559] Invalid finger state[0]: 0x03
[  +0.000004] Invalid finger state[1]: 0x03
[  +0.000001] Invalid finger state[2]: 0x03
[  +0.000001] Invalid finger state[3]: 0x03
[  +0.000000] Invalid finger state[4]: 0x03
[ +17.018718] rmi4_f30 rmi4-00.fn30: rmi_f30_attention: Failed to read F30 data registers: -6
[Aug22 21:25] rmi4_physical rmi4-00: Failed to read irqs, code=-6
[  +1.850962] rmi4_f30 rmi4-00.fn30: rmi_f30_attention: Failed to read F30 data registers: -6
[Aug22 21:26] psmouse serio2: TrackPoint at rmi4-00.fn03/serio0/input0 lost synchronization, throwing 1 bytes away.
[  +5.262965] rmi4_f30 rmi4-00.fn30: rmi_f30_attention: Failed to read F30 data registers: -6
[Aug22 21:27] rmi4_physical rmi4-00: Failed to read irqs, code=-6
[Aug22 21:46] rmi4_f30 rmi4-00.fn30: rmi_f30_attention: Failed to read F30 data registers: -6
[Aug22 21:51] rmi4_f30 rmi4-00.fn30: rmi_f30_attention: Failed to read F30 data registers: -6
[Aug22 21:56] rmi4_f30 rmi4-00.fn30: rmi_f30_attention: Failed to read F30 data registers: -6
[Aug22 22:00] rmi4_f03 rmi4-00.fn03: rmi_f03_attention: Failed to read F03 output buffers: -6
[  +0.000006] psmouse serio2: bad data from KBC - timeout
[Aug22 22:01] rmi4_f30 rmi4-00.fn30: rmi_f30_attention: Failed to read F30 data registers: -6
[  +1.537660] rmi4_f30 rmi4-00.fn30: rmi_f30_attention: Failed to read F30 data registers: -6
[  +0.781976] rmi4_f30 rmi4-00.fn30: rmi_f30_attention: Failed to read F30 data registers: -6
[  +0.365716] rmi4_f30 rmi4-00.fn30: rmi_f30_attention: Failed to read F30 data registers: -6

Any ideas what I could try next??

Last edited by george55 (2021-08-23 03:28:35)

Offline

#2 2021-09-15 10:41:31

noBTW
Member
Registered: 2021-09-15
Posts: 1

Re: Touchpad stops working - Lenovo X1 Carbon 2nd gen

Hi, I'm hitting a very similar thing, tried to get some answers here without any luck.

https://www.reddit.com/r/linuxquestions … anagement/

Did you solve your problem?

Offline

#3 2023-04-20 15:25:55

kpedersen
Member
Registered: 2010-07-04
Posts: 6

Re: Touchpad stops working - Lenovo X1 Carbon 2nd gen

Hiya. This is a bit of a necropost but I recently discovered on my ThinkPad that if I load the i915 driver first, it seems to eliminate this rmi_smbus breaking after suspend.

I noticed it whilst trying to get persistent command line fonts that don't reset when the framebuffer changes from EFI FB to the Intel DRM framebuffer. Some info for doing this with the NVIDIA driver here:

https://wiki.archlinux.org/title/NVIDIA#Early_loading

https://wiki.archlinux.org/title/Mkinitcpio#MODULES

Basically I just add i915 to the MODULES array in /etc/mkinitcpio.conf

Last edited by kpedersen (2023-04-20 15:27:31)

Offline

Board footer

Powered by FluxBB