DebuggingACPI

Debugging Central

This page is part of the debugging series — pages with debugging details for a variety of Ubuntu packages.

Introduction

The Advanced Configuration and Power Interface (ACPI) is an open industry specification which establishes industry-standard interfaces enabling OS-directed configuration, power management, and thermal management of mobile, desktop, and server platforms. Support is often tough to get right. The following information can help with debugging ACPI related issues. For background information regarding ACPI, see www.acpi.info, ACPI Overview and Wikipedia.

Debugging procedure

(See LessWatts.org for more information regarding ACPI debugging in general.)

  1. Make sure your BIOS is up to date.
    • To find the version of the BIOS you currently have, run sudo dmidecode. The version of your BIOS should be listed in the BIOS Information section of the output.

    • Check to see if your hardware's manufacturer has provided a newer BIOS version.

Trouble Booting

For detailed instructions regarding how to modify boot parameters see DebuggingKernelBoot.

  1. Try booting with the "acpi=off" kernel parameter
    • This will disable ACPI support. If the error is the same with ACPI enabled and disabled, this may not be an ACPI issue.
  2. If "acpi=off" allows the system to boot, try to isolate the ACPI issue with the following boot parameters
    • Try booting with "acpi=ht"
      • This disables all of ACPI except just enough to enable Hyper Threading. If acpi=off works and acpi=ht fails, then the issue is in the ACPI table parsing code itself, or perhaps the SMP code.
    • Try booting with "pci=noacpi"
      • This disables ACPI for IRQ routing and PCI scanning.
    • Try booting with "acpi=noirq"
      • This disables ACPI for IRQ routing.
    • Try booting with "pnpacpi=off"
      • This disables the ACPI component of the Linux Plug and Play code.
    • Try booting with "noapic"
      • Disables the IO-APIC for IRQ routing or PCI scanning.
    • Try booting with "nolapic"
      • Disables the local APIC.

Fan Issues

These usually relate to the fan spinning too often or too fast. Another indication may be that the temperature remains high even when the fans are spinning.

  1. Determine if the system has ACPI-based fan control
    • if /proc/acpi/fan is empty and /proc/acpi/thermal_zone/*/trip_points has no active trip points (those starting with "AC") then there is no ACPI-based fan control on your system

  2. If the system does have an ACPI-based fan control try booting with kernel parameter options listed above

Filing a Bug Report

When filing an ACPI related bug, please attach the following information to the bug report as _separate_ attachments:

  • Output of uname -a

  • Output of sudo lspci -vvnn

  • Output of sudo dmidecode > dmidecode.txt 

  • Try to hibernate/suspend and then restart the system and attach /var/log/kern.log.0

  • Tarball of /proc/acpi directory. You can't just tar all files because their content sometimes changes etc.
    • cp -r /proc/acpi /tmp

    • tar -cvjf ~/acpi.tar.bz /tmp/acpi

Such bugs should be reported against the linux package.

Sometimes, everything works except resume (that is, all ACPI functions work, the user can hibernate and restart their computer, etc.). In this case, the DebuggingKernelSuspend procedure can be useful. UnderstandingSuspend can also provide some useful information.

Easy Copy/Paste for replying to Bug Reports

Thank you for taking the time to report this bug and helping to make Ubuntu better. Unfortunately we can't fix it, because your description didn't include enough information.

Please include the information as separate attachments:
 * Output of uname -a
    * uname -a > uname.txt
 * Output of sudo lspci -vvnn
    * sudo lspci -vvnn > lspci.txt
 * Output of sudo dmidecode
    * sudo dmidecode > dmidecode.txt
 * Try to suspend/hibernate and then restart the system and attach /var/log/kern.log.0
 * Tarball of /proc/acpi directory. You can't just tar all files because their content sometimes changes etc.
    * cp -r /proc/acpi /tmp
    * tar -cvjf ~/acpi.tar.bz /tmp/acpi
    * attach acpi.tar.bz from your home directory

Also see


CategoryBugSquad CategoryDebugging

DebuggingACPI (last edited 2011-03-03 18:36:15 by brian-murray)