This is how I got the DSDT ACPI table patched and installed:

1. Disassemple the current dsdt ACPI table (see [1]):
```
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.

3. Apply this patch to dsdt.dsl (see [2]):
```
- Name (_HID, "XXXX0000")  // _HID: Hardware ID
+ Name (_HID, "ELAN062F")  // _HID: Hardware ID
```

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

5. Create a CPIO archive to be loaded by the bootloader (see [3]):
```
mkdir -p kernel/firmware/acpi
cp dsdt.aml ssdt1.aml kernel/firmware/acpi
find kernel | cpio -H newc --create > acpi_override
sudo cp acpi_override /boot
```

6. Install the patched dsdt file (see [4]):
```
cpio --extract < ./acpi_override
cp kernel/firmware/acpi/dsdt.aml /boot/fixed_dsdt.aml
# Create or update /boot/grub/custom.cfg to contain
acpi /fixed_dsdt.aml
```


Sources:
[1] https://01.org/linux-acpi/utilities
[2] 
https://github.com/realnickel/lenovo_thinkbook_iml15_touchpad_acpi_fix/commit/de0ca637f7d8de2164c787801b4af9d4ff586d67
[3] https://wiki.archlinux.org/index.php/DSDT#Using_a_CPIO_archive
https://askubuntu.com/questions/1027552/including-a-custom-acpi-dsdt-with-kubuntu-18-04-rc1

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1853277

Title:
  Lenovo ThinkBook 14-IML Touchpad not showing up in
  /proc/bus/input/devices

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1853277/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to