Bug 2271136 - Touchpad not working on ThinkPad Z16 / hid-generic / hid-multitouch unbalanced collection at end of report description
Summary: Touchpad not working on ThinkPad Z16 / hid-generic / hid-multitouch unbalance...
Keywords:
Status: CLOSED COMPLETED
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 40
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-03-22 22:09 UTC by Pär Eriksson
Modified: 2024-10-07 13:36 UTC (History)
20 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-05-17 07:02:56 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
dmesg.txt (270.69 KB, text/plain)
2024-03-22 22:09 UTC, Pär Eriksson
no flags Details
dmesg.txt from 6.8.1-201.fc39.x86_64 (151.70 KB, text/plain)
2024-03-24 21:49 UTC, Pär Eriksson
no flags Details

Description Pär Eriksson 2024-03-22 22:09:24 UTC
1. Please describe the problem:
Touchpad not working at all on ThinkPad Z16 Gen 2 (Sensel)

dmesg logs: 

Mar 22 17:58:36 kernel: i2c_hid_acpi i2c-SNSL0027:00: device did not ack reset within 1000 ms
Mar 22 17:58:37 kernel: hid-generic 0018:2C2F:0027.0001: unknown main item tag 0x0
Mar 22 17:58:37 kernel: hid-generic 0018:2C2F:0027.0001: unknown main item tag 0x0
...
Mar 22 17:58:37 kernel: hid-generic 0018:2C2F:0027.0001: unknown main item tag 0x0
Mar 22 17:58:37 kernel: hid-generic 0018:2C2F:0027.0001: unbalanced collection at end of report description
Mar 22 17:58:37 kernel: hid-generic: probe of 0018:2C2F:0027.0001 failed with error -22
Mar 22 17:58:37 kernel: i2c_hid_acpi i2c-WACF2200:00: device did not ack reset within 1000 ms
Mar 22 17:58:37 kernel: hid-multitouch 0018:2C2F:0027.0001: unknown main item tag 0x0
...
Mar 22 17:58:37 kernel: hid-multitouch 0018:2C2F:0027.0001: unknown main item tag 0x0
Mar 22 17:58:37 kernel: hid-multitouch 0018:2C2F:0027.0001: unknown main item tag 0x0
Mar 22 17:58:37 kernel: hid-multitouch 0018:2C2F:0027.0001: unknown main item tag 0x0
Mar 22 17:58:37 kernel: hid-multitouch 0018:2C2F:0027.0001: unbalanced collection at end of report description
Mar 22 17:58:37 kernel: hid-multitouch: probe of 0018:2C2F:0027.0001 failed with error -22


2. What is the Version-Release number of the kernel:

Linux version 6.8.0-0.rc6.49.fc40.x86_64

3. Did it work previously in Fedora? If so, what kernel version did the issue
   *first* appear?  Old kernels are available for download at
   https://koji.fedoraproject.org/koji/packageinfo?packageID=8 :

Last know kernel to work: kernel-6.8.0-0.rc0.20240112git70d201a40823.5.fc40

First appears on: kernel-6.8.0-0.rc2.19.fc40

I was unable to boot any of the kernel-6.8.0-0.rc1*34 kernels, so I have not tested rc1

4. Can you reproduce this issue? If so, please provide the steps to reproduce
   the issue below:

Boot with Linux version 6.8.0-0.rc6.49.fc40.x86_64

5. Does this problem occur with the latest Rawhide kernel? To install the
   Rawhide kernel, run ``sudo dnf install fedora-repos-rawhide`` followed by
   ``sudo dnf update --enablerepo=rawhide kernel``:

Yes, also fails on 6.9.0-0.rc0.20240320gita4145ce1e7bc.11.fc41.x86_64

6. Are you running any modules that not shipped with directly Fedora's kernel?:

No

7. Please attach the kernel logs. You can get the complete kernel log
   for a boot with ``journalctl --no-hostname -k > dmesg.txt``. If the
   issue occurred on a previous boot, use the journalctl ``-b`` flag.

Reproducible: On 90% of boots the touchpad fails

Comment 1 Pär Eriksson 2024-03-22 22:09:53 UTC
Created attachment 2023168 [details]
dmesg.txt

Comment 2 Pär Eriksson 2024-03-22 22:11:09 UTC
Also fails with latest Ubuntu 6.8.0 kernel

Comment 3 Pär Eriksson 2024-03-24 21:49:02 UTC
Created attachment 2023434 [details]
dmesg.txt from 6.8.1-201.fc39.x86_64

Comment 4 Mark Pearson 2024-03-27 18:30:30 UTC
I've reproduced on my Z13 G2 and am investigating. Looks like a kernel regression so far.
Lenovo internal ticket is LO-2940

