apport failed to identify libinput, the installed package was actually
libinput10:amd64
** Description changed:
Synaptics SYNA8022 (06CB:CE67) I2C-HID touchpad reports corrupted
- coordinates, then wedges the I2C bus ("lost arbitration"); only recovers
- after a power cycle of the device (s2idle suspend/resume or full power-
+ coordinates, then wedges the I2C bus ("lost arbitration"); recovers only
+ after the device is power-cycled (s2idle suspend/resume or full power-
off)
== Summary ==
The built-in touchpad on a ThinkPad P14s Gen 6 (21QTCTO1WW) stops responding
completely after anywhere from ~15 seconds to ~1.5 hours of use. Before each
failure the touchpad emits physically impossible coordinate jumps (libinput:
"kernel bug: Touch jump detected and discarded"), followed by an I2C
controller
abort ("i2c_dw_handle_tx_abort: lost arbitration") and continuous
"controller timed out" / "failed to set a report to device: -110" errors.
Once wedged, no evdev events are produced at all.
- The device does not recover via driver reload or warm reboot. It recovers only
- when the touchpad loses power: closing/opening the lid (s2idle suspend/resume,
- even a ~22 s suspend) or a full power-off. After recovery the coordinate
- corruption starts again immediately and the bus wedges again later.
+ The device does not recover via modprobe or warm reboot. It recovers when the
+ touchpad loses power: closing/opening the lid (s2idle suspend/resume, even a
+ ~22 s suspend) or a full power-off. After recovery the coordinate corruption
+ starts again immediately and the bus wedges again later.
I suspect a hardware fault in the touchpad module (evidence below), but I'm
filing this so the kernel-side behaviour can be reviewed: the I2C DesignWare
controller/i2c-hid stack never recovers from the stuck bus, and a warm reboot
- leaves the device missing completely.
+ leaves the device missing completely with nothing logged.
+
+ All times below are UTC.
== Hardware / software ==
Machine: LENOVO ThinkPad P14s Gen 6, 21QTCTO1WW
- BIOS: R2WET36W (1.18), 08/06/2025 (unchanged throughout)
+ BIOS: R2WET36W (1.18), 08/06/2025 (unchanged on every boot in the logs)
Touchpad: SYNA8022:00 06CB:CE67, I2C HID v1.00, driver hid-multitouch
/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-SYNA8022:00
OS: Ubuntu 26.04 LTS
- Kernel: 7.0.0-38-generic (first booted 2026-10-19); problem symptoms first
+ Kernel: 7.0.0-38-generic (first booted 2026-10-19 17:11); the symptoms
first
appeared on 7.0.0-30-generic
- libinput: 1.31.1-1ubuntu1.2
- Power: on battery (AC offline) during all failures; battery 98% of design
- capacity, 24 cycles
+ libinput: 1.31.1-1ubuntu1.2 (unchanged since 2026-09-15)
+ Power: on battery (AC adapter off-line) during all failures; battery 98%
of
+ design capacity, 24 cycles
- == Kernel log at failure (example, cold boot 2026-10-20) ==
+ == Kernel log at failure (example: cold boot 2026-10-20) ==
- 15:33:07 hid-multitouch 0018:06CB:CE67.0001: input,hidraw0: I2C HID v1.00
Mouse [SYNA8022:00 06CB:CE67] on i2c-SYNA8022:00
- 15:33:22 libinput error: event5 - SYNA8022:00 06CB:CE67 Touchpad: kernel
bug: Touch jump detected and discarded. (x5, then rate-limited)
- 15:33:25 i2c_designware i2c_designware.0: i2c_dw_handle_tx_abort: lost
arbitration
- 15:33:26 i2c_designware i2c_designware.0: controller timed out
- 15:33:47 i2c_designware i2c_designware.0: controller timed out
- 15:33:47 i2c_hid_acpi i2c-SYNA8022:00: failed to set a report to device:
-110 (repeats)
+ 21:33:07 hid-multitouch 0018:06CB:CE67.0001: input,hidraw0: I2C HID v1.00
Mouse [SYNA8022:00 06CB:CE67] on i2c-SYNA8022:00
+ 21:33:22 libinput error: event5 - SYNA8022:00 06CB:CE67 Touchpad: kernel
bug: Touch jump detected and discarded. (x5, then rate-limited)
+ 21:33:25 i2c_designware i2c_designware.0: i2c_dw_handle_tx_abort: lost
arbitration
+ 21:33:26 i2c_designware i2c_designware.0: controller timed out
+ 21:33:47 i2c_designware i2c_designware.0: controller timed out
+ 21:33:47 i2c_hid_acpi i2c-SYNA8022:00: failed to set a report to device:
-110 (repeats)
- Another occurrence (2026-10-20 17:14 EDT) also logged:
+ The occurrence at 2026-10-20 21:11 also logged:
i2c_hid_acpi i2c-SYNA8022:00: failed to change power setting.
- == Occurrences ==
+ == Occurrences of the bus wedge ==
- 2026-10-20 11:29 EDT lost arbitration (after ~17 min awake following resume)
- 2026-10-20 17:11 EDT lost arbitration -> timeouts -> "failed to change power
setting"
- 2026-10-20 15:33 MDT lost arbitration 16 s after a cold boot
- 2026-10-21 08:36 MDT lost arbitration ~75 min after resume from overnight
suspend
+ 2026-10-20 15:29 lost arbitration, ~17 min after resume
+ 2026-10-20 21:11 lost arbitration -> timeouts -> "failed to change power
setting",
+ ~16 min after resume
+ 2026-10-20 21:33 lost arbitration 16 s after a cold boot
+ 2026-10-21 14:36 lost arbitration ~75 min after resume from overnight suspend
- Touch-jump errors per day (journal from Jul 8, syslog from Sep 13):
- Jul 15: 1, Jul 31: 6, Sep 13 - Oct 16: 0,
- Oct 17: 5 (kernel 7.0.0-30), Oct 19: 15, Oct 20: 53, Oct 21: continuing
- (counts are a lower bound; libinput rate-limits to 5 per 8 minutes)
+ Touch-jump errors per UTC day (systemd journal, continuous coverage 2026-07-08
+ to 2026-10-21):
+ Jul 15: 1
+ Jul 31: 6
+ Aug 1 - Oct 17: 0
+ Oct 18: 5 (first at 00:04, 11 s after undocking; kernel 7.0.0-30)
+ Oct 19: 15
+ Oct 20: 53
+ Oct 21: 35 (until 14:43)
+ These are lower bounds: libinput rate-limits the message to 5 per 8 minutes.
== Recovery behaviour ==
modprobe i2c_hid_acpi / hid_multitouch -> no effect
- warm reboot (2026-10-20 15:18) -> touchpad NOT enumerated at all on
next
+ warm reboot (2026-10-20 21:18) -> touchpad NOT enumerated at all on
the next
boot (no SYNA8022 lines in dmesg,
no errors)
- full power-off + boot -> works, failed again after 16 s
+ full power-off + boot (21:33) -> works, failed again after 16 s
lid close/open (s2idle), even ~22 s -> works again; no i2c/hid messages
logged on
resume; corruption resumes
immediately
+ i2c_hid_acpi unbind/bind (2026-10-20 -> device re-enumerated as
0018:06CB:CE67.0003
+ 16:25:38, ~5 min after a resume) and reported events 7 s later.
This ran
+ after a suspend/resume, so it is
unclear
+ whether the resume or the rebind
restored it.
== Evidence from evdev captures (libinput record on /dev/input/event5)
==
- While wedged (2026-10-20 15:35, 2026-10-21 08:37): 30 s capture with finger
+ While wedged (2026-10-20 21:35, 2026-10-21 14:37): 30 s capture with finger
movement recorded 0 events ("No events recorded").
- Right after a lid-cycle recovery (2026-10-21 08:43): 4136 frames in 29.4 s.
+ Right after a lid-cycle recovery (2026-10-21 14:43): 4136 frames in 29.4 s.
Frame cadence is steady (median 6.8 ms, matching MSC_TIMESTAMP increments
of 6800 us; no dropped reports). Slot, tracking ID and timestamp data are all
consistent, but 19 single-frame position jumps of 2.8-7.8 mm occurred during
ordinary one-finger movement. The capture timestamps match the libinput
"Touch jump" journal entries to the millisecond. Two patterns:
(a) jump then hold - finger moving ~0.7 mm/frame jumps 7 mm in one frame:
x=104 y=261 d=( -3, +8)
x= 98 y=345 d=( -6, +84) <- 7 mm in 6.8 ms
x= 98 y=346 d=( +0, +1)
(b) single bad sample that returns to the trajectory:
x=1059 d=(+14, -5)
x=1013 d=(-46,+15) <- outlier
x=1074 d=(+61,-20)
x=1094 d=(+20, -7)
(units: 12 units/mm, ABS_MT_POSITION_X/Y)
+
== Analysis ==
- The corrupted positions are inside otherwise well-formed, evenly timed HID
reports, so they seem to come from the touchpad's own position reporting
rather than I2C transfer corruption or libinput.
- Not charger noise: all failures occurred on battery.
- No BIOS, firmware (fwupd), libinput or kernel change coincides with onset
- (Oct 17, kernel 7.0.0-30, which had been running since Sep 2).
+ (2026-10-18 00:04 UTC, on kernel 7.0.0-30, which had been running since
+ 2026-09-02).
- The device holding the bus ("lost arbitration" on a single-device bus) and
- only recovering on power removal suggests the touchpad controller hangs.
+ recovering after power removal suggests the touchpad controller hangs.
Kernel-side questions:
1. i2c_designware does not appear to attempt bus recovery after
"lost arbitration"; the bus stays dead until the device is powered off.
2. After a warm reboot the device is not enumerated at all and nothing is
logged; a probe failure message would help diagnosis.
3. Not yet tested: whether 7.0.0-30-generic changes how often the bus wedges
(all bus lockups so far were on 7.0.0-38; touch jumps occur on both).
== Workaround ==
Close and reopen the lid (s2idle suspend/resume) to restore the touchpad
temporarily. TrackPoint and external mice are unaffected.
- == Attached / available ==
+ == Attached ==
+ - trackpad-log-excerpts.txt (relevant excerpts from the systemd journal,
dmesg,
+ kern.log and dpkg.log, Jul 8 - Oct 21, UTC timestamps, identifiers redacted)
- trackpad-debug-20261020-153537.log (wedged: 0 events)
- trackpad-debug-20261021-083726.log (wedged: 0 events)
- trackpad-debug-20261021-084257.log (after recovery: libinput record with
jumps)
-
- ProblemType: Bug
- DistroRelease: Ubuntu 26.04
- Package: linux-image-7.0.0-38-generic 7.0.0-38.38
- ProcVersionSignature: Ubuntu 7.0.0-38.38-generic 7.0.14
- Uname: Linux 7.0.0-38-generic x86_64
- ApportVersion: 2.34.0-0ubuntu2
- Architecture: amd64
- AudioDevicesInUse:
- USER PID ACCESS COMMAND
- /dev/snd/controlC0: [email protected] 11385 F.... pipewire
- [email protected] 11401 F.... wireplumber
- /dev/snd/seq: [email protected] 11385 F.... pipewire
- CasperMD5CheckResult: pass
- CurrentDesktop: ubuntu:GNOME
- Date: Wed Oct 21 08:46:33 2026
- InstallationDate: Installed on 2025-12-12 (313 days ago)
- InstallationMedia: Ubuntu 25.04 "Plucky Puffin" - Daily amd64 (20250306)
- MachineType: LENOVO 21QTCTO1WW
- ProcEnviron:
- LANG=en_US.UTF-8
- PATH=(custom, no user)
- SHELL=/usr/bin/bash
- TERM=screen-256color
- XDG_RUNTIME_DIR=<set>
- ProcFB: 0 i915drmfb
- ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-7.0.0-38-generic
root=/dev/mapper/ubuntu--vg-ubuntu--lv ro quiet splash
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
- SourcePackage: linux
- UpgradeStatus: Upgraded to resolute on 2026-04-22 (182 days ago)
- dmi.bios.date: 08/06/2025
- dmi.bios.release: 1.18
- dmi.bios.vendor: LENOVO
- dmi.bios.version: R2WET36W (1.18 )
- dmi.board.asset.tag: Not Available
- dmi.board.name: 21QTCTO1WW
- dmi.board.vendor: LENOVO
- dmi.board.version: SDK0T76461 WIN
- dmi.chassis.asset.tag: No Asset Information
- dmi.chassis.type: 10
- dmi.chassis.vendor: LENOVO
- dmi.chassis.version: None
- dmi.ec.firmware.release: 1.10
- dmi.modalias:
dmi:bvnLENOVO:bvrR2WET36W(1.18):bd08/06/2025:br1.18:efr1.10:svnLENOVO:pn21QTCTO1WW:pvrThinkPadP14sGen6:rvnLENOVO:rn21QTCTO1WW:rvrSDK0T76461WIN:cvnLENOVO:ct10:cvrNone:skuLENOVO_MT_21QT_BU_Think_FM_ThinkPadP14sGen6:pfaThinkPadP14sGen6:
- dmi.product.family: ThinkPad P14s Gen 6
- dmi.product.name: 21QTCTO1WW
- dmi.product.sku: LENOVO_MT_21QT_BU_Think_FM_ThinkPad P14s Gen 6
- dmi.product.version: ThinkPad P14s Gen 6
- dmi.sys.vendor: LENOVO
** Description changed:
Synaptics SYNA8022 (06CB:CE67) I2C-HID touchpad reports corrupted
coordinates, then wedges the I2C bus ("lost arbitration"); recovers only
after the device is power-cycled (s2idle suspend/resume or full power-
off)
== Summary ==
The built-in touchpad on a ThinkPad P14s Gen 6 (21QTCTO1WW) stops responding
completely after anywhere from ~15 seconds to ~1.5 hours of use. Before each
failure the touchpad emits physically impossible coordinate jumps (libinput:
"kernel bug: Touch jump detected and discarded"), followed by an I2C
controller
abort ("i2c_dw_handle_tx_abort: lost arbitration") and continuous
"controller timed out" / "failed to set a report to device: -110" errors.
Once wedged, no evdev events are produced at all.
The device does not recover via modprobe or warm reboot. It recovers when the
touchpad loses power: closing/opening the lid (s2idle suspend/resume, even a
~22 s suspend) or a full power-off. After recovery the coordinate corruption
starts again immediately and the bus wedges again later.
- I suspect a hardware fault in the touchpad module (evidence below), but I'm
+ It could be a hardware fault in the touchpad module (evidence below), but I'm
filing this so the kernel-side behaviour can be reviewed: the I2C DesignWare
controller/i2c-hid stack never recovers from the stuck bus, and a warm reboot
leaves the device missing completely with nothing logged.
All times below are UTC.
== Hardware / software ==
Machine: LENOVO ThinkPad P14s Gen 6, 21QTCTO1WW
BIOS: R2WET36W (1.18), 08/06/2025 (unchanged on every boot in the logs)
Touchpad: SYNA8022:00 06CB:CE67, I2C HID v1.00, driver hid-multitouch
-
/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-SYNA8022:00
+
/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-SYNA8022:00
OS: Ubuntu 26.04 LTS
Kernel: 7.0.0-38-generic (first booted 2026-10-19 17:11); the symptoms
first
- appeared on 7.0.0-30-generic
+ appeared on 7.0.0-30-generic
libinput: 1.31.1-1ubuntu1.2 (unchanged since 2026-09-15)
Power: on battery (AC adapter off-line) during all failures; battery 98%
of
- design capacity, 24 cycles
+ design capacity, 24 cycles
== Kernel log at failure (example: cold boot 2026-10-20) ==
21:33:07 hid-multitouch 0018:06CB:CE67.0001: input,hidraw0: I2C HID v1.00
Mouse [SYNA8022:00 06CB:CE67] on i2c-SYNA8022:00
21:33:22 libinput error: event5 - SYNA8022:00 06CB:CE67 Touchpad: kernel
bug: Touch jump detected and discarded. (x5, then rate-limited)
21:33:25 i2c_designware i2c_designware.0: i2c_dw_handle_tx_abort: lost
arbitration
21:33:26 i2c_designware i2c_designware.0: controller timed out
21:33:47 i2c_designware i2c_designware.0: controller timed out
21:33:47 i2c_hid_acpi i2c-SYNA8022:00: failed to set a report to device:
-110 (repeats)
The occurrence at 2026-10-20 21:11 also logged:
- i2c_hid_acpi i2c-SYNA8022:00: failed to change power setting.
+ i2c_hid_acpi i2c-SYNA8022:00: failed to change power setting.
== Occurrences of the bus wedge ==
2026-10-20 15:29 lost arbitration, ~17 min after resume
2026-10-20 21:11 lost arbitration -> timeouts -> "failed to change power
setting",
- ~16 min after resume
+ ~16 min after resume
2026-10-20 21:33 lost arbitration 16 s after a cold boot
2026-10-21 14:36 lost arbitration ~75 min after resume from overnight suspend
Touch-jump errors per UTC day (systemd journal, continuous coverage 2026-07-08
to 2026-10-21):
- Jul 15: 1
- Jul 31: 6
- Aug 1 - Oct 17: 0
- Oct 18: 5 (first at 00:04, 11 s after undocking; kernel 7.0.0-30)
- Oct 19: 15
- Oct 20: 53
- Oct 21: 35 (until 14:43)
+ Jul 15: 1
+ Jul 31: 6
+ Aug 1 - Oct 17: 0
+ Oct 18: 5 (first at 00:04, 11 s after undocking; kernel 7.0.0-30)
+ Oct 19: 15
+ Oct 20: 53
+ Oct 21: 35 (until 14:43)
These are lower bounds: libinput rate-limits the message to 5 per 8 minutes.
== Recovery behaviour ==
modprobe i2c_hid_acpi / hid_multitouch -> no effect
warm reboot (2026-10-20 21:18) -> touchpad NOT enumerated at all on
the next
- boot (no SYNA8022 lines in dmesg,
no errors)
+ boot (no SYNA8022 lines in dmesg,
no errors)
full power-off + boot (21:33) -> works, failed again after 16 s
lid close/open (s2idle), even ~22 s -> works again; no i2c/hid messages
logged on
- resume; corruption resumes
immediately
+ resume; corruption resumes
immediately
i2c_hid_acpi unbind/bind (2026-10-20 -> device re-enumerated as
0018:06CB:CE67.0003
- 16:25:38, ~5 min after a resume) and reported events 7 s later.
This ran
- after a suspend/resume, so it is
unclear
- whether the resume or the rebind
restored it.
+ 16:25:38, ~5 min after a resume) and reported events 7 s later.
This ran
+ after a suspend/resume, so it is
unclear
+ whether the resume or the rebind
restored it.
== Evidence from evdev captures (libinput record on /dev/input/event5)
==
While wedged (2026-10-20 21:35, 2026-10-21 14:37): 30 s capture with finger
movement recorded 0 events ("No events recorded").
Right after a lid-cycle recovery (2026-10-21 14:43): 4136 frames in 29.4 s.
Frame cadence is steady (median 6.8 ms, matching MSC_TIMESTAMP increments
of 6800 us; no dropped reports). Slot, tracking ID and timestamp data are all
consistent, but 19 single-frame position jumps of 2.8-7.8 mm occurred during
ordinary one-finger movement. The capture timestamps match the libinput
"Touch jump" journal entries to the millisecond. Two patterns:
- (a) jump then hold - finger moving ~0.7 mm/frame jumps 7 mm in one frame:
- x=104 y=261 d=( -3, +8)
- x= 98 y=345 d=( -6, +84) <- 7 mm in 6.8 ms
- x= 98 y=346 d=( +0, +1)
+ (a) jump then hold - finger moving ~0.7 mm/frame jumps 7 mm in one frame:
+ x=104 y=261 d=( -3, +8)
+ x= 98 y=345 d=( -6, +84) <- 7 mm in 6.8 ms
+ x= 98 y=346 d=( +0, +1)
- (b) single bad sample that returns to the trajectory:
- x=1059 d=(+14, -5)
- x=1013 d=(-46,+15) <- outlier
- x=1074 d=(+61,-20)
- x=1094 d=(+20, -7)
+ (b) single bad sample that returns to the trajectory:
+ x=1059 d=(+14, -5)
+ x=1013 d=(-46,+15) <- outlier
+ x=1074 d=(+61,-20)
+ x=1094 d=(+20, -7)
(units: 12 units/mm, ABS_MT_POSITION_X/Y)
== Analysis ==
- The corrupted positions are inside otherwise well-formed, evenly timed HID
- reports, so they seem to come from the touchpad's own position reporting
- rather than I2C transfer corruption or libinput.
+ reports, so they seem to come from the touchpad's own position reporting
+ rather than I2C transfer corruption or libinput.
- Not charger noise: all failures occurred on battery.
- No BIOS, firmware (fwupd), libinput or kernel change coincides with onset
- (2026-10-18 00:04 UTC, on kernel 7.0.0-30, which had been running since
- 2026-09-02).
+ (2026-10-18 00:04 UTC, on kernel 7.0.0-30, which had been running since
+ 2026-09-02).
- The device holding the bus ("lost arbitration" on a single-device bus) and
- recovering after power removal suggests the touchpad controller hangs.
+ recovering after power removal suggests the touchpad controller hangs.
Kernel-side questions:
- 1. i2c_designware does not appear to attempt bus recovery after
- "lost arbitration"; the bus stays dead until the device is powered off.
- 2. After a warm reboot the device is not enumerated at all and nothing is
- logged; a probe failure message would help diagnosis.
- 3. Not yet tested: whether 7.0.0-30-generic changes how often the bus wedges
- (all bus lockups so far were on 7.0.0-38; touch jumps occur on both).
+ 1. i2c_designware does not appear to attempt bus recovery after
+ "lost arbitration"; the bus stays dead until the device is powered off.
+ 2. After a warm reboot the device is not enumerated at all and nothing is
+ logged; a probe failure message would help diagnosis.
+ 3. Not yet tested: whether 7.0.0-30-generic changes how often the bus wedges
+ (all bus lockups so far were on 7.0.0-38; touch jumps occur on both).
== Workaround ==
Close and reopen the lid (s2idle suspend/resume) to restore the touchpad
temporarily. TrackPoint and external mice are unaffected.
== Attached ==
- trackpad-log-excerpts.txt (relevant excerpts from the systemd journal,
dmesg,
- kern.log and dpkg.log, Jul 8 - Oct 21, UTC timestamps, identifiers redacted)
+ kern.log and dpkg.log, Jul 8 - Oct 21, UTC timestamps, identifiers redacted)
- trackpad-debug-20261020-153537.log (wedged: 0 events)
- trackpad-debug-20261021-083726.log (wedged: 0 events)
- trackpad-debug-20261021-084257.log (after recovery: libinput record with
jumps)
** Package changed: linux (Ubuntu) => libinput (Ubuntu)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171633
Title:
Lenovo P14s Gen 6 Intel trackpad is intermittent, sometimes it skips
or fails to register gesutres, sometimes it stops working entirely
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libinput/+bug/2171633/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs