Public bug reported:
Expected behavior:
The touchpad should be detected and functional after booting Ubuntu 26.04 with
kernel 7.0.0-38-generic.
Actual behavior:
The touchpad does not appear in xinput list or libinput list-devices. The
kernel log shows repeated failures to fetch the HID descriptor:
i2c_hid_acpi i2c-ELAN062F:00: failed to fetch HID descriptor: -121
i2c_hid_acpi i2c-ELAN062F:00: Failed to fetch the HID Descriptor
Hardware:
Model: Lenovo ThinkBook 15-IML
Touchpad: ELAN062F (ACPI ID confirmed via DSDT analysis)
I2C Controller: Intel LPSS at PCI address 0000:00:15.0
Touchpad hardware responds at I2C address 0x2C (verified with i2cget
-y 0 0x2c, returns 0x06)
Steps to reproduce:
Boot Ubuntu 26.04 with kernel 7.0.0-38-generic on the affected
hardware.
Run xinput list — the touchpad does not appear.
Run sudo dmesg | grep i2c_hid — shows failed to fetch HID
descriptor: -121.
Workarounds attempted (all unsuccessful):
DSDT override via CPIO:
Forced _STA of TPD2 (ELAN062F) to return 0x0F unconditionally.
Corrected _CRS/SBFE I2C address from 0x0015 to 0x002C.
Forced _STA = Zero on TPD0, TPD1, TPD4 to avoid address
conflicts.
Result: The ACPI override is confirmed active (ACPI: Table
Upgrade: override [DSDT-LENOVO-CFL]), but i2c_hid_acpi still fails with
-121 when attempting to fetch the HID descriptor.
PCI reset: Removed and rescanned 0000:00:15.0 (echo 1 >
/sys/bus/pci/devices/0000:00:15.0/remove followed by rescan). The
controller re-enumerates, but the -121 error persists.
Module reload: Unloaded and reloaded i2c_hid_acpi with various
delays (up to 5 seconds) after PCI reset. No change.
Forced bind with elan_i2c: Returns -ENXIO (os error 6) because the
driver's initial byte-read check fails.
Forced bind with elants_i2c: Returns -ENODEV (os error 19) because
ELAN062F is not in that driver's device ID table (confirmed via
modinfo).
Historical context:
This exact model (ThinkBook 15-IML) was fixed in 2020 by a Canonical kernel
test build from Kai-Heng Feng (kernel 5.9.0-rc4+) that applied the patch
21653a4181ff (i2c: core: Call i2c_acpi_install_space_handler before
i2c_acpi_register_devices). That patch was merged into mainline and reached
Ubuntu in version 5.8.0-20.21. The touchpad worked fully on that kernel. The
issue appears to have regressed or mutated in the current 7.0 kernel series.
Relevant upstream context:
A similar "lost arbitration" regression was reported on the Linux kernel
mailing list for the ThinkPad T14s Gen 4 (AMD), where i2c-designware probe
delays shifted the first HID descriptor fetch into a window where the
platform's embedded controller (EC) was still acting as a secondary I2C bus
master . This matches the -121 (EREMOTEIO) symptom observed here. The Lenovo
ThinkBook 15-IML may be affected by the same EC arbitration interaction.
System information:
Ubuntu version: 26.04
Kernel: 7.0.0-38-generic (problem also likely present in
7.0.0-31-generic, not tested)
Secure Boot: Disabled
pinctrl modules: CONFIG_PINCTRL_INTEL_PLATFORM=m,
CONFIG_PINCTRL_ICELAKE=m
Request:
Please investigate whether the i2c-designware / i2c_hid_acpi timing regression
affecting Lenovo platforms in kernel 7.0 is also impacting the ThinkBook 15-IML
(ELAN062F), and whether the EC arbitration workaround being discussed upstream
can be applied to this model.
** Affects: linux-signed-hwe-7.0 (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171571
Title:
Touchpad ELAN062F not detected on Lenovo ThinkBook 15-IML:
i2c_hid_acpi fails with -121 (EREMOTEIO)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-signed-hwe-7.0/+bug/2171571/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs