понедельник

[Bug 2061040] Re: I2C HID device sometimes fails to initialize causing touchpad to not work

Looks good to me. Installed the latest kernel this morning, rebooted
into it, and confirmed that the Touchpad works out of the box without
having to remove and reloading the `i2c_hid_acpi` module.

| [hloeung@dharkan tmp]$ dmesg -T | grep -E 'hid|input' | grep -Ev 'hda|Button|Switch|Video'
| [Tue Jun 11 07:36:01 2024] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
| [Tue Jun 11 07:36:02 2024] input: TPPS/2 Synaptics TrackPoint as /devices/platform/i8042/serio1/input/input5
| [Tue Jun 11 07:36:13 2024] input: Intel HID events as /devices/platform/INTC1070:00/input/input7
| [Tue Jun 11 07:36:13 2024] hid: raw HID events driver (C) Jiri Kosina
| [Tue Jun 11 07:36:13 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.0001/input/input9
| [Tue Jun 11 07:36:13 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.0001/input/input10
| [Tue Jun 11 07:36:13 2024] hid-generic 0018:2C2F:0028.0001: input,hidraw0: I2C HID v1.00 Mouse [SNSL0028:00 2C2F:0028] on i2c-SNSL0028:00
| [Tue Jun 11 07:36:13 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.0001/input/input12
| [Tue Jun 11 07:36:13 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.0001/input/input13
| [Tue Jun 11 07:36:13 2024] hid-multitouch 0018:2C2F:0028.0001: input,hidraw0: I2C HID v1.00 Mouse [SNSL0028:00 2C2F:0028] on i2c-SNSL0028:00

| [hloeung@dharkan tmp]$ uname -a
| Linux dharkan.local 6.8.0-38-generic #38-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 7 15:25:01 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

| [hloeung@dharkan tmp]$ apt-cache policy linux-image-6.8.0-38-generic linux-modules-6.8.0-38-generic linux-modules-extra-6.8.0-38-generic
| linux-image-6.8.0-38-generic:
| Installed: 6.8.0-38.38
| Candidate: 6.8.0-38.38
| Version table:
| *** 6.8.0-38.38 100
| 100 http://haw-test.misc-apac.archive.ubuntu.com/ubuntu noble-proposed/main amd64 Packages
| 100 /var/lib/dpkg/status
| linux-modules-6.8.0-38-generic:
| Installed: 6.8.0-38.38
| Candidate: 6.8.0-38.38
| Version table:
| *** 6.8.0-38.38 100
| 100 http://haw-test.misc-apac.archive.ubuntu.com/ubuntu noble-proposed/main amd64 Packages
| 100 /var/lib/dpkg/status
| linux-modules-extra-6.8.0-38-generic:
| Installed: 6.8.0-38.38
| Candidate: 6.8.0-38.38
| Version table:
| *** 6.8.0-38.38 100
| 100 http://haw-test.misc-apac.archive.ubuntu.com/ubuntu noble-proposed/main amd64 Packages
| 100 /var/lib/dpkg/status
| [hloeung@dharkan tmp]$

** Tags removed: verification-needed-noble-linux
** Tags added: verification-done-noble-linux

--
You received this bug notification because you are subscribed to linux
in Ubuntu.
Matching subscriptions: Bgg, Bmail, Nb
https://bugs.launchpad.net/bugs/2061040

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

Status in linux package in Ubuntu:
Invalid
Status in linux source package in Noble:
Fix Committed

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://lore.kernel.org/linux-
input/20240331182440.14477-1-kl@kl.wtf/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

SRU Justification:
==============

[Impact]
Sensel haptic pad doesn't work on boot.
Error log:
i2c_hid_acpi i2c-SNSL0028:00: device did not ack reset within 1000 ms
hid-generic 0018:2C2F:0028.0001: unknown main item tag 0x0

[Fix]
This issue is a regression of commit from v6.8-rc1 :
commit: af93a167eda9 ("HID: i2c-hid: Move i2c_hid_finish_hwreset() to after reading the report-descriptor")
Fix commit: ea36bf1827462 ("HID: i2c-hid: Revert to await reset ACK before reading report descriptor")

[Test]
Tested on hardware, touchpad works after boot.

[Where problems could occur]
It may break HID input.

It is a regression on 6.8-rc1, SRU for Noble only.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2061040/+subscriptions

Комментариев нет:

Отправить комментарий