Bug 2247751 - Touchpad not working on Lenovo Thinkbook 15 Gen 5
Summary: Touchpad not working on Lenovo Thinkbook 15 Gen 5
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 38
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-11-03 05:20 UTC by Mallikarjungouda S Patil
Modified: 2023-12-01 15:50 UTC (History)
24 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2023-12-01 15:50:10 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Kernel logs (129.59 KB, text/plain)
2023-11-03 13:03 UTC, Mallikarjungouda S Patil
no flags Details
Set of patches wich hopefgully fix this (4.14 KB, application/gzip)
2023-11-03 23:00 UTC, Hans de Goede
no flags Details
Touchpad settings is now visible. But touchpad is still not responding. (51.32 KB, image/png)
2023-11-04 09:08 UTC, Mallikarjungouda S Patil
no flags Details
"dmesg" output of the test kernel (84.41 KB, text/plain)
2023-11-04 09:10 UTC, Mallikarjungouda S Patil
no flags Details
Output of "sudo acpidump -o" (3.84 MB, text/plain)
2023-11-04 11:20 UTC, Mallikarjungouda S Patil
no flags Details
Output of "cat /proc/interrupts" (12.28 KB, text/plain)
2023-11-04 11:22 UTC, Mallikarjungouda S Patil
no flags Details

Description Mallikarjungouda S Patil 2023-11-03 05:20:39 UTC
Hi,

Touchpad is not working (not detected) on Lenovo Think 15 Gen 5. 
Please find the system details attached.
Let me know if any other details are required.
Please help.

Thanks,
Mallikarjun

Reproducible: Always

Steps to Reproduce:
1. Touchpad is not working or detected.
2.
3.
Actual Results:  
Touchpad is not working or detected.

Expected Results:  
Touchpad with all funtionalities should work fine.

Comment 1 Peter Robinson 2023-11-03 10:00:07 UTC
It won't be the release component so let's begin by moving it to kernel.

Can you provide:
* The actual desktop that your running (Workstation, KDE etc)
* The kernel version
* Are all updates applied?

Comment 2 Mallikarjungouda S Patil 2023-11-03 10:16:43 UTC
Hi Peter.

Thanks for moving this report to the right section.

Please find the details below:
OS: Fedora Linux 38 (Workstation Edition)
Hardware: Lenovo ThinkBook 15 G5 IRL
Firmware: LVCN18WW
Processor: 13th Gen Intel® Core™ i5-1335U × 12
Kernel: Linux 6.5.8-200.fc38.x86_64

Yes, all updates have been applied.

"Dependencies resolved.
Nothing to do.
Complete!"

Please let me know if you need any other info.

Thanks,
Mallikarjun.

Comment 3 Peter Robinson 2023-11-03 10:22:31 UTC
Mark: are you aware of any issues with these devices?

Comment 4 Mark Pearson 2023-11-03 12:38:21 UTC
I'm not - that platform isn't currently in our Linux cert program so I haven't seen them (and don't have access to the HW).

There is a possibility that we'll be checking out the TB 14 G6 IRL (and that will benefit the TB16)....but I can't confirm that for a couple more weeks I'm afraid (and it may not happen..it's just being evaluated right now).

Mallikarjun - if you have any kernel logs you can share that would be useful. If we can pinpoint what the issue is, and if it's in the Lenovo FW, I stand a decent chance of getting the product team to look at it.

Mark

Comment 5 Mallikarjungouda S Patil 2023-11-03 13:03:52 UTC
Created attachment 1996967 [details]
Kernel logs

Comment 6 Mallikarjungouda S Patil 2023-11-03 13:05:58 UTC
Hi Mark,

I'm attaching the output of "dmesg". Please let me know if any other information is needed.

The hardware shortcut for enable/disable of touchpad for Lenovo Thinkbook 15 Gen 5 is mentioned as Fn+M.
Doing this is not enabling the touchpad.
Also, touchpad is not showing in the "mouse and touchpad" settings in Fedora.

Thanks,
Mallikarjun.