Comment 5 Kevin B. Burns 2024-03-28 06:19:33 UTC
The Arch wiki has a section for the touchpad on the Z16/Z13 Gen (1/2) to fix the touchpad, but essentially doing:
sudo rmmod i2c_hid_acpi
sudo modprobe i2c_hid_acpi

Comment 6 Mark Pearson 2024-03-29 20:26:04 UTC
Hi Hans,
I did a bisect on this and believe I've tracked it down to https://github.com/torvalds/linux/commit/af93a167eda90192563bce64c4bb989836afac1f
I'll aim to do a bit more poking at this, but any pointers or suggestions? I'm not sure what the patch is actually fixing - so we might need to revert it until it's better understood? 
I can follow up with the touchpad vendor to do more debugging too
Mark

Comment 7 Hans de Goede 2024-04-02 09:07:56 UTC
(In reply to Mark Pearson from comment #6)
> Hi Hans,
> I did a bisect on this and believe I've tracked it down to
> https://github.com/torvalds/linux/commit/
> af93a167eda90192563bce64c4bb989836afac1f
> I'll aim to do a bit more poking at this, but any pointers or suggestions?
> I'm not sure what the patch is actually fixing - so we might need to revert
> it until it's better understood? 
> I can follow up with the touchpad vendor to do more debugging too
> Mark

Mark, thank you for tracking this down and sorry for causing this regression.

Another user has also noticed this and has already submitted a fix upstream:

https://lore.kernel.org/linux-input/20240331182440.14477-1-kl@kl.wtf/T/#u

I'll be reviewing this patch shortly.

Comment 8 Mark Pearson 2024-04-02 12:59:23 UTC
Thanks Hans!
I'll look to test the patch and confirm on my system too. 
Mark

Comment 9 Major Hayden 🤠 2024-04-26 14:30:13 UTC
Thorsten mentioned that the patch is mainlined now, but it missed the next 6.8.y release: https://fosstodon.org/@kernellogger/112332927888897951

Comment 10 Kevin B. Burns 2024-05-01 20:16:50 UTC
Just an update, even while running any of the RC 6.9 kernels, I still have to use the fix suggested in the Arch wiki. Also, any kernel above RC4 ignores the hidraw haptic configurations.

Comment 11 Major Hayden 🤠 2024-05-03 21:23:16 UTC
I just updated to 6.8.8-300.fc40.x86_64 on my Thinkpad Z13 G2 and rebooted -- touchpad works on boot! I didn't need any of the workarounds any longer. 🎉

Comment 12 Major Hayden 🤠 2024-05-04 12:36:16 UTC
Okay, disregard the last comment. After the third or fourth reboot, the issue came back and the touchpad does not work unless I use the workaround:

sudo rmmod i2c_hid_acpi; sleep 5; sudo modprobe i2c_hid_acpi

Still on 6.8.8-300 here.

Comment 13 Kevin B. Burns 2024-05-05 01:02:17 UTC
(In reply to Major Hayden 🤠 from comment #12)
> Okay, disregard the last comment. After the third or fourth reboot, the
> issue came back and the touchpad does not work unless I use the workaround:
> 
> sudo rmmod i2c_hid_acpi; sleep 5; sudo modprobe i2c_hid_acpi
> 
> Still on 6.8.8-300 here.

Do the haptic settings work on the 6.8.8 kernel?

Comment 14 Diego Schild Smiths 2024-05-06 13:27:54 UTC
(In reply to Major Hayden 🤠 from comment #12)
> Okay, disregard the last comment. After the third or fourth reboot, the
> issue came back and the touchpad does not work unless I use the workaround:
> 
> sudo rmmod i2c_hid_acpi; sleep 5; sudo modprobe i2c_hid_acpi
> 
> Still on 6.8.8-300 here.

Thanks for the workaround, Major Hayden.

Only with this, touchpad is working now.

PS: kernel 6.8.8-300.

Comment 15 Mark Pearson 2024-05-06 13:59:14 UTC
Hmm - this either means you don't have the fix, or there is another problem. I really hope it's the first :(

I checked the Fedora tree and the patch is in there: https://gitlab.com/cki-project/kernel-ark/-/commit/fb49deec375aa5beca4a5d71d7a74ec951872f28 - but it looks like it's only tagged for 6.8.9 (it was only committed to stable 3 days ago)

I'll check on my systems to confirm, but I think you need to wait just a little bit longer for the fix to roll out I'm afraid.

Mark

Comment 16 Pär Eriksson 2024-05-07 14:37:47 UTC
(In reply to Kevin B. Burns from comment #13)
> (In reply to Major Hayden 🤠 from comment #12)
> > Okay, disregard the last comment. After the third or fourth reboot, the
> > issue came back and the touchpad does not work unless I use the workaround:
> > 
> > sudo rmmod i2c_hid_acpi; sleep 5; sudo modprobe i2c_hid_acpi
> > 
> > Still on 6.8.8-300 here.
> 
> Do the haptic settings work on the 6.8.8 kernel?

With 6.8.8-300 I tested:

hid-feature list /dev/hidraw0

hid-feature set /dev/hidraw0 -f b0000 100
hid-feature set /dev/hidraw0 -f b0000 50
hid-feature set /dev/hidraw0 -f b0000 0

and I could not feel any difference in haptic intensity.

I have not tested this on previous kernels so I'm sure what it should feel like

Comment 17 Mark Pearson 2024-05-13 13:40:54 UTC
Fedora 6.8.9 kernel released is fixing this issue on my system - please let me know if you're still seeing problems.

On the haptic settings - we've been discussing that with Sensel for a while now. I'll go and nag - but previously on the Z13/Z16 series we needed a special utility to get the configuration working.

Comment 18 Mark Pearson 2024-05-13 13:47:08 UTC
Possibly a dumbass question, but where did you get the hid-feature utility from?

Comment 19 Kevin B. Burns 2024-05-13 14:05:47 UTC
(In reply to Mark Pearson from comment #17)
> Fedora 6.8.9 kernel released is fixing this issue on my system - please let
> me know if you're still seeing problems.
> 
> On the haptic settings - we've been discussing that with Sensel for a while
> now. I'll go and nag - but previously on the Z13/Z16 series we needed a
> special utility to get the configuration working.


See if you have a Hidraw1 device. In the 6.9 kernel, I switched it from Hidraw0, to 1, and it works perfectly. Looks like the newer kernels are showing either the touchpad or the multi-point touch screen as a Wacom input interface.

Comment 20 Kevin B. Burns 2024-05-13 14:08:49 UTC
(In reply to Mark Pearson from comment #18)
> Possibly a dumbass question, but where did you get the hid-feature utility
> from?

https://gitlab.freedesktop.org/libevdev/hid-tools.git/

I figured out the other day, for any of the 6.9 kernels, you need to use HiDraw1:

sudo hid-feature set /dev/hidraw1 -f b0000 100

instead of 

sudo hid-feature set /dev/hidraw0 -f b0000 100

Comment 21 Mark Pearson 2024-05-13 17:21:42 UTC
Nice :) Works for me too (P1 G7). Thanks! I was unaware of that utility.

Comment 22 Major Hayden 🤠 2024-05-15 15:06:52 UTC
6.8.9 is working fine on my Z13 Gen 2! 🎉

Comment 23 Diego Schild Smiths 2024-05-17 01:52:33 UTC
Sorry for my delay. My region is passing by for a flood.

With the kernel version 6.8.9 my touchpad is working like a charm.

Comment 24 Pär Eriksson 2024-05-17 07:02:56 UTC
It works for me too, I will close this bug as completed

Thanks to everyone involved in fixing this!

Comment 25 Jose Fernandez 2024-10-05 22:18:20 UTC
Hans, something similar is happening with 6.12-RC1. My Z16 Gen 2 touchpad stopped working again. This is on Fedora using the vanilla kernels

Comment 26 Mark Pearson 2024-10-06 21:15:09 UTC
Hi,

Probably better to create a new bug to track thi, otherwise it gets confusing.
I tried a 6.12-rc1 build from Linus's tree on my Z13 G2 (should be the same) and it's working fine.
Can you share details of what exactly your kernel build was please?
As a side note - I did see on Phoronix that the pixart touchpad got removed because it was causing problems in 6.12 (https://www.phoronix.com/news/Linux-6.12-Drops-PixArt-Driver). Bit of a long shot, but may be related? Suggest disabling or blacklisting that module maybe?

Mark

Comment 27 Hans de Goede 2024-10-07 13:34:46 UTC
As mentioned in bug 2314756 there is an issue with the Fedora 6.12 kernel builds where the designware i2c-controller driver is not being build causing amongst other things touchpads to not work.

I'm marking this as a duplicate of bug 2314756 and I'm working on a fix.

*** This bug has been marked as a duplicate of bug 2314756 ***

Comment 28 Hans de Goede 2024-10-07 13:36:35 UTC
Oh wait, this really is another older bug, so marking it a dup was not the best idea. Let me mark this as normally closed again.

Please add any further comments wrt the 6.12 touchpad issues to bug 2314756 .


Note You need to log in before you can comment on or make changes to this bug.