Lenovo IdeaPad 5 Touchpad (I2C) Not Working – ACPI Errors on Linux

Hello everyone,

I’m facing an issue with my touchpad on Linux.
Below is my system information and the related error logs.

System Information

Host: mahmuddin-IdeaPad-5-14ITL05
Distro: Zorin OS 18 (Ubuntu 24.04 base)
Kernel: 6.14.0-37-generic
Desktop: GNOME 46 (Wayland)
Architecture: x86_64

Laptop: Lenovo IdeaPad 5 14ITL05 (82FE)
BIOS/UEFI: FKCN51WW (V3.14) – 27/03/2024
CPU: Intel Core i7-1165G7 (11th Gen)
GPU: Intel Iris Xe
Touchpad: I2C (Lenovo)

Problem Description

The touchpad randomly stops working. Sometimes it works after boot, sometimes it doesn’t respond at all.

When the issue happens, I see the following errors in the system log:

Failed to start lenovo-touchpad-reset.service - Reset I2C Touchpad Lenovo

ACPI Error: Method execution failed \_SB.PC00.I2C0.TPAD._CRS
AE_AML_PACKAGE_LIMIT

ACPI BIOS Error (bug): Could not resolve symbol
[\_SB.PC00.I2C0.TPD0], AE_NOT_FOUND

What I Have Tried

  1. Press and hold the power button for 30 seconds (power drain).
  • This sometimes fixes the issue, but not consistently.
  1. Rebooting the system.
  2. Switching between Wayland and X11 (no permanent fix).

Additional Notes

  • The error seems related to ACPI / BIOS / I2C touchpad initialization.
  • The lenovo-touchpad-reset.service fails to start.
  • This looks like a firmware or kernel compatibility issue.

Question

Has anyone experienced a similar issue with Lenovo IdeaPad 5 touchpads on Linux?
Is there a known workaround, kernel parameter, BIOS setting, or patch that can fix this permanently?

Any help or guidance would be greatly appreciated.
Thank you :folded_hands:

Do you have a Dualboot with Windows? Is fast startup disabled there at energy settings?

Unfortunately, I have completely removed Windows from my system and replaced it with Zorin OS.

Is there anything I can still do in this situation?
Do I really need to reinstall Windows just to disable Fast Startup, or is there an alternative solution available on Linux/Zorin OS?

Have you checked if there are BIOS firmware updates for your machine?

I have checked the BIOS version on my laptop, and the latest installed version is:

BIOS/UEFI: FKCN51WW (V3.14) – 27/03/2024

According to Lenovo’s official support website:
https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/5-series/ideapad-5-14itl05/downloads/driver-list/component?name=BIOS%2FUEFI&id=5AC6A815-321D-440E-8833-B07A93E0428C

This is the most recent BIOS/UEFI version they have released, and I have already installed it successfully.

Which kernel are you on?

uname -r

Scratch that, I see it in your O.P. : 6.14

Can you follow this guide, but Do Not User nomodeset.
Instead, use
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.nopnp=1"

Correction: Removed cms parameter as it is is unlisted in the documentation and may not function.

1 Like

$ uname -r
6.14.0-37-generic

Yes, I just edited my post above. I am not sure which is slow, my eyes or my brain.

When you switch to Xorg (logout and at login click on your username then a cog wheal appears at the bottom right corner, there you can switch between Xorg and Wayland), you can run this command from Terminal when the touchpad isn't working. Press ctrl+Alt+t
and then enter

xinput --enable "MSFT0004:00 06CB:CD98 Touchpad"

I read that it helped to add the kernel parameter pci=nocrs to /etc/default/grub but I'm not sure if it is worth to add it only because of the touchpad. And all threads were older ones, so I'm not sure if this problem exists in the current 6.14 kernel.
Maybe Aravisian can tell you more whether this parameter is harmful. I would be cautious with this kernel parameter because it is not a permanent problem with your touchpad.

Okay, I’ve tried it and it seems to be working after restarting my laptop.

However, I’m still not entirely sure whether this is a permanent fix or just a temporary workaround. I’ll try to update this thread if the touchpad issue comes back in the future.

Thank you very much for your help. I really appreciate it. :grinning_face:

Both statements can be considered valid. A Grub parameter is an additional instruction for the kernel's init process, which is no different than the great many already included in the kernel.
So you can consider it a permanent fix.

Someone being pedantic, can argue that an additional parameter set by the end user is a workaround, as it works around an issue with the kernel. They cannot call it temporary, however.

Do you mean nocrs?

echo $XDG_SESSION_TYPE
x11

I’ve tried running the following command:
xinput --enable "MSFT0004:00 06CB:CD98 Touchpad"

However, it returns the following error:
unable to find device MSFT0004:00 06CB:CD98 Touchpad

It seems that the touchpad device is not being detected by xinput under this name.

Okay, what is the output of

xinput list

?

pci=nocms is no Configuration Management Services

pci=nocrs is no Current Resource Settings

1 Like

I ran xinput list, and the touchpad is now detected correctly:

$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SYNA2BA6:00 06CB:CD98 Mouse id=8 [slave pointer (2)]
⎜ ↳ SYNA2BA6:00 06CB:CD98 Touchpad id=9 [slave pointer (2)]
⎜ ↳ M585/M590 Mouse id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Ideapad extra buttons id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ M585/M590 Keyboard id=12 [slave keyboard (3)]

I previously added the following kernel parameter to GRUB:

pci=nocrs

After doing so, my system failed to boot. :rofl:

I think:
pci=nocrs

  • Forces the kernel to ignore the BIOS Current Resource Settings (ACPI _CRS)
  • This option is generally safe only for very old BIOS implementations
  • On modern Lenovo laptops with UEFI firmware, it can be unsafe and may cause boot failures
1 Like

You could try

xinput --enable "SYNA2BA6:00 06CB:CD98 Touchpad"

So this suggestion was a idea. I also read about this problem with failing boots when the parameter pci=nocrs was set.

I’m not sure whether this approach will actually resolve the issue or not, because at the moment my touchpad is currently detected. It’s possible that the following applies:

:white_check_mark: When this command WILL work
xinput --enable "SYNA2BA6:00 06CB:CD98 Touchpad"

This command may be will work only if:

  • The touchpad is already detected by Xorg
  • The device name appears in

xinput list

  • The touchpad exists but is simply disabled
    (for example by GNOME settings, a startup script, or a suspend/resume bug)

In this situation, xinput --enable should immediately re-enable the touchpad
without any error.

:cross_mark: When this command will FAIL

The command will fail if:

  • The touchpad is not detected at all by Xorg
  • The device does not appear in xinput list
  • The input driver never creates a device node
    (for example due to I2C-HID issues, missing firmware, or a BIOS/UEFI problem)

A typical error message would be:
unable to find device "SYNA2BA6:00 06CB:CD98 Touchpad"

This indicates that the touchpad is not just disabled — it does not exist at the X input layer.

Since Zorin OS uses GNOME by default:

  • xinput only works on X11
  • If you are running a Wayland session, this command:
  • May return an error, or
  • May appear to succeed but has no effect at all