You are not logged in.
Summary
On a fresh Arch install (Plasma 6 / Wayland, systemd-boot with UKI) on my HP Pavilion x360 Convertible 14-dw1xxx, the built-in ELAN2513 touchscreen fails to initialize. The touchpad (ELAN0722) works fine. Both are I²C HID devices, but they sit on different i2c_designware controllers and only the bus with the touchscreen (i2c_designware.0) is stuck.
An i2cdetect scan on bus 0 finds no devices responding at all, so the failure is at the bus controller level, not something the ELAN driver could reasonably work around.
Hardware
System: HP Pavilion x360 Convertible 14-dw1xxx (SKU: 14-dw1076nr)
BIOS: AMI F.50, 2023-10-19
Touchscreen: ELAN2513 (I²C HID) on i2c_designware.0 fails
Touchpad: ELAN0722 (I²C HID) on i2c_designware.1 worksSymptom
Every boot, dmesg shows:
[ 6.376042] i2c_designware i2c_designware.0: controller timed out
[ 6.377572] i2c_hid_acpi i2c-ELAN2513:00: can't add hid device: -110
[ 6.576230] i2c_hid_acpi i2c-ELAN2513:00: i2c_hid_get_input: IRQ triggered but there's no data
[ 6.576441] i2c_hid_acpi i2c-ELAN2513:00: probe with driver i2c_hid_acpi failed with error -110The touchpad probes normally on i2c_designware.1 in the same time window.
i2cdetect confirms bus 0 is unresponsive:
$ sudo i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20:
30: -- -- -- -- -- -- -- --
40:
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60:
70:ACPI does enumerate the device both /sys/bus/acpi/devices/ELAN2513:00 and /sys/bus/i2c/devices/i2c-ELAN2513:00 exist. The i2c_hid_acpi driver just can't complete a single transaction on the bus.
What I've tried
Added acpi_osi="Windows 2020" to the UKI cmdline (via /etc/kernel/cmdline + mkinitcpio -P). Confirmed in /proc/cmdline.
Manual unbind/rebind at /sys/bus/i2c/drivers/i2c_hid_acpi/. tee returns "Connection timed out" and dmesg shows the same "i2c_designware.0: controller timed out".
Verified the ACPI device is present at /sys/bus/acpi/devices/ELAN2513:00.
Happy to run further diagnostics try patches or bisect kernel versions if it helps.
Thanks ![]()
Offline