Skip to content

ACPI Cheatsheet

Christian edited this page Apr 30, 2026 · 2 revisions

acpidump

# Dump ACPI tables
acpidump -o acpidump.bin

# Extract ACPI tables from dump
acpixtract acpidump.bin

# Decompile ASL code
iasl -d dsdt.dat 

# Find method by filtering scope/device/method.
# Enter `/PATTERN` to search a string in `less`.
grep -E '(Scope|Device|Method) \(' dsdt.dsl | less -S

acpi_call

apt install acpi-call-dkms linux-headers-amd64
modprobe acpi_call

Examples

ThinkPad

Stock BIOS
# Calling methods
echo "\_SB.PCI0.LPC.EC.BAT0._BIF" | tee /proc/acpi/call; cat /proc/acpi/call; echo
echo "\_SB.PCI0.LPC.EC.BAT1._BIF" | tee /proc/acpi/call; cat /proc/acpi/call; echo

# Get current page (T450s)
echo "\_SB.PCI0.LPC.EC.HIID" | tee /proc/acpi/call; cat /proc/acpi/call; echo

# Switching pages (T450s)
# ...

# Reading fields (Battery Voltage @ T450s)
echo "\_SB.PCI0.LPC.EC.SBVO" | tee /proc/acpi/call; cat /proc/acpi/call; echo
Coreboot
# Calling methods
echo "\_SB.PCI0.LPCB.EC.BAT0._BIF" | tee /proc/acpi/call; cat /proc/acpi/call; echo
echo "\_SB.PCI0.LPCB.EC.BAT1._BIF" | tee /proc/acpi/call; cat /proc/acpi/call; echo

# Switching pages (T440p)
echo "\_SB.PCI0.LPCB.EC.BPAG 0" | tee /proc/acpi/call; cat /proc/acpi/call; echo

# Reading fields (Battery Voltage @ T440p)
echo "\_SB.PCI0.LPCB.EC.BAVO" | tee /proc/acpi/call; cat /proc/acpi/call; echo

Clone this wiki locally