ACPI-Problem, Hilfe zur Behebung eines defekten DSDT auf einem HP Pavilion DV6-6008el


8

Es fällt mir schwer, das ACPI-Subsystem eines HP-Laptops ( Pavilion DV6-6008el , Ubuntu Natty 64-Bit) zu reparieren .

Ich kann nur booten, wenn acpi=offin grub als Kernel-Parameter angegeben ist, andernfalls hängen der leere Bildschirm und das System. Sowohl der leere Bildschirm als auch die deaktivierte ACPI sind nicht zulässig. Es gibt eine andere ähnliche Frage von mir auf Ask Ubuntu mit anderen Details.

Ich konnte gute Dokumente zum Debuggen von ACPI finden. Besonders nützlich ist diese Technik: Wenn eine DSDT-Tabelle dekompiliert und neu kompiliert wird, gibt der Compiler einen Fehler aus. Die Tabelle ist fehlerhaft und dies könnte der Grund für den Startfehler sein. Der nächste Schritt besteht darin, den Code zu korrigieren, die System-DSDT zu kompilieren und mit der festen zu überschreiben (den Kernel neu zu kompilieren oder die benutzerdefinierte DSDT in eine initrd zu integrieren). Dies ist das Verfahren:

# apt-get install acpidump
# dump a system's ACPI table with DSTD signature to an ASCII file
sudo acpidump -t DSDT > dump

# convert ASCII acpidump output to raw binary table. Creates DSDT.dat, binary.
acpixtract dump

# apt-get install iasl
# disassemble AML to ASL, creates DSDT.dsl
# (AML: ACPI Machine Language, binary. ASL: ACPI Source Language, source)
iasl -d DSDT.dat

# recompile AML in assembler (-ta) or C (-tc) hex table. -vr disables remarks.
iasl -vr -tc DSDT.dsl

Ups, iasl Intel Compiler beschwert sich:

DSDT.dsl    37:     External (\TNOT)
Error    4057 -                    ^ Name already exists in scope (\TNOT)

DSDT.dsl 11050:     Method (PAPR, 0, NotSerialized)
Warning  1088 -                ^ Not all control paths return a value (PAPR)

DSDT.dsl 12566:     Method (_CRS, 0, NotSerialized)
Warning  1088 -                ^ Not all control paths return a value (_CRS)

DSDT.dsl 12566:     Method (_CRS, 0, NotSerialized)
Warning  1081 -                ^ Reserved method must return a value
                                 (Buffer required for _CRS)

ASL Input:  DSDT.dsl - 12748 lines, 424447 bytes, 5910 keywords
Compilation complete. 1 Errors, 3 Warnings, 8 Remarks, 20 Optimizations

Hier ist die vollständige Tabellenquelle (36 KB).

Jede Hilfe zur Behebung des Problems, des Fehlers und der Warnungen wird sehr geschätzt. Danke vielmals.

Nützliche Ressourcen


Die Quelle ist nicht zugänglich (es erfordert ein Passwort, das ich nicht hatte). An der Oberfläche sieht es so aus, als ob es in Zeile 37 eine überflüssige externe Definition gibt, die Sie entfernen könnten.
Taneli

Sollte es nach unix.stackexchange.com verschoben werden, wenn niemand darauf antworten kann?
Manish Sinha

Antworten:


1

Sie können versuchen, die fglrx-Treiber zu installieren und die acpi-Optionen mit aticonfig zu optimieren. Hier ist der Link zum inoffiziellen AMD-Wiki http://wiki.cchtml.com/index.php/Main_Page . Es hat mir sehr geholfen. Bitte lassen Sie mich wissen, ob dies hilft. Vielen Dank


Hier gibt es ein weiteres Problem: aticonfig sagt "Keine unterstützten Adapter erkannt". Trotzdem danke für die Eingabe.
Paolo

1

Ich versuche das selbst zu machen.

Ich finde das Gentoo-Wiki sehr nützlich: ACPI / Häufige Probleme beheben .

Es ist nicht direkt auf Ubuntu anwendbar, aber fast.

Der einzige Unterschied, den ich bisher bemerkt habe, ist, wenn Sie "iasl" installieren.

Gentoo:

echo "sys-power/iasl ~x86" >> /etc/portage/package.keywords; emerge -av iasl

Ubuntu:

sudo apt-get install iasl

-1

Sie könnten eine sudo modprobe fglrx ausführen. Wenn derselbe Fehler auftritt, müssen Sie möglicherweise einen Neustart durchführen. Bitte lassen Sie mich wissen, ob dies hilft. Vielen Dank


Keine Möglichkeit zu beheben, ich bekomme immer den gleichen Fehler. Meine Karte (ATI Radeon 6470M) wird nicht unterstützt .
Paolo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.