Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/index.php/Reporting_Bug_Guidelines

Do NOT report bugs when a package is just outdated, or it is in Unsupported. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#59714 - [linux] Elantech Touchpad and TrackPoint does not work with new kernel (4.18.1)

Attached to Project: Arch Linux
Opened by Rainer (rainer) - Sunday, 19 August 2018, 07:35 GMT
Last edited by Doug Newgard (Scimmia) - Tuesday, 21 August 2018, 17:25 GMT
Task Type Bug Report
Category Kernel
Status Assigned
Assigned To Tobias Powalowski (tpowa)
Jan Steffens (heftig)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 14
Private No

Details

I am using a ThinkPad L480 with an Elantech Touchpad and Trackpoint with a freshly installed ArchLinux.
With the current kernel 4.18.1-arch1-1-ARCH both, the Touchpad and the Trackpoint are not registered as devices in /proc/bus/input/devices and are not working.

When I switch to the LTS kernel "4.14.63-1-lts" everything works fine.

I noticed I2C (SMBus) related errors in dmesg for the 4.18.1 Kernel, which are not present in the LTS kernel:

[ 2.817190] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5f3001)
[ 2.833363] psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x10.
[ 2.849612] psmouse serio1: elantech: Elan sample query result 00, 23, c8
[ 2.862956] random: crng init done
[ 2.862960] random: 7 urandom warning(s) missed due to ratelimiting
[ 2.865045] psmouse serio1: elantech: Trying to set up SMBus access
[ 2.874664] elan_i2c 0-0015: 0-0015 supply vcc not found, using dummy regulator
[ 2.887800] elan_i2c 0-0015: failed to get resolution: -5
[ 2.887839] elan_i2c: probe of 0-0015 failed with error -5

Full dmesg output and /proc/bus/input/devices file for both kernel versions see attached.

I appreciate any help on this.
This task depends upon

Comment by Dinu (rrdinu) - Sunday, 19 August 2018, 08:57 GMT
I can confirm this issue, on my Thinkpad L480. Touchpad and Trackpoint are not working after the kernel update to 4.18.1.arch1-1. Both were working fine with the previous version of the kernel (4.17) from the core repository.

I have tried adding the kernel parameters "i8042.noloop i8042.nomux i8042.nopnp i8042.reset" (suggested in libinput ArchWiki), but that did not fix the issue.

Both the Touchpad and Trackpoint are working fine with the LTS kernel (4.14.63-1-lts), without any additional kernel parameters.

-----------------
Edit: 24-Aug-2018

Including the outputs of the following commands, for the latest stable (core/linux 4.18.4.arch1-1) and LTS (core/linux-lts 4.14.66-1) kernels:

dmesg | grep -iC 3 "elan"
cat /proc/bus/input/devices |awk '/Elantech/' RS="\n\n"
grep "Using input driver" /var/log/Xorg.0.log

The stable kernel (4.18.4.arch1-1) does not create any Elantech devices in /proc/bus/input/devices.

--------------------
Edit 2: 24/Aug/2018

The xorg log files uploaded in the previous edit were named incorrectly. Apologies. I am unable delete them from the comment. The correct ones are the 0.7 KiB file for linux-lts-4.14.66-1 and 0.4 KiB file for linux-4.18.4.arch1-1.
Comment by Oskar Hahn (ostcar) - Monday, 20 August 2018, 15:06 GMT
I also have a Thinkpad L480 and can also confirm this issue.
Comment by Anonymous Submitter - Monday, 20 August 2018, 15:44 GMT
This same issue on my Thinkpad L480
Comment by loqs (loqs) - Monday, 20 August 2018, 16:23 GMT Comment by Edward Duffy (Edward7089) - Sunday, 09 September 2018, 19:56 GMT
Having the same problem on my L580
Comment by Dinu (rrdinu) - Monday, 10 September 2018, 02:28 GMT
I have experienced the same issue when using an openSUSE rolling release (Tumbleweed) live medium with the 4.18 series kernel, on Thinkpad L480. Hence, the issue may not be specific to Arch Linux.
Comment by Tom Todd (tom-todd) - Tuesday, 18 September 2018, 09:05 GMT
Hello, I was experiencing this issue on my Asus FX504GM.
I used these patches:
https://bugzilla.kernel.org/attachment.cgi?id=277507&action=diff and https://bugzilla.kernel.org/attachment.cgi?id=277553&action=diff
From this thread:
https://bugzilla.kernel.org/show_bug.cgi?id=199911#c68
And the touchpad works for me, however it is still buggy. Occasionally it disconnects and the driver needs restarting and there are a few other issues.
Comment by Zadagu (Zadagu) - Tuesday, 18 September 2018, 16:56 GMT
I have the same issue on my Thinkpad L580. Touchpad and Trackpoint aren't working nor detected.
Comment by Alexey Vasilyev (dr-avas) - Wednesday, 19 September 2018, 03:26 GMT
I'm experiencing the same problem on a new ThinkPad p52. I looked through the fix proposed by Tom Todd, it turned out it was included in 4.19-rc1. I compiled it, booted, but still the issue is there

