ACPI modules - ArchWiki (2024)

Related articles

  • acpid
  • DSDT

From uefi.org:

The Advanced Configuration and Power Interface (ACPI) specification was developed to establish industry common interfaces enabling robust operating system (OS) directed motherboard device configuration and power management of both devices and entire systems. ACPI is the key element in OS-directed configuration and Power Management (OSPM).

ACPI modules are kernel modules for different ACPI parts. They enable special ACPI functions or add information to /proc or /sys. These information can be parsed by acpid for events or other monitoring applications.

Which modules are available?

This is a small list and summary of ACPI kernel modules:

  • ac (power connector status)
  • asus-laptop (useful on ASUS/medion laptops)
  • battery (battery status)
  • bay (bay status)
  • button (catch button events, like LID or POWER BUTTON)
  • container (container status)
  • dock (docking station status)
  • fan (fan status)
  • i2c_ec (EC SMBus driver)
  • thinkpad_acpi (useful on Lenovo ThinkPad laptops)
  • processor (processor status)
  • sbs (smart battery status)
  • thermal (status of thermal sensors)
  • toshiba_acpi (useful for Toshiba laptops)
  • video (status of video devices)

A complete list for your running kernel can be obtained with the following command:

$ ls -l /usr/lib/modules/$(uname -r)/kernel/drivers/acpi
total 112-rw-r--r-- 1 root root 2808 Aug 29 23:58 ac.ko.gz-rw-r--r-- 1 root root 3021 Aug 29 23:58 acpi_ipmi.ko.gz-rw-r--r-- 1 root root 3354 Aug 29 23:58 acpi_memhotplug.ko.gz-rw-r--r-- 1 root root 4628 Aug 29 23:58 acpi_pad.ko.gzdrwxr-xr-x 2 root root 4096 Aug 29 23:59 apei-rw-r--r-- 1 root root 7120 Aug 29 23:58 battery.ko.gz-rw-r--r-- 1 root root 3700 Aug 29 23:58 button.ko.gz-rw-r--r-- 1 root root 2181 Aug 29 23:58 container.ko.gz-rw-r--r-- 1 root root 1525 Aug 29 23:58 custom_method.ko.gz-rw-r--r-- 1 root root 1909 Aug 29 23:58 ec_sys.ko.gz-rw-r--r-- 1 root root 2001 Aug 29 23:58 fan.ko.gz-rw-r--r-- 1 root root 1532 Aug 29 23:58 hed.ko.gz-rw-r--r-- 1 root root 3241 Aug 29 23:58 pci_slot.ko.gz-rw-r--r-- 1 root root 17742 Aug 29 23:58 processor.ko.gz-rw-r--r-- 1 root root 3073 Aug 29 23:58 sbshc.ko.gz-rw-r--r-- 1 root root 7098 Aug 29 23:58 sbs.ko.gz-rw-r--r-- 1 root root 6311 Aug 29 23:58 thermal.ko.gz-rw-r--r-- 1 root root 8891 Aug 29 23:58 video.ko.gz

Note: Officially supported kernels make some modules builtin into the kernel image (CONFIG_ACPI_*=y [1]), so they will not be present in the modules directory and lsmod(8) output.

How to select the correct ones

You have to try yourself which module works for your machine using modprobe yourmodule, then check if the module is supported on your hardware by using dmesg. It may help to add a grep text search to narrow your results:

# dmesg | grep -i acpi
[ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)[ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x04] enabled)[ 0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)[ 0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x05] enabled)[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])[ 5.066752] ACPI: acpi_idle yielding to intel_idle[ 5.438998] acpi device:04: registered as cooling_device4

You can load the module at boot to make the change permanent for the working ones.

Getting information

To read out battery information, you can simply install the package acpi and run acpi -i.

Using /proc to store ACPI information has been discouraged and deprecated since Linux 2.6.24. The same data is available in /sys now, and interested parties can (should) subscribe to ACPI events from the kernel via netlink. For example, for battery:

/sys/class/power_supply/BAT0/

Troubleshooting

DSDT fix

If problems with power management persist despite having loaded the proper modules, a Linux-unfriendly DSDT might be the cause.

ACPI fix for notebooks

Sometimes you see "ACPI: EC: input buffer is not empty, aborting transaction". This is a problem with ACPI, more specifically an incompatibility of the BIOS. There may be four ways to solve this issue:

  • If available, flash BIOS.
  • Use acpi=off as kernel parameter, however this will kill all ACPI functionality like battery charging and power saving.
  • In some cases disabling DPMS has been reported to solve the issue [2]. However, screen brightness may no longer be fully controllable:
    $ xset dpms force off
  • Build a custom kernel with patches of bugs.launchpad.net.

