White space fix only. Translators can ignore.
Sponsored by: iXsystems
This commit is contained in:
parent
627207c403
commit
61bcce53e9
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44562
1 changed files with 86 additions and 84 deletions
|
@ -3183,50 +3183,51 @@ hw.acpi.s4bios: 0</screen>
|
|||
This usually fixes the problem of a system powering up
|
||||
spontaneously after a suspend or poweroff.</para>
|
||||
</sect3>
|
||||
|
||||
|
||||
<sect3 xml:id="ACPI-aslanddump">
|
||||
<title>BIOS Contains Buggy Bytecode</title>
|
||||
|
||||
<indexterm>
|
||||
<primary><acronym>ACPI</acronym></primary>
|
||||
<secondary><acronym>ASL</acronym></secondary>
|
||||
</indexterm>
|
||||
<indexterm>
|
||||
<primary><acronym>ACPI</acronym></primary>
|
||||
<secondary><acronym>ASL</acronym></secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Some <acronym>BIOS</acronym> vendors provide incorrect or
|
||||
buggy bytecode. This is usually manifested by kernel console
|
||||
messages like this:</para>
|
||||
<para>Some <acronym>BIOS</acronym> vendors provide incorrect
|
||||
or buggy bytecode. This is usually manifested by kernel
|
||||
console messages like this:</para>
|
||||
|
||||
<screen>ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
|
||||
<screen>ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
|
||||
(Node 0xc3f6d160), AE_NOT_FOUND</screen>
|
||||
|
||||
<para>Often, these problems may be resolved by updating the
|
||||
<acronym>BIOS</acronym> to the latest revision. Most console
|
||||
messages are harmless, but if there are other problems, like
|
||||
the battery status is not working, these messages are a good
|
||||
place to start looking for problems.</para>
|
||||
<para>Often, these problems may be resolved by updating the
|
||||
<acronym>BIOS</acronym> to the latest revision. Most
|
||||
console messages are harmless, but if there are other
|
||||
problems, like the battery status is not working, these
|
||||
messages are a good place to start looking for
|
||||
problems.</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<sect2>
|
||||
<title>Overriding the Default <acronym>AML</acronym></title>
|
||||
|
||||
<para>The <acronym>BIOS</acronym> bytecode, known as
|
||||
<para>The <acronym>BIOS</acronym> bytecode, known as
|
||||
<acronym>ACPI</acronym> Machine Language
|
||||
(<acronym>AML</acronym>), is compiled from a source language
|
||||
called <acronym>ACPI</acronym> Source Language
|
||||
(<acronym>ASL</acronym>). The <acronym>AML</acronym> is
|
||||
found in the table known as the Differentiated System
|
||||
Description Table (<acronym>DSDT</acronym>).</para>
|
||||
<indexterm>
|
||||
<indexterm>
|
||||
<primary><acronym>ACPI</acronym></primary>
|
||||
<secondary><acronym>ASL</acronym></secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>The goal of &os; is for everyone to have working
|
||||
<acronym>ACPI</acronym> without any user intervention.
|
||||
Workarounds are still being developed for common
|
||||
mistakes made by <acronym>BIOS</acronym> vendors. The
|
||||
µsoft; interpreter (<filename>acpi.sys</filename> and
|
||||
Workarounds are still being developed for common mistakes made
|
||||
by <acronym>BIOS</acronym> vendors. The µsoft;
|
||||
interpreter (<filename>acpi.sys</filename> and
|
||||
<filename>acpiec.sys</filename>) does not strictly check for
|
||||
adherence to the standard, and thus many
|
||||
<acronym>BIOS</acronym> vendors who only test
|
||||
|
@ -3234,53 +3235,54 @@ hw.acpi.s4bios: 0</screen>
|
|||
<acronym>ASL</acronym>. &os; developers continue to identify
|
||||
and document which non-standard behavior is allowed by
|
||||
µsoft;'s interpreter and replicate it so that &os; can
|
||||
work without forcing users to fix the <acronym>ASL</acronym>.</para>
|
||||
work without forcing users to fix the
|
||||
<acronym>ASL</acronym>.</para>
|
||||
|
||||
<para>To help identify buggy behavior and possibly fix it manually, a copy can be
|
||||
made of the system's
|
||||
<para>To help identify buggy behavior and possibly fix it
|
||||
manually, a copy can be made of the system's
|
||||
<acronym>ASL</acronym>. To copy the system's
|
||||
<acronym>ASL</acronym> to a specified file name, use
|
||||
<command>acpidump</command> with <option>-t</option>, to show
|
||||
the contents of the fixed tables, and <option>-d</option>, to
|
||||
disassemble the <acronym>AML</acronym>:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>acpidump -td > <replaceable>my.asl</replaceable></userinput></screen>
|
||||
<screen>&prompt.root; <userinput>acpidump -td > <replaceable>my.asl</replaceable></userinput></screen>
|
||||
|
||||
<para>Some <acronym>AML</acronym> versions assume the user is
|
||||
running &windows;. To override this, set
|
||||
<literal>hw.acpi.osname=<replaceable>"Windows
|
||||
2009"</replaceable></literal> in
|
||||
<filename>/boot/loader.conf</filename>, using the most recent &windows;
|
||||
version listed in the <acronym>ASL</acronym>.</para>
|
||||
<para>Some <acronym>AML</acronym> versions assume the user is
|
||||
running &windows;. To override this, set
|
||||
<literal>hw.acpi.osname=<replaceable>"Windows
|
||||
2009"</replaceable></literal> in
|
||||
<filename>/boot/loader.conf</filename>, using the most recent
|
||||
&windows; version listed in the <acronym>ASL</acronym>.</para>
|
||||
|
||||
<para>Other workarounds may require
|
||||
<filename>my.asl</filename> to be customized. If this file is edited, compile the new
|
||||
<acronym>ASL</acronym> using the following command. Warnings can
|
||||
usually be ignored, but errors are bugs that will usually
|
||||
<para>Other workarounds may require <filename>my.asl</filename>
|
||||
to be customized. If this file is edited, compile the new
|
||||
<acronym>ASL</acronym> using the following command. Warnings
|
||||
can usually be ignored, but errors are bugs that will usually
|
||||
prevent <acronym>ACPI</acronym> from working correctly.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>iasl -f <replaceable>my.asl</replaceable></userinput></screen>
|
||||
<screen>&prompt.root; <userinput>iasl -f <replaceable>my.asl</replaceable></userinput></screen>
|
||||
|
||||
<para>Including <option>-f</option> forces creation of
|
||||
the <acronym>AML</acronym>, even if there are errors during
|
||||
compilation. Some errors, such as missing return
|
||||
statements, are automatically worked around by the &os;
|
||||
interpreter.</para>
|
||||
<para>Including <option>-f</option> forces creation of the
|
||||
<acronym>AML</acronym>, even if there are errors during
|
||||
compilation. Some errors, such as missing return statements,
|
||||
are automatically worked around by the &os;
|
||||
interpreter.</para>
|
||||
|
||||
<para>The default output filename for <command>iasl</command> is
|
||||
<filename>DSDT.aml</filename>. Load this file instead of
|
||||
the <acronym>BIOS</acronym>'s buggy copy, which is still
|
||||
present in flash memory, by editing
|
||||
<filename>/boot/loader.conf</filename> as follows:</para>
|
||||
<para>The default output filename for <command>iasl</command> is
|
||||
<filename>DSDT.aml</filename>. Load this file instead of the
|
||||
<acronym>BIOS</acronym>'s buggy copy, which is still present
|
||||
in flash memory, by editing
|
||||
<filename>/boot/loader.conf</filename> as follows:</para>
|
||||
|
||||
<programlisting>acpi_dsdt_load="YES"
|
||||
<programlisting>acpi_dsdt_load="YES"
|
||||
acpi_dsdt_name="/boot/DSDT.aml"</programlisting>
|
||||
|
||||
<para>Be sure to copy <filename>DSDT.aml</filename> to
|
||||
<filename>/boot</filename>, then reboot the system. If this fixes the problem, send a
|
||||
&man.diff.1; of the old and new <acronym>ASL</acronym> to
|
||||
&a.acpi.name; so that
|
||||
developers can work around the buggy behavior in
|
||||
<para>Be sure to copy <filename>DSDT.aml</filename> to
|
||||
<filename>/boot</filename>, then reboot the system. If this
|
||||
fixes the problem, send a &man.diff.1; of the old and new
|
||||
<acronym>ASL</acronym> to &a.acpi.name; so that developers can
|
||||
work around the buggy behavior in
|
||||
<filename>acpica</filename>.</para>
|
||||
</sect2>
|
||||
|
||||
|
@ -3329,36 +3331,34 @@ acpi_dsdt_name="/boot/DSDT.aml"</programlisting>
|
|||
<para>The <acronym>ACPI</acronym> driver has a flexible
|
||||
debugging facility. A set of subsystems and the level of
|
||||
verbosity can be specified. The subsystems to debug are
|
||||
specified as layers and are broken down into
|
||||
components (<literal>ACPI_ALL_COMPONENTS</literal>)
|
||||
and <acronym>ACPI</acronym> hardware support
|
||||
(<literal>ACPI_ALL_DRIVERS</literal>). The verbosity of debugging output is
|
||||
specified as the level and ranges from just report errors
|
||||
(<literal>ACPI_LV_ERROR</literal>) to everything
|
||||
(<literal>ACPI_LV_VERBOSE</literal>).
|
||||
The level is a bitmask so
|
||||
multiple options can be set at once, separated by spaces. In
|
||||
practice, a serial console should be used to log the output
|
||||
so it is not lost as the console message buffer flushes. A
|
||||
full list of the individual layers and levels is found in
|
||||
&man.acpi.4;.</para>
|
||||
specified as layers and are broken down into components
|
||||
(<literal>ACPI_ALL_COMPONENTS</literal>) and
|
||||
<acronym>ACPI</acronym> hardware support
|
||||
(<literal>ACPI_ALL_DRIVERS</literal>). The verbosity of
|
||||
debugging output is specified as the level and ranges from
|
||||
just report errors (<literal>ACPI_LV_ERROR</literal>) to
|
||||
everything (<literal>ACPI_LV_VERBOSE</literal>). The level is
|
||||
a bitmask so multiple options can be set at once, separated by
|
||||
spaces. In practice, a serial console should be used to log
|
||||
the output so it is not lost as the console message buffer
|
||||
flushes. A full list of the individual layers and levels is
|
||||
found in &man.acpi.4;.</para>
|
||||
|
||||
<para>Debugging output is not enabled by default. To enable it,
|
||||
add <literal>options ACPI_DEBUG</literal> to the custom kernel
|
||||
configuration file if <acronym>ACPI</acronym> is compiled into
|
||||
the kernel. Add <literal>ACPI_DEBUG=1</literal> to
|
||||
<filename>/etc/make.conf</filename> to enable it globally.
|
||||
If a module is used instead of a custom kernel, recompile just the
|
||||
<filename>acpi.ko</filename> module as follows:</para>
|
||||
<filename>/etc/make.conf</filename> to enable it globally. If
|
||||
a module is used instead of a custom kernel, recompile just
|
||||
the <filename>acpi.ko</filename> module as follows:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /sys/modules/acpi/acpi && make clean && make ACPI_DEBUG=1</userinput></screen>
|
||||
|
||||
<para>Copy the compiled <filename>acpi.ko</filename> to
|
||||
<filename>/boot/kernel</filename> and add the desired level
|
||||
and layer to <filename>/boot/loader.conf</filename>. The entries in this
|
||||
example enable debug messages for all <acronym>ACPI</acronym>
|
||||
components and
|
||||
hardware drivers and
|
||||
and layer to <filename>/boot/loader.conf</filename>. The
|
||||
entries in this example enable debug messages for all
|
||||
<acronym>ACPI</acronym> components and hardware drivers and
|
||||
output error messages at the least verbose level:</para>
|
||||
|
||||
<programlisting>debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
|
||||
|
@ -3367,10 +3367,10 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
|
|||
<para>If the required information is triggered by a specific
|
||||
event, such as a suspend and then resume, do not modify
|
||||
<filename>/boot/loader.conf</filename>. Instead, use
|
||||
<command>sysctl</command> to specify the layer and level after booting
|
||||
and preparing the system for the specific event. The
|
||||
variables which can be set using <command>sysctl</command> are named
|
||||
the same as the tunables in
|
||||
<command>sysctl</command> to specify the layer and level after
|
||||
booting and preparing the system for the specific event. The
|
||||
variables which can be set using <command>sysctl</command> are
|
||||
named the same as the tunables in
|
||||
<filename>/boot/loader.conf</filename>.</para>
|
||||
|
||||
<indexterm>
|
||||
|
@ -3378,15 +3378,16 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
|
|||
<secondary>problems</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Once the debugging information is gathered, it can be
|
||||
sent to &a.acpi.name; so that it can be used by the &os;
|
||||
<para>Once the debugging information is gathered, it can be sent
|
||||
to &a.acpi.name; so that it can be used by the &os;
|
||||
<acronym>ACPI</acronym> maintainers to identify the root cause
|
||||
of the problem and to develop a solution.</para>
|
||||
|
||||
<note>
|
||||
<para>Before submitting debugging information to this mailing list, ensure the latest
|
||||
<acronym>BIOS</acronym> version is installed and, if
|
||||
available, the embedded controller firmware version.</para>
|
||||
<para>Before submitting debugging information to this mailing
|
||||
list, ensure the latest <acronym>BIOS</acronym> version is
|
||||
installed and, if available, the embedded controller
|
||||
firmware version.</para>
|
||||
</note>
|
||||
|
||||
<para>When submitting a problem report, include the following
|
||||
|
@ -3409,7 +3410,8 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
|
|||
<listitem>
|
||||
<para>The <command>dmesg</command> output from <command>boot
|
||||
-v</command> with <acronym>ACPI</acronym> disabled,
|
||||
if disabling <acronym>ACPI</acronym> helps to fix the problem.</para>
|
||||
if disabling <acronym>ACPI</acronym> helps to fix the
|
||||
problem.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -3419,8 +3421,7 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
|
|||
|
||||
<listitem>
|
||||
<para>The <acronym>URL</acronym> to a pasted version of the
|
||||
system's
|
||||
<acronym>ASL</acronym>. Do
|
||||
system's <acronym>ASL</acronym>. Do
|
||||
<emphasis>not</emphasis> send the <acronym>ASL</acronym>
|
||||
directly to the list as it can be very large. Generate a
|
||||
copy of the <acronym>ASL</acronym> by running this
|
||||
|
@ -3454,7 +3455,8 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
|
|||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>The &os; <acronym>ACPI</acronym> Mailing List Archives (<uri
|
||||
<para>The &os; <acronym>ACPI</acronym> Mailing List Archives
|
||||
(<uri
|
||||
xlink:href="http://lists.freebsd.org/pipermail/freebsd-acpi/">http://lists.freebsd.org/pipermail/freebsd-acpi/</uri>)</para>
|
||||
</listitem>
|
||||
|
||||
|
|
Loading…
Reference in a new issue