Update to r44561:

Finish editorial review of ACPI chapter.
Some shuffling of ASL/AML stuff to improve flow.
Remove Japanese and Russian references.
This commit is contained in:
Bjoern Heidotting 2016-07-26 21:15:01 +00:00
parent 0acf17d295
commit 3c455e6498
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=49176

View file

@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/config/chapter.xml,v 1.151 2011/12/19 14:55:31 bcr Exp $
basiert auf: r44556
basiert auf: r44561
-->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
@ -3228,7 +3228,7 @@ kern.maxvnodes: 100000</screen>
<para>Damit <acronym>ACPI</acronym> richtig funktioniert,
müssen alle Teile funktionieren. Im Folgenden
finden Sie eine Liste mit Problemen und möglichen
Umgehungen oder Korrekturen. Die Liste ist nach
Abhilfen oder Korrekturen. Die Liste ist nach
der Häufigkeit, mit der die Probleme auftreten,
sortiert. Wenn eine Korrektur das Problem nicht
behebt, finden Sie in <xref linkend="ACPI-submitdebug"/>
@ -3467,11 +3467,9 @@ hw.acpi.s4bios: 0</screen>
Normalerweise wird der unerwünschte Neustart
des Systems durch Setzen dieser Variablen behoben.</para>
</sect3>
</sect2>
<sect2 xml:id="ACPI-aslanddump">
<title><acronym>ASL</acronym>, &man.acpidump.8; und
<acronym>IASL</acronym></title>
<sect3 xml:id="ACPI-aslanddump">
<title>BIOS mit fehlerhaftem Bytecode</title>
<indexterm>
<primary><acronym>ACPI</acronym></primary>
@ -3490,36 +3488,23 @@ hw.acpi.s4bios: 0</screen>
einspielen. Die meisten Meldungen auf der Konsole sind
harmlos, wenn aber beispielsweise der Batteriestatus
falsch angezeigt wird, können Sie in den
Meldungen nach Problemen mit der
<acronym>AML</acronym>-Machine-Language
(<acronym>AML</acronym>) suchen. Der Bytecode der
<acronym>AML</acronym> wird aus der
<acronym>ACPI</acronym>-Source-Language
(<acronym>ASL</acronym>) übersetzt und in einer Tabelle, der
<acronym>DSDT</acronym>, abgelegt. Eine Kopie der
<acronym>ASL</acronym> können Sie mit dem Befehl
&man.acpidump.8; erstellen. Verwenden Sie mit diesem Befehl
sowohl die Option <option>-t</option> (die Inhalte der
statischen Tabellen anzeigen) als auch die Option
<option>-d</option> (die <acronym>AML</acronym> in
<acronym>ASL</acronym> zurückübersetzen). Ein Beispiel für
die Syntax finden Sie in
<xref linkend="ACPI-submitdebug"/>.</para>
Meldungen nach Problemen suchen.</para>
</sect3>
<para>Sie können einfach prüfen, ob sich die
<acronym>ASL</acronym> übersetzen lässt.
Für gewöhnlich können Sie Warnungen
während des Übersetzens ignorieren.
Fehlermeldungen führen normal dazu, dass
<acronym>ACPI</acronym> fehlerhaft arbeitet.
<acronym>ASL</acronym> übersetzen Sie mit dem
nachstehenden Kommando:</para>
<screen>&prompt.root; <userinput>iasl ihre.asl</userinput></screen>
</sect2>
<sect2 xml:id="ACPI-fixasl">
<title>Die <acronym>ASL</acronym> reparieren</title>
<sect2>
<title>Die voreingestellte <acronym>ASL</acronym>
überschreiben</title>
<para>Der <acronym>BIOS</acronym>-Bytecode, bekannt als
<acronym>ACPI</acronym> Maschine Language
(<acronym>AML</acronym>) wird aus der Sprache namens
<acronym>ACPI</acronym> Source Language
(<acronym>ASL</acronym>) übersetzt. Die
<acronym>AML</acronym> ist in einer Tabelle, bekannt als
Differentiated System Description Table
(<acronym>DSDT</acronym>), abgelegt.</para>
<indexterm>
<primary><acronym>ACPI</acronym></primary>
@ -3528,7 +3513,7 @@ hw.acpi.s4bios: 0</screen>
<para>Es ist das Ziel von &os;, dass
<acronym>ACPI</acronym> ohne Eingriffe des Benutzers
läuft. Zurzeit werden allerdings noch Umgehungen für Fehler
läuft. Zurzeit werden allerdings noch Abhilfen für Fehler
der <acronym>BIOS</acronym>-Hersteller entwickelt.
Der &microsoft;-Interpreter (<filename>acpi.sys</filename>
und <filename>acpiec.sys</filename>) prüft die
@ -3539,70 +3524,43 @@ hw.acpi.s4bios: 0</screen>
hoffen, dass sie das vom Standard abweichende Verhalten des
&microsoft;-Interpreters dokumentieren und in &os; replizieren
können. Dadurch müssen Benutzer ihre
<acronym>ASL</acronym> nicht selbst reparieren.
Sie können Ihre <acronym>ASL</acronym> selbst reparieren,
wenn Sie ein Problem umgehen und uns helfen möchten.
Senden Sie bitte die mit &man.diff.1; erstellte Differenz
zwischen alter und neuer <acronym>ASL</acronym>. Die
Entwickler werden versuchen, den Interpreter
<acronym>ACPI-CA</acronym> zu korrigieren.</para>
<acronym>ASL</acronym> nicht selbst reparieren.</para>
<indexterm>
<primary><acronym>ACPI</acronym></primary>
<secondary>Fehlermeldungen</secondary>
</indexterm>
<para>Um bei der Fehlersuche zu helfen und das Problem
möglicherweise zu beheben, kann eine Kopie der
<acronym>ASL</acronym> gemacht werden. Dazu nutzen Sie
<command>acpidump</command> zusammen mit <option>-t</option>,
um den Inhalt der Tabelle anzuzeigen und <option>-d</option>,
um die <acronym>AML</acronym> zu zerlegen:</para>
<para>Die nachfolgende Liste enthält häufige
Fehlermeldungen, deren Ursache und eine Beschreibung,
wie die Fehler korrigiert werden:</para>
<sect3>
<title>Abhängigkeiten vom Betriebssystem</title>
<screen>&prompt.root; <userinput>acpidump -td > <replaceable>my.asl</replaceable></userinput></screen>
<para>Einige <acronym>AML</acronym>s gehen davon aus, dass
der Anwender eine &windows;-Versionen benutzt. Versuchen
Sie das Betriebssystem, das Sie in der
<acronym>ASL</acronym> finden, in
<filename>/boot/loader.conf</filename> anzugeben:
<literal>hw.acpi.osname=<replaceable>"Windows 2001"</replaceable></literal>.</para>
</sect3>
<literal>hw.acpi.osname=<replaceable>"Windows 2009"</replaceable></literal>.</para>
<sect3>
<title>Fehlende Return-Anweisungen</title>
<para>Manche Abhilfen erfordern eine Anpassung von
<filename>my.asl</filename>. Wenn diese Datei bearbeitet
wird, erstellen Sie die neue <acronym>ASL</acronym> mit dem
folgenden Befehl. Warnung können meistens ignoriert werden,
aber Fehler verhindern die ordnungsgemäße Funktion von
<acronym>ACPI</acronym>.</para>
<para>Einige Methoden verzichten auf die vom Standard
vorgeschriebene Rückgabe eines Wertes. Obwohl
der Interpreter <acronym>ACPI-CA</acronym> dies nicht
beheben kann, besitzt &os; die Möglichkeit, den
Rückgabewert implizit zu setzen. Wenn Sie
wissen, welcher Wert zurückgegeben werden muss,
können Sie die fehlenden Return-Anweisungen
selbst einsetzen. Die Option <option>-f</option>
zwingt &man.iasl.8;, die <acronym>ASL</acronym>
zu übersetzen.</para>
</sect3>
<sect3>
<title>Überschreiben der vorgegebenen
<acronym>AML</acronym></title>
<para>Nachdem Sie Ihre <acronym>ASL</acronym> in der
Datei <filename>ihre.asl</filename> angepasst haben,
übersetzen Sie die <acronym>ASL</acronym> wie folgt:</para>
<screen>&prompt.root; <userinput>iasl ihre.asl</userinput></screen>
<screen>&prompt.root; <userinput>iasl -f <replaceable>my.asl</replaceable></userinput></screen>
<para>Die Option <option>-f</option> erzwingt das Erstellen
der <acronym>AML</acronym> auch dann, wenn während
der Übersetzung Fehler auftreten. Einige Fehler, wie
fehlende Return-Anweisungen, werden automatisch vom
fehlende Return-Anweisungen, werden automatisch vom &os;
Interpreter umgangen.</para>
<para>In der Voreinstellung erstellt der Befehl
&man.iasl.8; die Ausgabedatei
<filename>DSDT.aml</filename>. Wenn Sie diese Datei
anstelle der fehlerhaften Kopie des <acronym>BIOS</acronym>
laden wollen, editieren Sie
<para>Die voreingestellte Ausgabedatei von
<command>iasl</command> ist <filename>DSDT.aml</filename>.
Wenn Sie diese Datei anstelle der fehlerhaften Kopie des
<acronym>BIOS</acronym> laden wollen, editieren Sie
<filename>/boot/loader.conf</filename> wie folgt:</para>
<programlisting>acpi_dsdt_load="YES"
@ -3610,13 +3568,46 @@ acpi_dsdt_name="/boot/DSDT.aml"</programlisting>
<para>Stellen Sie bitte sicher, dass sich
<filename>DSDT.aml</filename> in
<filename>/boot</filename> befindet.</para>
</sect3>
<filename>/boot</filename> befindet und starten Sie das
System neu. Wenn dadurch das Problem behoben wird, schicken
Sie einen &man.diff.1; der alten und der neuen
<acronym>ASL</acronym> an &a.acpi.name;, damit die
Entwickler dsa Problem in <filename>acpica</filename>
umgehen können.</para>
</sect2>
<sect2 xml:id="ACPI-debugoutput">
<title><acronym>ACPI</acronym>-Meldungen zur
Fehlersuche erzeugen</title>
<sect2 xml:id="ACPI-submitdebug">
<info>
<title>Abrufen und Einreichen von Informationen zur
Fehlersuche</title>
<authorgroup>
<author>
<personname>
<firstname>Nate</firstname>
<surname>Lawson</surname>
</personname>
<contrib>Geschrieben von </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<personname>
<firstname>Peter</firstname>
<surname>Schultz</surname>
</personname>
<contrib>Mit Beiträgen von </contrib>
</author>
<author>
<personname>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
</personname>
</author>
</authorgroup>
</info>
<indexterm>
<primary>ACPI</primary>
@ -3632,24 +3623,23 @@ acpi_dsdt_name="/boot/DSDT.aml"</programlisting>
flexible Möglichkeiten zur Fehlersuche. Sie
können sowohl die zu untersuchenden Subsysteme
als auch die zu erzeugenden Ausgaben festlegen. Die zu
untersuchenden Subsysteme werden als so genannte
<quote>layers</quote> angegeben. Die Subsysteme sind in
<acronym>ACPI-CA</acronym>-Komponenten
untersuchenden Subsysteme werden als <quote>layer</quote>
angegeben und in Komponenten
(<literal>ACPI_ALL_COMPONENTS</literal>) und
<acronym>ACPI</acronym>-Hardware
(<literal>ACPI_ALL_DRIVERS</literal>) aufgeteilt. Welche
Meldungen ausgegeben werden, wird über
<quote>level</quote> gesteuert. <quote>level</quote> reicht
von <literal>ACPI_LV_ERROR</literal> (es werden nur Fehler
(<literal>ACPI_ALL_DRIVERS</literal>) aufgeteilt.
Welche Meldungen ausgegeben werden, wird über
<quote>level</quote> gesteuert. Die Level reichen von von
<literal>ACPI_LV_ERROR</literal> (es werden nur Fehler
ausgegeben) bis zu <literal>ACPI_LV_VERBOSE</literal> (alles
wird ausgegeben). <quote>level</quote> ist eine Bitmaske,
sodass verschiedene Stufen auf einmal (durch Leerzeichen
getrennt) angegeben werden können. Die erzeugte
Ausgabemenge passt vielleicht nicht in den Konsolenpuffer.
In diesem Fall sollte die Ausgabe mithilfe einer
seriellen Konsole gesichert werden. Die möglichen Werte
für <quote>layers</quote> und <quote>level</quote>
werden in &man.acpi.4; beschrieben.</para>
wird ausgegeben). Das Level ist eine Bitmaske, sodass
verschiedene Stufen auf einmal (durch Leerzeichen getrennt)
angegeben werden können. Die erzeugte Ausgabemenge passt
vielleicht nicht in den Konsolenpuffer. In diesem Fall sollte
die Ausgabe mithilfe einer seriellen Konsole gesichert werden.
Die möglichen Werte für <quote>layers</quote> und
<quote>level</quote> werden in &man.acpi.4;
beschrieben.</para>
<para>Die Ausgaben zur Fehlersuche sind in der Voreinstellung
nicht aktiviert. Wenn <acronym>ACPI</acronym> im Kernel
@ -3661,19 +3651,16 @@ acpi_dsdt_name="/boot/DSDT.aml"</programlisting>
<filename>acpi.ko</filename> können Sie wie folgt
neu übersetzen:</para>
<screen>&prompt.root; <userinput>cd /sys/modules/acpi/acpi
&amp;&amp; make clean &amp;&amp;
make ACPI_DEBUG=1</userinput></screen>
<screen>&prompt.root; <userinput>cd /sys/modules/acpi/acpi &amp;&amp; make clean &amp;&amp; make ACPI_DEBUG=1</userinput></screen>
<para>Installieren Sie anschließend
<filename>acpi.ko</filename> im Verzeichnis
<para>Kopieren Sie anschließend
<filename>acpi.ko</filename> ins Verzeichnis
<filename>/boot/kernel</filename>.
In <filename>/boot/loader.conf</filename> stellen Sie
<quote>level</quote> und <quote>layer</quote> ein. Das
folgende Beispiel aktiviert die Ausgabe von Fehlern für
alle <acronym>ACPI-CA</acronym>-Komponenten und alle
<acronym>ACPI</acronym>-Hardwaretreiber (wie
<acronym>CPU</acronym>, <acronym>LID</acronym>):</para>
alle <acronym>ACPI</acronym>-Komponenten und alle
Hardwaretreiber:</para>
<programlisting>debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
debug.acpi.level="ACPI_LV_ERROR"</programlisting>
@ -3685,111 +3672,29 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
Kommando <command>sysctl</command> vornehmen. In diesem
Fall müssen Sie <filename>/boot/loader.conf</filename>
nicht editieren. Auf der Kommandozeile geben Sie über
&man.sysctl.8; dieselben Variablennamen wie in
<command>sysctl</command> dieselben Variablennamen wie in
<filename>/boot/loader.conf</filename> an.</para>
</sect2>
<sect2 xml:id="ACPI-References">
<title>ACPI-Informationsquellen</title>
<para>Weitere Informationen zu <acronym>ACPI</acronym>
erhalten Sie an den folgenden Stellen:</para>
<itemizedlist>
<listitem>
<para>die &a.acpi; Mailingliste,</para>
</listitem>
<listitem>
<para>die Archive der <acronym>ACPI</acronym>-Mailingliste:
<uri xlink:href="http://lists.FreeBSD.org/pipermail/freebsd-acpi/">http://lists.FreeBSD.org/pipermail/freebsd-acpi/</uri>,</para>
</listitem>
<listitem>
<para>die alten Archive der <acronym>ACPI</acronym>-Mailingliste:
<uri xlink:href="http://home.jp.FreeBSD.org/mail-list/acpi-jp/">http://home.jp.FreeBSD.org/mail-list/acpi-jp/</uri>,</para>
</listitem>
<listitem>
<para>die <acronym>ACPI</acronym>-Spezifikation (Version 2.0):
<uri xlink:href="http://acpi.info/spec.htm">http://acpi.info/spec.htm</uri>,</para>
</listitem>
<listitem>
<para>&man.acpi.4;, &man.acpi.thermal.4;, &man.acpidump.8;,
&man.iasl.8; und &man.acpidb.8;,</para>
</listitem>
<listitem>
<para><link xlink:href="http://www.cpqlinux.com/acpi-howto.html#fix_broken_dsdt">
<acronym>DSDT</acronym> debugging resource</link>.</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 xml:id="ACPI-submitdebug">
<info>
<title><acronym>ACPI</acronym>-Fehlersuche</title>
<authorgroup>
<author>
<personname>
<firstname>Nate</firstname>
<surname>Lawson</surname>
</personname>
<contrib>Verfasst von </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<personname>
<firstname>Peter</firstname>
<surname>Schultz</surname>
</personname>
<contrib>Mit Beiträgen von </contrib>
</author>
<author>
<personname>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
</personname>
</author>
</authorgroup>
</info>
<indexterm>
<primary>ACPI</primary>
<secondary>Probleme mit</secondary>
</indexterm>
<para><acronym>ACPI</acronym> ist ein gänzlich neuer
Weg, um Geräte aufzufinden und deren Stromverbrauch
zu regulieren. Weiterhin bietet <acronym>ACPI</acronym>
einen einheitlichen Zugriff auf Geräte, die vorher
vom <acronym>BIOS</acronym> verwaltet wurden. Es werden
zwar Fortschritte gemacht, dass <acronym>ACPI</acronym>
auf allen Systemen läuft, doch tauchen immer wieder
Fehler auf: fehlerhafter Bytecode der
<acronym>ACPI</acronym>-Machine-Language
(<acronym>AML</acronym>) einiger Systemplatinen,
ein unvollständiges &os;-Kernel-Subsystem oder
Fehler im <acronym>ACPI-CA</acronym>-Interpreter
von &intel;.</para>
<para>Dieser Abschnitt hilft Benutzern, zusammen mit den Betreuern
des &os;-<acronym>ACPI</acronym>-Subsystems, Fehlerquellen
zu finden und Fehler zu beseitigen.</para>
<para>Sobald Sie die Fehlerinformationen gesammelt haben, schicken
Sie diese an &a.acpi.name;, sodass die Betreuer des
&os;-<acronym>ACPI</acronym>-Subsystems diese Informationen zur
Analyse und für die Entwicklung einer Lösung verwenden
können.</para>
<note>
<para>Bevor Sie einen Fehlerbericht einreichen, stellen
Sie bitte sicher, dass das <acronym>BIOS</acronym>
und die Firmware des Controllers aktuell sind.</para>
<para>Bevor Sie einen Fehlerbericht an diese Mailingliste
einreichen, stellen Sie bitte sicher, dass das
<acronym>BIOS</acronym> und die Firmware des Controllers
aktuell sind.</para>
</note>
<para>Wenn Sie einen Fehlerbericht einsenden wollen,
schicken Sie bitte die folgenden Informationen an
die Mailingliste <link xlink:href="mailto:freebsd-acpi@FreeBSD.org">freebsd-acpi</link>:</para>
<para>Wenn Sie einen Fehlerbericht einsenden, fügen Sie bitte
die folgenden Informationen ein:</para>
<itemizedlist>
<listitem>
@ -3802,17 +3707,17 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
</listitem>
<listitem>
<para>Die Ausgabe von &man.dmesg.8; nach der Eingabe
von <command>boot -v</command>.
<para>Die Ausgabe von <command>dmesg</command> nach der
Eingabe von <command>boot -v</command>.
Geben Sie auch alle Fehlermeldungen an, die erscheinen,
wenn Sie den Fehler provozieren.</para>
</listitem>
<listitem>
<para>Die Ausgabe von &man.dmesg.8; nach der Eingabe
von <command>boot -v</command> und mit deaktiviertem
<acronym>ACPI</acronym>, wenn das Problem ohne
<acronym>ACPI</acronym> nicht auftritt.</para>
<para>Die Ausgabe von <command>dmesg</command> nach der
Eingabe von <command>boot -v</command> und mit
deaktiviertem <acronym>ACPI</acronym>, wenn das Problem
ohne <acronym>ACPI</acronym> nicht auftritt.</para>
</listitem>
<listitem>
@ -3823,8 +3728,7 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
<listitem>
<para>Die <acronym>URL</acronym>, unter der die
<acronym>ACPI</acronym>-Source-Language
(<acronym>ASL</acronym>) liegt. Schicken Sie
<acronym>ASL</acronym> liegt. Schicken Sie
bitte <emphasis>nicht</emphasis> die
<acronym>ASL</acronym> an die Mailingliste, da die
<acronym>ASL</acronym> sehr groß sein kann. Eine Kopie
@ -3856,5 +3760,24 @@ debug.acpi.level="ACPI_LV_ERROR"</programlisting>
Es kann sein, dass der Fehler schon von
jemand anderem gemeldet wurde.</para>
</sect2>
<sect2 xml:id="ACPI-References">
<title>Referenzen</title>
<para>Weitere Informationen über <acronym>ACPI</acronym> finden
Sie hier:</para>
<itemizedlist>
<listitem>
<para>Die <acronym>ACPI</acronym> 2.0 Spezifikation (<uri
xlink:href="http://acpi.info/spec.htm">http://acpi.info/spec.htm</uri>)</para>
</listitem>
<listitem>
<para>&man.acpi.4;, &man.acpi.thermal.4;, &man.acpidump.8;,
&man.iasl.8; und &man.acpidb.8;</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
</chapter>