Bug 209167
Summary: | Elantech TrackPoint loses sync and jumps to edge/corner on Thinkpad X13/T14s occasionally | ||
---|---|---|---|
Product: | Drivers | Reporter: | Alexander Hahn (alexander.hahn) |
Component: | Input Devices | Assignee: | drivers_input-devices |
Status: | NEW --- | ||
Severity: | normal | CC: | alexander.hahn, asm.txt, bugzilla.kernel.2017, daniel, dennis, felixg3, gerry.treppel, iceomix, kernel, kernel, kernelbugs, kim.lindberger, lars, mail, nroach44, phoenix, run.rin, shaleen.jain95 |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.9.8 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
Contents of /proc/bus/input/devices
Fix jumpy trackpoint on T14s Video of cursor jumping 18 times in under 9 minutes |
Description
Alexander Hahn
2020-09-06 11:42:10 UTC
I can observe this issue with a T14s AMD on 5.10.1. Firmware ID says `PNP: LEN2143 PNP0f13`. Setup at boot: ``` serio: i8042 KBD port at 0x60,0x64 irq 1 serio: i8042 AUX port at 0x60,0x64 irq 12 psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x7f3001) psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x0f. psmouse serio1: elantech: Elan sample query result 00, 80, c9 psmouse serio1: elantech: Trying to set up SMBus access psmouse serio1: elantech: SMbus companion is not ready yet input: ETPS/2 Elantech TrackPoint as /devices/platform/i8042/serio1/input/input8 input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input6 ``` Various occurrences: ``` Dec 23 11:54:25 shlep kernel: psmouse serio1: elantech: PS/2 packet [24 80 80 36 00 00] Dec 23 11:56:16 shlep kernel: psmouse serio1: elantech: PS/2 packet [10 80 80 36 00 00] Dec 23 11:58:31 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 11:58:31 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced. Dec 23 12:18:32 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 12:18:32 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced. Dec 23 12:19:42 shlep kernel: psmouse serio1: elantech: PS/2 packet [10 80 80 36 00 00] Dec 23 12:27:15 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 12:27:15 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced. Dec 23 12:40:28 shlep kernel: psmouse serio1: elantech: PS/2 packet [34 80 80 36 00 00] Dec 23 12:41:06 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 12:41:06 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced. Dec 23 12:44:54 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 12:44:54 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 12:44:54 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 12:44:54 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 12:44:54 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 12:44:54 shlep kernel: psmouse serio1: issuing reconnect request Dec 23 12:47:47 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 12:47:47 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced. Dec 23 13:02:48 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Dec 23 13:02:48 shlep kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced. ``` /proc/input/devices: ``` I: Bus=0011 Vendor=0002 Product=000e Version=0000 N: Name="ETPS/2 Elantech TrackPoint" P: Phys=isa0060/serio1/input1 S: Sysfs=/devices/platform/i8042/serio1/input/input8 U: Uniq= H: Handlers=mouse0 event6 B: PROP=21 B: EV=7 B: KEY=70000 0 0 0 0 B: REL=3 I: Bus=0011 Vendor=0002 Product=000e Version=0000 N: Name="ETPS/2 Elantech Touchpad" P: Phys=isa0060/serio1/input0 S: Sysfs=/devices/platform/i8042/serio1/input/input6 U: Uniq= H: Handlers=mouse1 event7 B: PROP=5 B: EV=b B: KEY=e420 10000 0 0 0 0 B: ABS=661800011000003 ``` I'm also experiencing this on a T14s Gen1 AMD (20UHCTO1WW/20UHCTO1WW, BIOS R1CET60W, 1.29) on 5.11.0-rc1. Hello, This is also affecting my Thinkpad E14 gen2 AMD RYZEN 7 4700U (LENOVO 20T6CTO1WW/20T6CTO1WW, BIOS R1AET33W (1.09 ) 10/26/2020). However the issue is with the touchpad itself and not the trackpoint. Disabling the trackpoint in the BIOS settings does not resolve the issue of touchpad jumps. While having an enabled trackpoint, using the trackpoint does not have any cursor jumps. revelant logs: ``` $ journalctl -b | grep psmouse Jan 15 12:08:21 archlinux kernel: psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5f3001) Jan 15 12:08:21 archlinux kernel: psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x0d. Jan 15 12:08:21 archlinux kernel: psmouse serio1: elantech: Elan sample query result 00, 0d, a7 Jan 15 12:08:21 archlinux kernel: psmouse serio1: elantech: Trying to set up SMBus access Jan 15 12:08:21 archlinux kernel: psmouse serio1: elantech: SMbus companion is not ready yet Jan 15 12:09:37 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 12:09:37 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 12:09:38 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 12:09:39 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 12:09:40 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 12:09:40 shalzz-thinkpad kernel: psmouse serio1: issuing reconnect request Jan 15 18:57:27 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 18:57:27 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 18:57:27 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 18:57:27 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 18:57:27 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 18:57:27 shalzz-thinkpad kernel: psmouse serio1: issuing reconnect request Jan 15 23:44:34 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 23:44:34 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 23:44:51 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 23:44:51 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 23:44:51 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 15 23:44:51 shalzz-thinkpad kernel: psmouse serio1: issuing reconnect request Jan 16 11:47:48 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 11:47:48 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 11:47:48 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 11:47:48 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 11:47:48 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 11:47:48 shalzz-thinkpad kernel: psmouse serio1: issuing reconnect request Jan 16 12:58:21 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 12:58:21 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 12:58:21 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 12:58:21 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 12:58:21 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 12:58:21 shalzz-thinkpad kernel: psmouse serio1: issuing reconnect request Jan 16 16:18:37 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 16:18:37 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 16:18:37 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 16:18:38 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 16:18:38 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 16 16:18:38 shalzz-thinkpad kernel: psmouse serio1: issuing reconnect request Jan 17 11:09:10 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 17 11:09:25 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 17 11:09:25 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 17 11:09:25 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 17 11:09:25 shalzz-thinkpad kernel: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 Jan 17 11:09:25 shalzz-thinkpad kernel: psmouse serio1: issuing reconnect request ``` kernel version: 5.10.7-arch1-1 I have the exact same problem on all 5.8, 5.9 and 5.10 versions that I tried so far. Currently I'm running kubuntu 20.10 on Linux x13 5.10.10-051010-generic #202101231639 SMP Sat Jan 23 17:16:37 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux I regularly get in dmesg: [ 199.662767] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 [ 199.669789] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced. and the cursor jumps. On Windows 10 on the same machine this issue does not occur or is at least not noticeable. PS: also running a Thinkpad x13 with Ryzen 4750U Cursor jumps occur every few minutes while I'm using trackpoint. Configuration: ThinkPad T14s (AMD) BIOS: R1CET61W(1.30 ) Kernel: 5.8.0-44-generic (Default kernel of kubuntu 20.04.2) My observations: 1. Some jumps correlate with "lost sync" from dmesg, but not all. 2. Some "lost sync" from dmesg correlate with jumps, but not all. I turned on debug [1] and found a pattern of PS/2 packets that were causing jumps. Some examples: [00 80 80 36 80 80] [10 00 80 26 00 80] [11 00 80 26 00 80] [30 00 00 06 00 00] [20 80 00 16 80 00] All of this is a valid "Native relative mode of a 6-byte packet" [2]. They are valid, but they report an extremely large relative movement [3]. Also, the second packet after that is invalid sometimes and results in the loss of the sync message. For example: [ 1208.533558] psmouse serio1: elantech: PS/2 packet [30 00 00 06 00 00] [ 1208.540623] psmouse serio1: elantech: PS/2 packet [30 00 00 00 00 00] [ 1208.540631] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 [ 1208.549088] psmouse serio1: elantech: PS/2 packet [30 00 00 06 ff fd] [ 1208.549116] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced. I don't know how find true cause of this behavior, so I made workaround on this level of stack: diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c index 053fe2d..5d7e13b 100644 --- a/drivers/input/mouse/elantech.c +++ b/drivers/input/mouse/elantech.c @@ -517,6 +517,16 @@ static void elantech_report_trackpoint(struct psmouse *psmouse, case 0x16008020U: case 0x26800010U: case 0x36808000U: + /* Drop and dump packet with unusual relative movements */ + if ((packet[4] == 0x80) || + (packet[5] == 0x80) || + ((packet[1] == packet[4]) && (packet[4] == 0x00)) || + ((packet[2] == packet[5]) && (packet[5] == 0x00))) { + if (etd->info.debug == 1) + elantech_packet_dump(psmouse); + break; + } + x = packet[4] - (int)((packet[1]^0x80) << 1); y = (int)((packet[2]^0x80) << 1) - packet[5]; This workaround make trackpoint usable again for me. But dmesg still have lot of "lost sync" messages and I need recompile psmouse module for update kernel. [1] https://www.kernel.org/doc/html/latest/input/devices/elantech.html#extra-knobs [2] https://www.kernel.org/doc/html/latest/input/devices/elantech.html#native-relative-mode-6-byte-packet-format [3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/input/mouse/elantech.c?h=v5.11.2#n489 Thanks for the patch, Oleg! It works well for me! I wonder if we could get some info from Elantech whether these packets are intentional and should be read in a different way or if the hardware is buggy and they should just be filtered out. Also, looking at the documentation and comparing with your packet dump, I noticed that it doesn't match - in the docs 'sx' and 'sy' are swapped for byte 0. That patch helps. There is still a noticeable glitch in the mouse cursor but it seems to remain in roughly the same spot. This has been driving me bonkers for the 6 months I've owned my T14S. It also seems to be less prevalent on a fresh reboot and gets more frequent with increased uptime. No idea why that would be. Created attachment 295733 [details]
Fix jumpy trackpoint on T14s
The previous version of the workaround doesn't cover some cases.
As example packet [00 80 80 36 00 f9] after calculation transform to x=0, y=-249.
My second version of the workaround fixes this. Worked great on my T14s the last few days.
Thanks! Patching now to see if that gets rid of the rest. Sorry, it's been a while but that fix has been working so well I forgot to note that I haven't seen the issue since I built the kernel with your patch. Would still be nice to contact Elantech to determine what this was mean to be if not a bug. (In reply to Oleg Trifonov from comment #7) > Cursor jumps occur every few minutes while I'm using trackpoint. > > Configuration: > ThinkPad T14s (AMD) > BIOS: R1CET61W(1.30 ) > Kernel: 5.8.0-44-generic (Default kernel of kubuntu 20.04.2) > > My observations: > 1. Some jumps correlate with "lost sync" from dmesg, but not all. > 2. Some "lost sync" from dmesg correlate with jumps, but not all. > > I turned on debug [1] and found a pattern of PS/2 packets that were causing > jumps. > Some examples: > [00 80 80 36 80 80] > [10 00 80 26 00 80] > [11 00 80 26 00 80] > [30 00 00 06 00 00] > [20 80 00 16 80 00] > > All of this is a valid "Native relative mode of a 6-byte packet" [2]. They > are valid, but they report an extremely large relative movement [3]. > Also, the second packet after that is invalid sometimes and results in the > loss of the sync message. > For example: > [ 1208.533558] psmouse serio1: elantech: PS/2 packet [30 00 00 06 00 00] > [ 1208.540623] psmouse serio1: elantech: PS/2 packet [30 00 00 00 00 00] > [ 1208.540631] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync > at byte 6 > [ 1208.549088] psmouse serio1: elantech: PS/2 packet [30 00 00 06 ff fd] > [ 1208.549116] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver > resynced. > > I don't know how find true cause of this behavior, so I made workaround on > this level of stack: > > diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c > index 053fe2d..5d7e13b 100644 > --- a/drivers/input/mouse/elantech.c > +++ b/drivers/input/mouse/elantech.c > @@ -517,6 +517,16 @@ static void elantech_report_trackpoint(struct psmouse > *psmouse, > case 0x16008020U: > case 0x26800010U: > case 0x36808000U: > + /* Drop and dump packet with unusual relative movements */ > + if ((packet[4] == 0x80) || > + (packet[5] == 0x80) || > + ((packet[1] == packet[4]) && (packet[4] == 0x00)) || > + ((packet[2] == packet[5]) && (packet[5] == 0x00))) { > + if (etd->info.debug == 1) > + elantech_packet_dump(psmouse); > + break; > + } > + > x = packet[4] - (int)((packet[1]^0x80) << 1); > y = (int)((packet[2]^0x80) << 1) - packet[5]; > > This workaround make trackpoint usable again for me. But dmesg still have > lot of "lost sync" messages and I need recompile psmouse module for update > kernel. > > [1] > https://www.kernel.org/doc/html/latest/input/devices/elantech.html#extra- > knobs > [2] > https://www.kernel.org/doc/html/latest/input/devices/elantech.html#native- > relative-mode-6-byte-packet-format > [3] > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/ > drivers/input/mouse/elantech.c?h=v5.11.2#n489 Thank you, you helped me kept my sanity. I built your patch on top of 5.11.7 on kubuntu 20.11. It's working well so far, no jumps but dmesg for me is also still showing these issues: [ 191.307627] psmouse serio1: elantech: discarding packet [30 00 00 06 fa 00] [ 191.314326] psmouse serio1: elantech: discarding packet [00 80 80 36 00 fc] [ 344.500283] psmouse serio1: elantech: PS/2 packet [00 80 00 16 00 00] [ 669.690220] psmouse serio1: elantech: discarding packet [00 80 80 36 80 80] [ 669.697279] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 [ 669.707070] psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced. Thanks for the bugfix for this annoying Elantech Trackpoint hardware/firmware bug. Is there an estimated time when this bug fix will be merged into the official kernel? This Elantech Trackpoint bug affects users of Lenovo Thinkpad X13 and T14s (and probably also A475). The following discussion in the Lenovo forum confirms this. I experience the same problem on my T14s(AMD) 20ujs00k00. https://forums.lenovo.com/t5/Fedora/T14s-AMD-Trackpoint-almost-unusable/m-p/5064952?page=1 Is the bugfix suitable for all Elantech Trackpoint hardware configurations? I encounter the same bug on a Thinkpad T14s (AMD) 20ujs00k00 and would like to know whether my configuration is covered by the bugfix. Thanks! These are my hardware details: * cat /proc/bus/input/devices gives me: * I: Bus=0011 Vendor=0002 Product=000e Version=0000 N: Name="ETPS/2 Elantech TrackPoint" P: Phys=isa0060/serio1/input1 S: Sysfs=/devices/platform/i8042/serio1/input/input8 U: Uniq= H: Handlers=mouse0 event6 B: PROP=21 B: EV=7 B: KEY=70000 0 0 0 0 B: REL=3 * journalctl -b gives me following: * kernel: psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x7f3001) kernel: psmouse serio1: elantech: Synaptics capabilities query result 0x90, 0x18, 0x0f. kernel: usb 6-4: new full-speed USB device number 3 using xhci_hcd kernel: psmouse serio1: elantech: Elan sample query result 00, 80, c9 kernel: psmouse serio1: elantech: Elan ic body: 0x10, current fw version: 0x3 kernel: psmouse serio1: elantech: Trying to set up SMBus access kernel: psmouse serio1: elantech: SMbus companion is not ready yet kernel: input: ETPS/2 Elantech TrackPoint as /devices/platform/i8042/serio1/input/input8 kernel: input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input6 [...] gnome-shell[2021]: libinput error: event6 - ETPS/2 Elantech TrackPoint: client bug: event processing lagging behind by 13ms, your system is too slow [...] gnome-shell[2021]: libinput error: event6 - ETPS/2 Elantech TrackPoint: WARNING: log rate limit exceeded (5 msgs per 60min). Discarding future messages. Thanks @Oleg Trifonov. Currently this bugfix is ok, elan will upload this patch to the linux kernel. (In reply to PhoenixH from comment #16) > Thanks @Oleg Trifonov. > Currently this bugfix is ok, elan will upload this patch to the linux kernel. Do you have a timeline for the integration to know when it will be integrated and in which version? If I am not mistaken, this is the submitted patch: https://patchwork.kernel.org/project/linux-input/list/?series=523049 It would be great, if someone could review/approve this submitted patch. This would help many Thinkpad/Elantech users. Thanks a lot! I would really appreciate a bug fix for this. Currently my cursor jumps to the corners of the screen every few minutes and my laptop is nearly unusable without a mouse because of it. Looks like no progress to get this approved or reviewed. Is there anything to accelerate getting this into a kernel version? (In reply to async from comment #20) > Looks like no progress to get this approved or reviewed. Is there anything > to accelerate getting this into a kernel version? they'll do it in that day when you buy a new laptop or never :))) My cursor no longer jumps with this bag fix, but sometimes when selecting text, the selection is reset or wrapped to another line, depending on the capabilities of the program in which I select the text The submitted patch is still pending https://patchwork.kernel.org/project/linux-input/list/?series=523049 and has not yet found a reviewer/delegate. Is here anyone who could review/approve the patch? Thanks! (In reply to Trace from comment #22) > My cursor no longer jumps with this bag fix, but sometimes when selecting > text, the selection is reset or wrapped to another line, depending on the > capabilities of the program in which I select the text Do you consider your observation (sometimes selection is reset or wrapped to another line) as a severe problem or is it unproblematic? This patch makes this touchpoint function much better, I no longer want to throw my laptop out the window, but I agree that its not totally fixed. I still get frequent errors in dmesg: psmouse serio1: elantech: PS/2 packet [10 80 80 36 00 00] I also use middle mouse button scrolling, where you hold the middle mouse button and scroll with the touchpoint, which should hold the mouse position but scroll up/down. Little hiccups in the driver like this appear to cause the touchpoint to drop out of scroll mode, as if the middle mouse button was unpressed even though it is still being held. (In reply to GerryT from comment #24) > (In reply to Trace from comment #22) > > My cursor no longer jumps with this bag fix, but sometimes when selecting > > text, the selection is reset or wrapped to another line, depending on the > > capabilities of the program in which I select the text > > Do you consider your observation (sometimes selection is reset or wrapped to > another line) as a severe problem or is it unproblematic? Yes I do, since it all happens uncontrollably. By the way, one more thing that happens with the middle button is that it also inserts text spontaneously, I have already screwed up several documents, because I don't always see that the pressed middle button worked like a ctrl + v (( (In reply to Trace from comment #26) > By the way, one more thing that happens with the middle button is that it > also inserts text spontaneously, I have already screwed up several > documents, because I don't always see that the pressed middle button worked > like a ctrl + v (( This is just the default behavior of X11, it has nothing to do with this bug. Whenever you highlight text it gets copied into the primary X selection. When you hit middle mouse, it will paste whatever was highlighted. I use this utility to avoid pasting all over the place while scrolling with middle mouse and the trackpoint: https://github.com/milaq/XMousePasteBlock (In reply to runrin from comment #27) > (In reply to Trace from comment #26) > > By the way, one more thing that happens with the middle button is that it > > also inserts text spontaneously, I have already screwed up several > > documents, because I don't always see that the pressed middle button worked > > like a ctrl + v (( > > This is just the default behavior of X11, it has nothing to do with this > bug. Whenever you highlight text it gets copied into the primary X > selection. When you hit middle mouse, it will paste whatever was highlighted. > > I use this utility to avoid pasting all over the place while scrolling with > middle mouse and the trackpoint: https://github.com/milaq/XMousePasteBlock hmm, and then why does this rarely happen? anyway thank you i'll try XMousePasteBlock Created attachment 298715 [details]
Video of cursor jumping 18 times in under 9 minutes
Here's a video of my cursor jumping on average twice a minute with the syslog in the background. The video is sped up to 2x speed.
I am using only the trackpoint, and moving my cursor around the screen as you would when using a graphical application.
This is how frequently my cursor jumps while using my machine every day. In the process of just editing this comment, it has jumped three times.
https://forums.lenovo.com/t5/Fedora/T14s-AMD-Trackpoint-almost-unusable/m-p/5064952?page=4 "That patch really needs the proposer to answer the question - but I'll see if I can test and answer for them. I was having a lot of trouble reproducing last time I tried... I'll follow up with Elantech as well - I haven't heard any updates and it seems stalled. I agree this would seem better fixed by firmware rather than workarounds :( Mark" There's a firmware update[1] of the Elan touchpad for a few Thinkpad devices, however there is not way of flashing it via Linux, even to confirm whether it fixes this issues or not. :/ [1]: https://support.lenovo.com/in/en/downloads/ds545898-elan-touchpad-firmware-for-windows-10-thinkpad-e14-gen-2 (In reply to shalzz from comment #31) > There's a firmware update[1] of the Elan touchpad for a few Thinkpad > devices, however there is not way of flashing it via Linux, even to confirm > whether it fixes this issues or not. :/ > > [1]: > https://support.lenovo.com/in/en/downloads/ds545898-elan-touchpad-firmware- > for-windows-10-thinkpad-e14-gen-2 Hi, the mentioned firmware update is incompatible with X13/T14s Gen 1 models. I could not install it using Windows. The issue persists as of Kernel 5.14.x, Lenovo isn't concerned with this issue, as no progress has been made since 14 months. kernel 5.15.3 finally included this fix https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/input/mouse/elantech.c?h=v5.15.3&id=4f43e1c69280313f121283cb5c16e5e0b1036b3a (In reply to Trace from comment #33) > kernel 5.15.3 finally included this fix > > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/ > drivers/input/mouse/elantech.c?h=v5.15. > 3&id=4f43e1c69280313f121283cb5c16e5e0b1036b3a Anyway, sometimes the cursor behaves strangely, but this is rare and for a split second... and tired of seeing these errors in dmsg: psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 psmouse serio1: issuing reconnect request psmouse serio1: elantech: discarding packet [10 00 80 26 00 80] psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 6 psmouse serio1: Touchpad at isa0060/serio1/input0 - driver resynced I have the same error on a Thinkpad E14 Gen4 still with the discarding packet involved. I risked it and managed to overwrite the Elantech Firmware using the Firmware update for a Thinkpad P53. The tool linked for the Thinkpad E14 Gen2/Gen3 suggested firmware "FW05" can not be updated because it is older than mine. That tool from the P53 is "1.0.2.0" and performed the update. Not sure which was the version that I had (no way to see it). I have probably downgraded it now, accidentally. Anyway, that "1.0.2.0" apparently still has the same problem. My problem is negligible during normal use, however when using Virtualbox, it will not receive any working inputs after that event anymore, requiring a hard shutdown of the virtual machine. A real showstopper for its use. Website Firmware P53: https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-p-series-laptops/thinkpad-p53-type-20qn-20qq/20qn/downloads/DS505655 Website Firmware E14 Gen2/3: https://pcsupport.lenovo.com/in/en/downloads/ds545898-elan-touchpad-firmware-for-windows-10-thinkpad-e14-gen-2 |