# Ubuntu – ELAN Touchpad not working on Lenovo Thinkbook with Ubuntu 18.04

I bought a Lenovo Thinkbook (Intel i5 10th generation) just last week. I installed ubuntu 18.04. The touchpad hasnt been working ever since. I have not checked it on Windows, as I bought a DOS machine and put ubuntu on it,

Kernel is 5.3.0-26-generic #28~18.04.1-Ubuntu.

I have followed links from here:

I also see that one of the above links asks to modify kernel, but I am not sure thats the right thing to do as I have a kernel which is beyond 4.18. The link also claims that Ubuntu 18.04 should not have this problem. But, I have this problem.

When I do a sudo acpidump | grep -C3 ELAN, I get the following

33230: 0F 00 03 04 49 4E 54 31 70 0A 20 49 44 41 44 A4  ....INT1p. IDAD.
33240: 84 53 42 46 53 53 42 46 49 00 5B 82 4D 0D 54 50  .SBFSSBFI.[.M.TP
33250: 44 32 08 5F 41 44 52 00 08 49 44 41 44 00 08 48  D2._ADR..IDAD..H
33260: 49 44 32 00 08 5F 48 49 44 0D 45 4C 41 4E 30 36  ID2.._HID.ELAN06
33270: 32 46 00 08 5F 43 49 44 0D 50 4E 50 30 43 35 30  2F.._CID.PNP0C50
33280: 00 08 5F 55 49 44 01 14 46 04 5F 44 53 4D 04 A0  .._UID..F._DSM..
33290: 37 93 68 11 13 0A 10 F7 F6 DF 3C 67 42 55 45 AD  7.h.......<gBUE


When I type in dmesg | grep i2c, I get:

[    1.792338] i2c /dev entries driver


When I type dmesg | grep elan, I get nothing on the terminal.

I have run out of ideas. I have tried all that I could. Any suggestions would be of great help.

• It looks like your specific Elan touchpad (Elan 062F) can be fixed by following the steps in this thread here

The comment which fixes your problem is this

This Lenovo machine that I'd purchased also has the same issue, but with a different touchpad model.

Try these steps mentioned in the thread and let me know if it works for you.:

1. Disassemple the current dsdt ACPI table (see this link):
mkdir -p /tmp/acpitables
cd /tmp/acpitables
sudo acpidump > acpidump.out
acpixtract -a acpidump.out
iasl -d dsdt.dat


In my case the output dsdt.dsl file contained some invalid error output lines at the very beginning which I just removed. Otherwise, the compiling in step 4 results in errors.

1. Apply this patch to dsdt.dsl (see this link):
- Name (_HID, "XXXX0000") // _HID: Hardware ID
+ Name (_HID, "ELAN062F") // _HID: Hardware ID

1. Create an assembler source file out of the patched dsdt.dsl:
iasl -sa dsdt.dsl

mkdir -p kernel/firmware/acpi

cpio --extract < ./acpi_override

and Create or update /boot/grub/custom.cfg to contain acpi /fixed_dsdt.aml