kernel: psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5f2001)
kernel: psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x0e.
kernel: psmouse serio1: elantech: Elan sample query result 00, 28, 96
kernel: psmouse serio1: elantech: Trying to set up SMBus access
kernel: elan_i2c 0-0015: 0-0015 supply vcc not found, using dummy regulator
kernel: elan_i2c 0-0015: Linked as a consumer to regulator.0
kernel: elan_i2c 0-0015: failed to get resolution: -71
kernel: elan_i2c 0-0015: Dropping the link to regulator.0
kernel: elan_i2c: probe of 0-0015 failed with error -71

Comment by Tom Todd (tom-todd) - Wednesday, 19 September 2018, 06:02 GMT
No only part of it was included. Lines 1016 to 1022 of the first patch are not in currently if I'm not mistaken, as they are more of a work around than an actual fix.
Comment by Simon Tunnat (imon) - Wednesday, 19 September 2018, 15:43 GMT
I have the same problem on a Thinkpad P52:

$ dmesg | grep -i elan
[ 3.176443] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5f2001)
[ 3.187446] psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x0e.
[ 3.197761] psmouse serio1: elantech: Elan sample query result 00, 28, 96
[ 3.209929] psmouse serio1: elantech: Trying to set up SMBus access
[ 3.216519] elan_i2c 0-0015: 0-0015 supply vcc not found, using dummy regulator
[ 3.237723] elan_i2c 0-0015: failed to get resolution: -71
[ 3.237731] elan_i2c: probe of 0-0015 failed with error -71
[ 4502.367914] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5f2001)
[ 4502.378665] psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x0e.
[ 4502.389503] psmouse serio1: elantech: Elan sample query result 00, 28, 96
[ 4502.399499] psmouse serio1: elantech: Trying to set up SMBus access
[ 4502.399935] elan_i2c 0-0015: 0-0015 supply vcc not found, using dummy regulator
[ 4502.418036] elan_i2c 0-0015: failed to get resolution: -71
[ 4502.418060] elan_i2c: probe of 0-0015 failed with error -71
Comment by Alexey Vasilyev (dr-avas) - Wednesday, 19 September 2018, 17:19 GMT
@tom-todd
I added the workaround part into my 4.19-rc4 and it did not change the picture unfortunately...

I think I saw a note in the original thread that this workaround is needed only if the error message from the excluded code block is appearing in the syslog.
Comment by Alexey Vasilyev (dr-avas) - Wednesday, 19 September 2018, 18:13 GMT
[deleted]
Comment by Alexey Vasilyev (dr-avas) - Monday, 24 September 2018, 03:21 GMT
Dear all

I think I found at least temporary fix for the issue (the new notebook is not useless at least!) Hopefully somebody more experienced with input drivers will add a real fix for the issue.

When I instruct system to use 'elantech' as the protocol for serial device with the command:
sudo sh -c 'echo -n "elantech" > /sys/bus/serio/devices/serio1/protocol'

the system log shows that the device is detected correctly:
kernel: psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5f2001)
kernel: psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x0e.
kernel: psmouse serio1: elantech: Elan sample query result 00, 28, 96
kernel: input: ETPS/2 Elantech TrackPoint as /devices/platform/i8042/serio1/input/input16
kernel: input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input15

