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