Comment 7 Mark Pearson 2023-11-03 13:57:13 UTC
Thanks
Looks like a communications issue with the touchpad
[    7.763637] i2c_hid_acpi i2c-SYNA2BA6:00: failed to reset device: -61
[   13.907624] i2c_hid_acpi i2c-SYNA2BA6:00: failed to reset device: -61
[   20.051634] i2c_hid_acpi i2c-SYNA2BA6:00: failed to reset device: -61
[   26.195557] i2c_hid_acpi i2c-SYNA2BA6:00: failed to reset device: -61
[   27.219634] i2c_hid_acpi i2c-SYNA2BA6:00: can't add hid device: -61
[   27.234129] i2c_hid_acpi: probe of i2c-SYNA2BA6:00 failed with error -61

Created internal ticket LO-2731 to see if there is anything we can do. No promises.

Mark

Comment 8 Mallikarjungouda S Patil 2023-11-03 14:16:23 UTC
Thanks a lot Mark.
Will wait to hear from you for a solution.

Comment 9 Hans de Goede 2023-11-03 16:17:17 UTC
(In reply to Mark Pearson from comment #7)
> Thanks
> Looks like a communications issue with the touchpad
> [    7.763637] i2c_hid_acpi i2c-SYNA2BA6:00: failed to reset device: -61
> [   13.907624] i2c_hid_acpi i2c-SYNA2BA6:00: failed to reset device: -61
> [   20.051634] i2c_hid_acpi i2c-SYNA2BA6:00: failed to reset device: -61
> [   26.195557] i2c_hid_acpi i2c-SYNA2BA6:00: failed to reset device: -61
> [   27.219634] i2c_hid_acpi i2c-SYNA2BA6:00: can't add hid device: -61
> [   27.234129] i2c_hid_acpi: probe of i2c-SYNA2BA6:00 failed with error -61

Reset timing out with ENODATA (-61) errors is a known issue with some touchpads under Linux. It looks like this touchpad needs a I2C_HID_QUIRK_NO_IRQ_AFTER_RESET quirk.

But looking at this closer, I think it is better to get rid of some touchpads needing this quirk at all. I'm working on a patch series fixing the need for I2C_HID_QUIRK_NO_IRQ_AFTER_RESET now.

I'll post a test kernel build with the patches for you (Mallikarjungouda S Patil) to test soon.

Comment 10 Mallikarjungouda S Patil 2023-11-03 16:21:25 UTC
Wow. Thanks Hans for the update.

Comment 11 Hans de Goede 2023-11-03 23:00:55 UTC
Created attachment 1997041 [details]
Set of patches wich hopefgully fix this

Here is a set of patches which hopefully fixes this issue in a generic manner (rather then through a device/model specific quirk).

Comment 12 Hans de Goede 2023-11-03 23:02:31 UTC
Mallikarjungouda S Patil, here is a Fedora test kernel build with the patches which I've just attached here added to the standard Fedora kernel:

https://koji.fedoraproject.org/koji/taskinfo?taskID=108535339

Here are some instructions for installing a kernel directly from koji (the Fedora buildsystem):

https://fedorapeople.org/~jwrdegoede/kernel-test-instructions.txt

Please give this kernel a try and let us know if this fixes your touchpad.

Comment 13 Hans de Goede 2023-11-03 23:07:58 UTC
p.s.

Please also run:

dmesg > dmesg.txt

with the new kernel and attach the created dmesg.txt file here.

Comment 14 Mallikarjungouda S Patil 2023-11-04 09:06:09 UTC
Hi Hans,

From the koji link you provided, I downloaded three kernel files and placed them in a new folder.

07:20:22 ~ > ll Downloads/kernel_new
total 105M
-rw-r--r--. 1 mspatil mspatil 16M Nov  4 06:55 kernel-core-6.5.10-200.bz2247751.fc38.x86_64.rpm
-rw-r--r--. 1 mspatil mspatil 57M Nov  4 06:56 kernel-modules-6.5.10-200.bz2247751.fc38.x86_64.rpm
drwxr-xr-x. 1 mspatil mspatil 322 Nov  4 07:07 ..
-rw-r--r--. 1 mspatil mspatil 32M Nov  4 07:07 kernel-modules-core-6.5.10-200.bz2247751.fc38.x86_64.rpm

The instructions mentioned that I must only download "kernel-core-<version>.x86_64.rpm" and "kernel-modules-<version>.x86_64.rpm" files. 
So, I didn't download the other files. I hope this is correct.

After executing "sudo rpm -ivh --oldpackage kernel*.rpm" and rebooting the system, I'm seeing that the touchpad settings is now visible in the settings (screenshot attached).
But, the touchpad itself is not responding yet.

Also attached the output of the "dmesg" command.

Please let me know if any other details are required.

Thanks,
Mallikarjun.

Comment 15 Mallikarjungouda S Patil 2023-11-04 09:08:03 UTC
Created attachment 1997105 [details]
Touchpad settings is now visible. But touchpad is still not responding.

Comment 16 Mallikarjungouda S Patil 2023-11-04 09:10:50 UTC
Created attachment 1997106 [details]
"dmesg" output of the test kernel

Comment 17 Hans de Goede 2023-11-04 10:27:56 UTC
Mallikarjun, thank you for testing the test kernel.

Looking at the logs this stands out:

[    3.090664] i2c_hid_acpi i2c-SYNA2BA6:00: device did not ack reset within 1000 ms

That combined with the touchpad being recognized now but not sending events makes me believe that this is not a case of a touchpad which needs I2C_HID_QUIRK_NO_IRQ_AFTER_RESET. Instead the issue seems to be that the touchpad IRQ line does not work under Linux for some reason.

Please run the following commands from a terminal:

sudo dnf install acpica-tools
sudo acpidump -o acpidump.txt
cat /proc/interrupts > interrupts.txt

and attach the generated acpidump.txt and interrupts.txt files here.

Then I'll take a look and we will see from there.

Note it may be a while before I can make time to analyzing those files, so you might not here back from me for a couple of days.

Comment 18 Hans de Goede 2023-11-04 10:31:00 UTC
p.s. Please run the commands from comment 17 under the test kernel.

Comment 19 Mallikarjungouda S Patil 2023-11-04 11:19:02 UTC
Hi Hans,

I have executed the above commands under the test kernel "6.5.10-200.bz2247751.fc38.x86_64".
Please find the files attached.

Thanks,
Mallikarjun.

Comment 20 Mallikarjungouda S Patil 2023-11-04 11:20:50 UTC
Created attachment 1997107 [details]
Output of "sudo acpidump -o"

Comment 21 Mallikarjungouda S Patil 2023-11-04 11:22:09 UTC
Created attachment 1997108 [details]
Output of "cat /proc/interrupts"

Comment 22 Hans de Goede 2023-11-04 12:39:49 UTC
Thanks. Unfortunately nothing stands out in the acpidump and /proc/interrupts shows that the interrupt is not firing.

Mallikarjun 2 questions:

1. I see that you are already using the latest BIOS, can you try entering your bios setup options and then loading "setup defaults" or "optimized defaults" and then save + exit ?

2. Does the touchpad work under Windows ?

Mark can you check internally that:

1. GPIO pin 135 on the INTC1055:00 GPIO controller is the right pin for the interrupt ?
2. That the interrupt is level active-low ?

Comment 23 Mallikarjungouda S Patil 2023-11-05 01:56:02 UTC
Hi Hans,

I created a bootable Windows 10 USB and turned on my laptop. 
I didn't install the Windows though, only checked the Windows installer, as my entire hard disk is currently occupied by Fedora.
In the Windows installer, the mouse pointer is not working with touchpad, but working with external mouse.
Probably, as this laptop is very new, a driver for its touchpad is not given in the Windows installer.
Possibly, after installing Windows, a separate driver must be installed for the touchpad, and then it may work (almost same issue as what I'm facing with Fedora).

For the BIOS, didn't do any changes there at all since I bought my new laptop.
I did a "setup defaults" in BIOS, and checked the status of touchpad in Fedora, there's no change.

Please let me know if I need to provide additional information.

Thanks,
Mallikarjun

Comment 24 Hans de Goede 2023-11-05 16:57:25 UTC
(In reply to Mallikarjungouda S Patil from comment #23)
> I created a bootable Windows 10 USB and turned on my laptop. 
> I didn't install the Windows though, only checked the Windows installer, as
> my entire hard disk is currently occupied by Fedora.
> In the Windows installer, the mouse pointer is not working with touchpad,
> but working with external mouse.
> Probably, as this laptop is very new, a driver for its touchpad is not given
> in the Windows installer.

The touchpad appears to be a standard ACPI enumerated i2c-hid touchpad,
these are pretty standard since Windows 8 and I would expect the Windows 10
installer to have support for this since it uses a GUI, so a mouse is sort
of a must have feature.

> For the BIOS, didn't do any changes there at all since I bought my new
> laptop.
> I did a "setup defaults" in BIOS, and checked the status of touchpad in
> Fedora, there's no change.

Ok, thank you for trying.

I'm wondering if the touchpad is may broken at the hw level somehow. Did it ever work under Windows / Linux before ?

I know this is a pain, but can you try resizing your Linux install to make room for Windows and then install Windows and let windows-update install/update all the drivers and then see if it works in Windows ?   If it does not work in Windows either I suspect this might be a hw defect (presumably of your specific unit).

Comment 25 Mallikarjungouda S Patil 2023-11-05 17:24:37 UTC
Hi Hans,

I will surely install Windows now, and get back to you with an answer soon.

Thanks,
Mallikarjun.

Comment 26 Mark Pearson 2023-11-06 16:04:32 UTC
> Mark can you check internally that:
>
> 1. GPIO pin 135 on the INTC1055:00 GPIO controller is the right pin for the interrupt ?
> 2. That the interrupt is level active-low ?

Just an ack that I saw this and have forwarded to the FW team. Not had a response on the initial inquiry yet though.
Mark

Comment 27 Mallikarjungouda S Patil 2023-11-08 01:37:00 UTC
Hi Hans, Mark,

I have installed Windows 10 on my system.
As before, the touchpad is not working in the Windows installer GUI.
After completing the installation and all the required drivers, I found that the touchpad is still not working.
Actually, the touchpad settings are available in the control panel of Windows, but touchpad is not responding (which is exactly the same issue we saw with the Linux test kernel you provided).

I contacted Lenovo technical support, and they found that there is an issue with the touchpad (hardware issue).
They have scheduled a visit from Lenovo technician, who will come in a few days.

Once it is done and the touchpad is working fine on Windows, I will try installing Fedora again, and would like to take you help if I face any issues there.
If it doesn't work with Fedora at first, I can try with the test kernel you provided.

I will update the details soon.

Thanks,
Mallikarjun.

Comment 28 Hans de Goede 2023-11-08 10:14:30 UTC
Mallikarjun, thank you for going to the trouble of installing Windows.

This does indeed seem to be a hardware defect.

Hopefully once the Lenovo technician has fixed the touchpad, things will work out of the box under Fedora too.

Comment 29 Mallikarjungouda S Patil 2023-12-01 15:40:59 UTC
Hi Hans,

Greetings!

It was really a hardware issue.
It took Lenovo more than 3 weeks to send a technician as they had to bring a new touchpad.
After replacing the touchpad, its working fine.
This was not a software issue.

Mallikarjun.

Comment 30 Hans de Goede 2023-12-01 15:50:10 UTC
(In reply to Mallikarjungouda S Patil from comment #29)
> It was really a hardware issue.
> It took Lenovo more than 3 weeks to send a technician as they had to bring a
> new touchpad.
> After replacing the touchpad, its working fine.
> This was not a software issue.

Thank you for reporting back here that this was a hw issue and that this is resolved now.

Lets close this bug then.


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