Comment 15 for bug 1853277

Revision history for this message
Martina (cantappa) wrote :

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