DebuggingACPI

Differences between revisions 27 and 28
Revision 27 as of 2009-02-03 05:11:24
Size: 4726
Editor: pool-71-181-163-186
Comment:
Revision 28 as of 2010-01-05 14:45:59
Size: 4798
Editor: cpc2-craw3-0-0-cust718
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
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 [[http://www.acpi.info/|www.acpi.info]] and [[http://en.wikipedia.org/wiki/Acpi|Wikipedia]]. 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 [[http://www.acpi.info/|www.acpi.info]], [[http://www.acpi.info/presentations/ACPI_Overview.pdf|ACPI Overview]] and [[http://en.wikipedia.org/wiki/Acpi|Wikipedia]].

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

  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.

Trouble Booting

  • sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.bck

    sudo gedit /boot/grub/menu.lst

  • 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.
  • 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 much 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

  • 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 appropriate linux-source-2.6.xx package. For example, the correct package in Malone for Dapper is linux-source-2.6.15, for Feisty it is linux-source-2.6.20 and for Gutsy it is linux-source-2.6.22, for Hardy it is just linux.

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 c-98-246-63-231)