Linux acpi off Suspend to Disk Problem Analysis

Source: Internet
Author: User

For debug_layer and debug_level, include/acpi/acutput. h contains many values, which determine the details and content range of Linux/ACPI output information. Acpi. debug_level and acpi. debug_layer are kernel parameters. You can also change these values when the system is running. They are/sys/module/acpi/parameters/debug _ {level, layer }.

Note that the output information may soon run out of the ring buffer of the kernel. You may need to use log_buf_len = XY to increase the ring buffer size. Using the serial console (Documentation/serial-console.txt) is a good way to get the kernel output. If your laptop does not have a serial port, try netconsole (Documentation/networking/netconsole.txt ).

Linux acpi off using custom DSDT

Linux acpi offDSDT (Differentiated System Description Table) is a major ACPI Table that contains a lot of AML code. These codes may be wrong due to BIOS bugs. A method provided by Linux allows you to use a customized DSDT table, which is helpful for debugging. Perform the following steps to use a custom DSDT for kernel:

First, you must obtain the tools such as acpidump in the following sections of the original DSDT table ):
$ Acpidump> acpidump. out
$ Acpixtract DSDT acpidump> DSDT. dat
In this way, we get the binary file of the DSDT table and decompile it.
$ Iasl-d DSDT. dat
We will get an AML code file, you can modify it
$ Vi DSDT. dsl
Then re-compile
$ Iasl-tc DSDT. dsl
Copy it to the kernel source
$ Cp DSDT. hex $ SRC/include/

Linux acpi off Add the following lines to your kernel configuration file. config ):
CONFIG_STANDALONE = n
CONFIG_ACPI_CUSTOM_DSDT = y
CONFIG_ACPI_CUSTOM_DSDT_FILE = "DSDT. hex"

Linux acpi off: Compile and run the kernel. Your dmesg should have the following output:
Table [DSDT] replaced by host OS
With this method, you can fix the DSDT bug. This method brings about a useful debug Method: Open the debug option of ACPI, and add statements similar to the following in your DSDT:
Store ("hello world !", Debug)
Store (Local0, Debug)

Store a variable in a special target Debug. The following output is displayed when the function added with such a statement is interpreted and executed by the kernel:
[ACPI Debug] String: [0x0C] "hello world !"
[ACPI Debug] Integer: 0 × 00000042

Therefore, we can perform debugging at the AML code level.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.