I2C HID device sometimes fails to initialize causing touchpad to not work

Bug #2061040 reported by Haw Loeung
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Triaged
Undecided
AaronMa
Noble
Triaged
Undecided
AaronMa

Bug Description

Hi,

Touchpad on my new Lenovo X1 Carbon (Gen12) with the Sensel haptic pad doesn't work on boot. I see this:

| [Thu Apr 11 13:57:26 2024] i2c_hid_acpi i2c-SNSL0028:00: device did not ack reset within 1000 ms
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0
| ...
| [Thu Apr 11 13:57:26 2024] hid-generic 0018:2C2F:0028.0001: unbalanced collection at end of report description
| [Thu Apr 11 13:57:26 2024] hid-generic: probe of 0018:2C2F:0028.0001 failed with error -22

Per the Arch Linux wiki page[1], removing and reloading the `i2c_hid_acpi` seems to fix it:

| [Thu Apr 11 13:58:02 2024] i2c_hid_acpi i2c-SNSL0028:00: device did not ack reset within 1000 ms
| [Thu Apr 11 13:58:02 2024] input: SNSL0028:00 2C2F:0028 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-15/i2c-SNSL0028:00/0018:2C2F:0028.0002/input/input15
| [Thu Apr 11 13:58:02 2024] input: SNSL0028:00 2C2F:0028 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-15/i2c-SNSL0028:00/0018:2C2F:0028.0002/input/input16
| [Thu Apr 11 13:58:02 2024] hid-multitouch 0018:2C2F:0028.0002: input,hidraw0: I2C HID v1.00 Mouse [SNSL0028:00 2C2F:0028] on i2c-SNSL0028:00
| [Thu Apr 11 13:58:03 2024] psmouse serio1: trackpoint: Synaptics TrackPoint firmware: 0x08, buttons: 3/3
| [Thu Apr 11 13:58:03 2024] input: TPPS/2 Synaptics TrackPoint as /devices/platform/i8042/serio1/input/input18

From that Arch Linux wiki page, it seems to be a bug upstream[2] with the commit fixing this:

| https://github.com/torvalds/linux/commit/af93a167eda90192563bce64c4bb989836afac1f

Or

| https://<email address hidden>/T/#u

Can we get fix this backported?

| [hloeung@dharkan tmp]$ apt-cache policy linux-image-generic-hwe-24.04
| linux-image-generic-hwe-24.04:
| Installed: 6.8.0-22.22
| Candidate: 6.8.0-22.22
| Version table:
| *** 6.8.0-22.22 500
| 500 http://haw-test.archive.ubuntu.com/ubuntu noble/main amd64 Packages
| 100 /var/lib/dpkg/status
| [hloeung@dharkan tmp]$ uname -a
| Linux dharkan.local 6.8.0-22-generic #22-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 4 22:30:32 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
| [hloeung@dharkan tmp]$

Thanks,

Haw

[1]: https://wiki.archlinux.org/title/Lenovo_ThinkPad_Z16_Gen_2
[2]: https://bugzilla.redhat.com/show_bug.cgi?id=2271136

Tags: noble
Haw Loeung (hloeung)
tags: added: noble
description: updated
Changed in linux (Ubuntu Noble):
assignee: nobody → Anthony Wong (anthonywong)
Changed in linux (Ubuntu Noble):
assignee: Anthony Wong (anthonywong) → AaronMa (mapengyu)
Revision history for this message
AaronMa (mapengyu) wrote :

$ git tag --contains af93a167eda90192563bce64c4bb989836afac1f
Ubuntu-6.8.0-10.10
Ubuntu-6.8.0-11.11
Ubuntu-6.8.0-6.6
Ubuntu-6.8.0-7.7
Ubuntu-6.8.0-8.8
Ubuntu-6.8.0-9.9
v6.8
v6.8-rc1

The first commit is already in 6.8.0-22.
Could you double confirm if the 2nd link is the real fix?

I don't reproduce this issue with the same touchpad:
ThinkPad BIOS N3YET57W (1.22 ), EC N3YHT43W

Device: SNSL0028:00 2C2F:0028 Touchpad
Kernel: /dev/input/event12
Group: 5
Seat: seat0, default
Size: 118x68mm
Capabilities: pointer gesture
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: *button-areas clickfinger
Disable-w-typing: enabled
Disable-w-trackpointing: enabled
Accel profiles: flat *adaptive custom
Rotation: n/a

$ journalctl -k |grep SNSL
Apr 16 13:28:02 Thames-3 kernel: i2c_hid_acpi i2c-SNSL0028:00: device did not ack reset within 1000 ms
Apr 16 13:28:02 Thames-3 kernel: input: SNSL0028:00 2C2F:0028 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-SNSL0028:00/0018:2C2F:0028.0002/input/input10
Apr 16 13:28:02 Thames-3 kernel: input: SNSL0028:00 2C2F:0028 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-SNSL0028:00/0018:2C2F:0028.0002/input/input11
Apr 16 13:28:02 Thames-3 kernel: hid-generic 0018:2C2F:0028.0002: input,hidraw1: I2C HID v1.00 Mouse [SNSL0028:00 2C2F:0028] on i2c-SNSL0028:00
Apr 16 13:28:03 Thames-3 kernel: input: SNSL0028:00 2C2F:0028 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-SNSL0028:00/0018:2C2F:0028.0002/input/input20
Apr 16 13:28:03 Thames-3 kernel: input: SNSL0028:00 2C2F:0028 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-SNSL0028:00/0018:2C2F:0028.0002/input/input21
Apr 16 13:28:03 Thames-3 kernel: hid-multitouch 0018:2C2F:0028.0002: input,hidraw1: I2C HID v1.00 Mouse [SNSL0028:00 2C2F:0028] on i2c-SNSL0028:00

Changed in linux (Ubuntu Noble):
status: New → Triaged
Revision history for this message
AaronMa (mapengyu) wrote :

This issue is a regression of commit from v6.8-rc1 :

commit af93a167eda90192563bce64c4bb989836afac1f
Author: Hans de Goede <email address hidden>
Date: Sat Dec 2 23:46:11 2023 +0100

    HID: i2c-hid: Move i2c_hid_finish_hwreset() to after reading the report-descriptor

Fix is still pending in hid repo, once it's in linus's tree, I will SRU it to 6.8 kernel.
https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git/commit/?h=for-6.9/upstream-fixes&id=ea36bf1827462e4a52365bf8e3f7d1712c5d9600

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.