Since I work at Dicoding, I use a ThinkPad (yeah, kind of bored of using Mac).
And, of course, I use Linux on that ThinkPad, as I am a fan of Kubuntu. 😂
After years of no problems at all, today I found that the touchpad was not moving while I was working. At some point, I used a USB mouse.
Okay, let’s get technical.
First, I thought that it was the device driver, so probably a new kernel caused the problem. I found that my Kubuntu has several kernels with versions 5.15.xx and 6.5.xx.
$ apt list --installed | grep linux-image
So, I tried to reboot several times with different kernel versions, manually selected via grub
. But, the problem still exists. 😢
Let’s try a different perspective, check what happened on dmesg
.
$ sudo dmesg | grep mouse
Now, we can see some kernel messages, “probably” related to the kernel module psmouse, or there’s a clue on the hardware name “probably” Elantech.
And then, of course, we move to ask Google. 😂
The quick fix that I got was to remove the kernel module psmouse and add it again. 1
sudo modprobe -r psmouse && sudo modprobe psmouse proto=imps
But, um… yeah, still not perfect. I can’t use the scroll. 😕
On the other side, I found something with Elantech, information officially from Lenovo, the producer of ThinkPad. 2 So there’s a trick regarding psmouse
for Elantech
by setting the kernel with the parameter psmouse.elantech_smbus=0
.
Digging deeper regarding psmouse
and Elantech
, I found that it’s a bug in the Linux kernel 3, which comes from years ago. It made a wrong protocol detection in the kernel configuration: /sys/bus/serio/devices/serio1/protocol
.
So, as mentioned in 2, adjusting the kernel parameter fixed my problem. Then, I made it permanent by adding the parameter to GRUB_CMDLINE_LINUX_DEFAULT
in /etc/default/grub
4.
Hope it helps.
-
https://askubuntu.com/questions/1235067/touchpad-stopped-working-20-04 ↩︎
-
https://download.lenovo.com/pccbbs/mobiles_pdf/lenovo_thinkpad_p53_p73_debian10_installation_v1.0.pdf ↩︎ ↩︎
-
https://askubuntu.com/questions/1091635/elantech-touchpad-not-working-after-upgrading-to-18-10-from-18-04-thinkpad-l4 ↩︎
-
https://askubuntu.com/questions/19486/how-do-i-add-a-kernel-boot-parameter ↩︎