Both touchpad and trackpoint are working fine now
tested on stock Arch Kernel 4.18.7-arch1-1-ARCH
Comment by ayda (foggyfish) - Monday, 24 September 2018, 09:24 GMT
I also have a L480 and had this Problem. I tried Alexey Vasilyev's comment and it fixed the Problem for 4.18.8-arch1-1-ARCH. Thanks.
Comment by Dinu (rrdinu) - Monday, 24 September 2018, 13:41 GMT
The solution proposed by Alexey Vasilyev worked on my L480, when running the '4.18.9.arch1-1' kernel. Thanks.

I have noticed that 'cat /sys/bus/serio/devices/serio1/protocol' reports 'ETSMBus' before running the command and 'ETPS/2' after running it.
Comment by Youssef El Houti (yelhouti) - Friday, 28 September 2018, 19:16 GMT
I have a Lenovo P52 with kernel 4.18, running only the command mentioned by dr-avas fixes the problem, ie:
sudo sh -c 'echo -n "elantech" > /sys/bus/serio/devices/serio1/protocol'
Comment by Daniel Peukert (dpeukert) - Tuesday, 09 October 2018, 16:46 GMT
Also having this issue on a L480.
Comment by Maciej Przerada (przerada) - Wednesday, 14 November 2018, 07:40 GMT
On kernel 4.19.1 its still doesn't work, of course sudo sh -c 'echo -n "elantech" > /sys/bus/serio/devices/serio1/protocol' helps.
Actually 4.14 LTS works fine, do someone know something about 4.20?
Comment by thi gg (thigg) - Wednesday, 21 November 2018, 13:00 GMT
According to https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1803600 the bug also exists in 4.20

Booting with kernel parameter "psmouse.elantech_smbus=0" seems to fix it as well.
Comment by Anderson Reinkordt (sonander2) - Friday, 23 November 2018, 20:41 GMT
Confirming, same issue on ThinkPad P72. Likewise, dr-avas's temporary fix works, however does not persist across boots. Using thigg's suggested kernel parameter works.
Comment by Dinu (rrdinu) - Tuesday, 11 December 2018, 06:55 GMT
Kernel 4.19.8 includes elan_i2c patches adding support for some elan touchpads on Lenovo laptops, but does not seem to support the touchpad on L480 yet.
Comment by Ratan (nonveumann) - Wednesday, 12 December 2018, 03:59 GMT
Same issue, also remedied by dr-avas' fix but I have to run it every time on startup.

Thinkpad P52
Linux 4.19.8-arch1-1-ARCH #1 SMP PREEMPT Sat Dec 8 13:49:11 UTC 2018 x86_64 GNU/Linux
Comment by Frederik Schreiber (sucre) - Sunday, 23 December 2018, 21:07 GMT
Same issue on Lenovo P52

uname -a
Linux dosbox 4.19.12-arch1-1-ARCH #1 SMP PREEMPT Fri Dec 21 13:56:54 UTC 2018 x86_64 GNU/Linux

dmesg | grep elan
[ 4.653049] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5f2001)
[ 4.663477] psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x0e.
[ 4.673817] psmouse serio1: elantech: Elan sample query result 00, 28, 96
[ 4.683755] psmouse serio1: elantech: Trying to set up SMBus access
[ 4.688794] elan_i2c 0-0015: 0-0015 supply vcc not found, using dummy regulator
[ 4.688806] elan_i2c 0-0015: Linked as a consumer to regulator.0
[ 4.719058] elan_i2c 0-0015: failed to get resolution: -71
[ 4.719070] elan_i2c 0-0015: Dropping the link to regulator.0
[ 4.719076] elan_i2c: probe of 0-0015 failed with error -71

workaround from dr-avas works.
Comment by loqs (loqs) - Sunday, 23 December 2018, 22:44 GMT Comment by Frederik Schreiber (sucre) - Saturday, 05 January 2019, 01:19 GMT
since kernel 4.20.0 it works out of the box again. without any workaround.

