acpidump Workflow

How to collect ACPI tables from a running system and use them as firmware handoff evidence.

2 min read
Shell & Firmware Tools cover

The firmware source says the device exists.

The OS says it does not.

The useful question is not who is right. The useful question is:

What ACPI tables did the OS actually receive?

That is where acpidump becomes important.

Typical workflow

sudo acpidump -b
ls *.dat
ias -d DSDT.dat SSDT*.dat

Some environments use different ACPICA package commands, but the flow is the same:

01 Dump

Collect binary tables

Use acpidump to capture DSDT, SSDT, FADT, MADT, MCFG, and OEM tables from the running machine.

02 Decompile

Convert AML to ASL

Use iasl to read methods, devices, resources, operation regions, and conditions.

03 Search

Find device path

Look for _HID, _CID, _STA, _CRS, _DSM, OperationRegion, and power methods.

04 Compare

Good vs bad system

Compare ACPI namespace and resource output across BIOS versions or SKUs.

05 Map back

Return to firmware source

Use ASL paths, OEM table IDs, and method names to find the responsible platform code.

ACPI table debug workflow

Real world example: touchpad missing

grep -R "PNP0C50\|ELAN\|SYNA\|TPD" *.dsl

Then inspect:

Device path
_HID / _CID
_STA
_CRS
_DSM
GPIO interrupt
I2C serial bus resource

If the device is missing from ACPI output, the firmware generation path is suspect. If the device exists but _STA returns unavailable, the OS may correctly hide it.

Found this useful?

Save it or share it with someone learning firmware, BIOS/UEFI, and embedded systems.

Nội dung liên quan

Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.

Biến note thành bài viết hoàn chỉnh

Notes là nơi ghi nhanh khái niệm.