Public bug reported:

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-
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.

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.

== Hardware / software ==

Machine:   LENOVO ThinkPad P14s Gen 6, 21QTCTO1WW
BIOS:      R2WET36W (1.18), 08/06/2025 (unchanged throughout)
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
           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

== 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)

Another occurrence (2026-10-20 17:14 EDT) also logged:
  i2c_hid_acpi i2c-SYNA8022:00: failed to change power setting.

== Occurrences ==

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

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)

== Recovery behaviour ==

modprobe i2c_hid_acpi / hid_multitouch   -> no effect
warm reboot (2026-10-20 15:18)           -> touchpad NOT enumerated at all on 
next
                                            boot (no SYNA8022 lines in dmesg, 
no errors)
full power-off + boot                    -> 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

== 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
movement recorded 0 events ("No events recorded").

Right after a lid-cycle recovery (2026-10-21 08: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).
- The device holding the bus ("lost arbitration" on a single-device bus) and
  only recovering on 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 ==

- 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

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug resolute wayland-session

-- 
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/linux/+bug/2171633/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to