uname -a
Linux dosbox 4.20.0-arch1-1-ARCH #1 SMP PREEMPT Mon Dec 24 03:00:40 UTC 2018 x86_64 GNU/Linux
dmesg | grep elan
[ 3.627199] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5f2001)
[ 3.641126] psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x0e.
[ 3.652137] psmouse serio1: elantech: Elan sample query result 00, 28, 96
Comment by Dinu (rrdinu) - Sunday, 06 January 2019, 18:04 GMT
4.20.0 kernel may have fixed the issue on P52/P72, but not on L480. I can confirm that the issue persists on L480, even after the kernel update.
Comment by loqs (loqs) - Sunday, 06 January 2019, 18:14 GMT
@rrdinu have you emailed linux-input@vger.kernel.org with a CC to benjamin.tissoires@redhat.com and dmitry.torokhov@gmail.com with that information?
Comment by Maciej Przerada (przerada) - Monday, 07 January 2019, 07:16 GMT
It doesnt work on Lenovo L480 with 4.20.0-arch1-1-ARCH
Comment by Dinu (rrdinu) - Thursday, 10 January 2019, 06:03 GMT
@loqs, I have not emailed the above-mentioned. I assumed that the issue may have been fixed on P52(or P72) based on sucre's post and your previous post about the commit. On my L480, the issue persists even after the update to 4.20.0 kernel.
Comment by Amy Wilson (PinkCathodeCat) - Friday, 18 January 2019, 01:22 GMT
It is not working on an Acer Aspire E 16 E-5-774G-57NH, running 4.20.3-arch1-1-ARCH. I will be emailing linux-input@vger.kernel.org.

It is detected:
dmesg | grep elan
[ 10.142640] elan_i2c i2c-ELAN0501:00: i2c-ELAN0501:00 supply vcc not found, using dummy regulator
[ 10.142674] elan_i2c i2c-ELAN0501:00: Linked as a consumer to regulator.0
[ 10.262529] elan_i2c i2c-ELAN0501:00: Elan Touchpad: Module ID: 0x000a, Firmware: 0x0002, Sample: 0x0002, IAP: 0x000d

Output of cat /sys/bus/serio/devices/serio0/firmware_id :
PNP: PNP0303
Comment by Jonas DOREL (jdorel) - Saturday, 02 February 2019, 08:26 GMT
I have the same issue with an Acer Aspire E5-575-50Q4. Although works after several reboots.

uname -a
Linux acer-laptop 4.20.6-arch1-1-ARCH #1 SMP PREEMPT Thu Jan 31 08:22:01 UTC 2019 x86_64 GNU/Linux

journalctl --since today | grep elan
Feb 02 09:03:41 acer-laptop kernel: elan_i2c i2c-ELAN0501:00: i2c-ELAN0501:00 supply vcc not found, using dummy regulator
Feb 02 09:03:41 acer-laptop kernel: elan_i2c i2c-ELAN0501:00: Linked as a consumer to regulator.0
Feb 02 09:03:41 acer-laptop kernel: elan_i2c i2c-ELAN0501:00: Elan Touchpad: Module ID: 0x000a, Firmware: 0x0002, Sample: 0x0002, IAP: 0x000d
Feb 02 09:04:54 acer-laptop kernel: elan_i2c i2c-ELAN0501:00: i2c-ELAN0501:00 supply vcc not found, using dummy regulator
Feb 02 09:04:54 acer-laptop kernel: elan_i2c i2c-ELAN0501:00: Linked as a consumer to regulator.0
Feb 02 09:04:54 acer-laptop kernel: elan_i2c i2c-ELAN0501:00: Elan Touchpad: Module ID: 0x000a, Firmware: 0x0002, Sample: 0x0002, IAP: 0x000d
Comment by loqs (loqs) - Saturday, 02 February 2019, 14:28 GMT
@jdorel what is the output of `cat /sys/bus/serio/devices/serio1/firmware_id` ?
Comment by Jonas DOREL (jdorel) - Sunday, 03 February 2019, 04:06 GMT
I did not have a serio1 device, but a serio0 device:

cat /sys/bus/serio/devices/serio0/firmware_id
PNP: PNP0303
Comment by loqs (loqs) - Sunday, 03 February 2019, 10:53 GMT
Unfortunately that device identifier is probably too generic to blacklist
Please try the work around from https://bugs.archlinux.org/task/59714#comment174924
Comment by Dinu (rrdinu) - Friday, 12 April 2019, 02:24 GMT
@loqs 'cat /sys/bus/serio/devices/serio0/firmware_id' returns 'PNP: LEN0071 PNP0303' on my Thinkpad L480. I am booting with kernel parameter 'psmouse.elantech_smbus=0' on kernel 5.0.7.

Loading...