Take a look at our
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message

Touchpad fix X220 synaptics firmware 8.1 bug (linux)

X200, X201, X220 (including equivalent tablet models) and X300, X301 series specific matters only.
Post Reply
Message
Author
skx
Freshman Member
Posts: 60
Joined: Mon Jul 09, 2018 6:25 pm
Location: Belgium

Touchpad fix X220 synaptics firmware 8.1 bug (linux)

#1 Post by skx » Mon Jul 23, 2018 8:03 am

I finally found and applied the fix to solve the jumpy touchpad behaviour on X220. The issue is caused by a bug in the latest 8.1 firmware. I searched 1 week for the solution and I could not find any solutions on this forum or the ThinkWiki. Below how to verify if you are impacted and how to solve under Linux.

verify if your X220 has the faulty 8.1 firmware:

Code: Select all

dmesg | grep -i touchpad
[ +0.005261] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1,
id: 0x1e2b1, caps: 0xd002a3/0x940300/0x123800, board id: 1611, fw id: 1099905
libinput fix:
1. Create a new file /etc/udev/hwdb.d/90-libinput-x220-fw8.1.hwdb

2. Look for X220 in the 90-libinput-model-quirks.hwdb file, copy the match and the property assignment into the file.
As of the time of writing, the two lines are as below, but make sure you take the latest from your locally installed libinput version.

libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*:pvrThinkPadX220*
LIBINPUT_MODEL_LENOVO_X220_TOUCHPAD_FW81=1


3. Update the udev hwdb with sudo udevadm hwdb --update

4. Verify the tag shows up with sudo udevadm test /sys/class/input/event4

5. Reboot
Confirmed working on Debian Stretch, all credits to Peter Hutterer and the many Linux kernel developers, source: https://bugzilla.redhat.com/show_bug.cgi?id=1264453
ThinkPad X220: i5-2520M CPU 2.5GHz - 8GB RAM 1333 MHz - SSD 860 EVO 250GB - Debian
ThinkPad X230: i5-3320M CPU 3.3GHz - 8GB RAM 1600 MHz - SSD 860 EVO 500GB - Debian

axur-delmeria
Senior ThinkPadder
Senior ThinkPadder
Posts: 2001
Joined: Mon May 28, 2012 5:49 am
Location: Metro Manila, Philippines

Re: Touchpad fix X220 synaptics firmware 8.1 bug (linux)

#2 Post by axur-delmeria » Mon Jul 23, 2018 11:00 am

Tried the dmesg | grep -i touchpad command. The output was blank/empty. Then i realized that i disabled the touchpad in BIOS. :lol:

Thanks for the post regardless. I'll keep a copy for future reference.
Daily driver: X220 4291-C91 i7-2620M

Backup: X220 4291-P79 i5-2520M
Toy: X60F Core Solo U1300
In pieces: two retired but working X61Ts
RIP: 760XD 9546-U9E; X61 7676-A24; and a BOE-Hydis HV121P01-100 in failed SXGA+ mod
:cry:

evening_hunger
Junior Member
Junior Member
Posts: 264
Joined: Thu Nov 26, 2015 2:55 pm
Location: Normandy, France

Re: Touchpad fix X220 synaptics firmware 8.1 bug (linux)

#3 Post by evening_hunger » Sat Jul 28, 2018 5:34 am

@skx
Thanks for this, let me just notice your procedure is not exhaustive. First of all, there's nothing in the /etc/udev/hwdb.d/ directory for most users. You write "look for quirks in the 90-libinput..." file, but you don't even say how to find it / create it.
Only search reveals there's a prototype of this file in /usr/lib (on Debians at least) but it's nontrivial...

That out of the way, do you know what the procedure should be for a X230? Surely, I can't just use the same two lines, as udevadm hwdb --update doesn't get a match on this on a X230. And X230 has jumpy trackpad too....
x320/i7-2620M/8GB/256gb.ssd/FHD13.3''IPS/debian_testing (main driver)
x230/i5/8GB/500gb.hdd+256gb.m2ssd/IPS/debian_stable+win7 (better half)

skx
Freshman Member
Posts: 60
Joined: Mon Jul 09, 2018 6:25 pm
Location: Belgium

Re: Touchpad fix X220 synaptics firmware 8.1 bug (linux)

#4 Post by skx » Sun Jul 29, 2018 4:53 pm

evening_hunger wrote:
Sat Jul 28, 2018 5:34 am
@skx
Thanks for this, let me just notice your procedure is not exhaustive. First of all, there's nothing in the /etc/udev/hwdb.d/ directory for most users. You write "look for quirks in the 90-libinput..." file, but you don't even say how to find it / create it.
Only search reveals there's a prototype of this file in /usr/lib (on Debians at least) but it's nontrivial...

That out of the way, do you know what the procedure should be for a X230? Surely, I can't just use the same two lines, as udevadm hwdb --update doesn't get a match on this on a X230. And X230 has jumpy trackpad too....
You need to re-read the instructions. You are mixing things up. I have Debian, but the fix is distibution independent and applies to all distributions with libinput. For your info, the fix was even identified by Red Hat kernel developers (see source mentioned in my first post, read the full bug comment trail)

Step 1: create a new file (it's normal you don't find anything under /etc/udev/hwdb.d/), you can do this with command touch

Code: Select all

touch /etc/udev/hwdb.d/90-libinput-x220-fw8.1.hwdb
Step 2: lookup information mentioned in 90-libinput-model-quirks.hwdb , the reason why the location is not mentioned is that this can be different for different distros. use the find command to define the location of 90-libinput-model-quirks.hwdb. for debian you can find this file under /lib/udev/hwdb.d and it mentions the following for X230:
# X230 (Tablet)
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*:pvrThinkPadX230*
LIBINPUT_MODEL_LENOVO_X230=1
The info you will find should be copypasted in the file you created under step 1. But again, you should lookup this yourself, as the settings can change from distro to distro.

Good luck, if you don't find the file mentioned under step 2, verify you have libinput installed at all? Which distro do you use?
ThinkPad X220: i5-2520M CPU 2.5GHz - 8GB RAM 1333 MHz - SSD 860 EVO 250GB - Debian
ThinkPad X230: i5-3320M CPU 3.3GHz - 8GB RAM 1600 MHz - SSD 860 EVO 500GB - Debian

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “ThinkPad X200/201/220 and X300/301 Series”

Who is online

Users browsing this forum: No registered users and 9 guests