Boot-looping

Some notebooks or motherboard may have boot issues, such as powering off during the transition from boot loader to OS due to bad ACPI firmware implementation. The following steps provide several kernel parameters, to be tested in order:

  1. Set acpi=off. If you are able to successfully boot:
    1. Dump the ACPI table and check for strings similar to "Windows XXXX". Find the most recent ones:
      # acpidump -b && for i in *; do echo $i:; strings -a $i | grep -i windows; done
    2. Set acpi_osi="Windows XXXX".
  2. Boot looping issues may be due to unstable C-States:
    1. Disable ACPI C-State driver by using processor.max_cstate=0
    2. If you are using Intel processors, set intel_idle.max_cstate=2 to limit C-State to C1E. Higher C-State may work, your mileage may vary.
    3. Disable MWAIT instruction and fallback to ACPI C-State driver with idle=nomwait. Verify your changes by using cpupower:
      $ cpupower idle-info

See also

ACPI modules - ArchWiki (2024)
Top Articles
The VICE Guide to Los Angeles
Why Asturias could be Spain’s next big foodie destination | Travel Weekly
Kansas City Kansas Public Schools Educational Audiology Externship in Kansas City, KS for KCK public Schools
Gamevault Agent
7.2: Introduction to the Endocrine System
O'reilly's In Monroe Georgia
Gw2 Legendary Amulet
What Happened To Father Anthony Mary Ewtn
Chastity Brainwash
Ave Bradley, Global SVP of design and creative director at Kimpton Hotels & Restaurants | Hospitality Interiors
Things To Do In Atlanta Tomorrow Night
6th gen chevy camaro forumCamaro ZL1 Z28 SS LT Camaro forums, news, blog, reviews, wallpapers, pricing – Camaro5.com
Healing Guide Dragonflight 10.2.7 Wow Warring Dueling Guide
Missing 2023 Showtimes Near Landmark Cinemas Peoria
D10 Wrestling Facebook
Les Schwab Product Code Lookup
Haunted Mansion Showtimes Near Millstone 14
2 Corinthians 6 Nlt
Navy Female Prt Standards 30 34
Imagetrend Inc, 20855 Kensington Blvd, Lakeville, MN 55044, US - MapQuest
Nesz_R Tanjiro
How to Watch the Fifty Shades Trilogy and Rom-Coms
Teen Vogue Video Series
Korg Forums :: View topic
Helpers Needed At Once Bug Fables
Southtown 101 Menu
Lawrence Ks Police Scanner
James Ingram | Biography, Songs, Hits, & Cause of Death
Devargasfuneral
Spy School Secrets - Canada's History
Murphy Funeral Home & Florist Inc. Obituaries
Powerball lottery winning numbers for Saturday, September 7. $112 million jackpot
Ducky Mcshweeney's Reviews
Agematch Com Member Login
Ny Post Front Page Cover Today
Babylon 2022 Showtimes Near Cinemark Downey And Xd
How to play Yahoo Fantasy Football | Yahoo Help - SLN24152
Doordash Promo Code Generator
Seminary.churchofjesuschrist.org
Tedit Calamity
Bekah Birdsall Measurements
Busted Newspaper Mcpherson Kansas
Ehome America Coupon Code
John M. Oakey & Son Funeral Home And Crematory Obituaries
Craigslist Binghamton Cars And Trucks By Owner
Top 1,000 Girl Names for Your Baby Girl in 2024 | Pampers
Jigidi Free Jigsaw
Server Jobs Near
Wood River, IL Homes for Sale & Real Estate
Legs Gifs
How to Choose Where to Study Abroad
Latest Posts
Article information

Author: Velia Krajcik

Last Updated:

Views: 6304

Rating: 4.3 / 5 (74 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Velia Krajcik

Birthday: 1996-07-27

Address: 520 Balistreri Mount, South Armand, OR 60528

Phone: +466880739437

Job: Future Retail Associate

Hobby: Polo, Scouting, Worldbuilding, Cosplaying, Photography, Rowing, Nordic skating

Introduction: My name is Velia Krajcik, I am a handsome, clean, lucky, gleaming, magnificent, proud, glorious person who loves writing and wants to share my knowledge and understanding with you.