PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Acer Aspire 1640 - Kein Batteriestatus



thechef
04.02.06, 11:03
present: yes
ERROR: Unable to read battery status


dmesg output:


ACPI-0339: *** Error: Looking up [Z00A] in namespace, AE_NOT_FOUND
search_node df206be0 start_node df206be0 return_node 00000000
ACPI-0508: *** Error: Method execution failed [\_SB_.BAT1._BST] (Node df206ae0), AE_NOT_FOUND



Das KDE Dingens im Kontrollzentrum sagt mir, dass ich kein Akku habe. Wohl weil es dieselbe Datei ausliest.

auf acpi.sourceforge.net find ich keine dsdt-files, die zu meinem notebook passen würden und ich weiss auch gar nicht ob die diesbezüglich dann korrigiert wären.

Zweitens weiss ich auch nicht, wie ich die assemblierte dsdt.aml zum kernel hinzufüge.
Irgendwo hab ich gelesen, dass man die datei in "/etc/mkinitramfs" kopieren und das kernel-image mit dpkg-reconfigure(etc) erneut erstellen lassen muss, aber dieser Ordner sieht mir gar nicht nach einem "Pool" für solche Dateien aus, eher ein unterordner in /etc/mkinitramfs vielleicht?!

Wie krieg ich das zum laufen? Wo finde ich Korrekturen für mein BIOS? Kann ich einfach Dateien ähnlicher BIOS nehmen?

Debian testing/unstable kernel 2.6.15 (vanilla)

zoc
04.02.06, 13:47
ACER: Schlechte Karten ...
Es gibt Bastler die es irgendwie mit dsdt Informationen geschafft haben, ne Batterieanzeige zu bekommen ... aber Acer ist einfach ein ******* Notebook für Linux.
Übrigens: nicht mal Infrarot geht .... gar nicht !!! :(

scythe
11.02.06, 23:27
naja, kopf nicht in den sand stecken.
so schlimm ists nicht mit acer und linux ;)

Hab auf meiner Seite ein Howto fürs Acer Aspire 1693 wlmi mit Kanotix.
Müsste bei dir auch so funktionieren, brauchst nur ne passende DSDT. nimmste einfach eine von einem 1642 oder 1644. nur bios version muss übereinstimmen http://acpi.sourceforge.net/dsdt/view.php?manufacturer=ACER

viel glück :)

thechef
13.02.06, 13:15
Zum meinem BIOS aus dmidecode:


BIOS Information
Vendor: Acer
Version: 3A05
Release Date: 09/03/05
Address: 0xE8BF0
Runtime Size: 95248 bytes
ROM Size: 512 kB
Characteristics:
ISA is supported
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
ACPI is supported
USB legacy is supported
Smart battery is supported
BIOS boot specification is supported



Und den hab ich glaub (grade nicht 100% sicher, werds bei gelegenheit nochmal prüfen) schon erfolglos probiert:

http://acpi.sourceforge.net/dsdt/view.php?id=496

Aber da steht sowieso, dass es die unmodifizierte(?) Version sei, also wirds auch noch nicht funktionieren(?)

Oder kann ich das selbst (ohne Kenntnisse in ASM) fixen, wenn ich die Fixes ähnlicher BIOS anschaue, weil die in den für dieses Problem relevanten Code-Teilen eventuell identisch sind?

edit: ich hab jetzt mal so zum spass noch ein paar asl-dateien(verschiedene BIOS teils gefixt) runtergeladen, die dateien verglichen und den dmesg output beim auslesen des batteriestatus angeguckt. alles deutet darauf hin, dass ich in den asl-dateien Z00A mit Z008 ersetzen muss.
Leider hab ich mit dem Original 3A05 BIOS von sourceforge doch noch kompilierfehler. wenn ich Z00A mit Z008 ersetze habe zwei fehler weniger, aber eben immer noch zwei verbleibende fehler. ich versuch dann noch ein bisschen zu basteln.


Mhhh, die Angelegenheit ist etwas kompliziert :D

Ich habe jetzt die asl-datei von meinem BIOS solange korrigiert, bis es kompilierbar war, aber:

"cat /proc/acpi//batteryBAT0/state" gibt immer noch denselben fehler

dmesg scheint immer noch dasselbe zu sagen, wenn man nach dem batteriestatus fragt:



ACPI-0339: *** Error: Looking up [Z00A] in namespace, AE_NOT_FOUND
search_node df20abe0 start_node df20abe0 return_node 00000000
ACPI-0508: *** Error: Method execution failed [\_SB_.BAT1._BST] (Node df20aae0), AE_NOT_FOUND


Entweder hat es die DSDT.aml nicht richtig ins kernel image aufgenommen oder ich muss nicht Z00A durch Z008 ersetzen, sondern umgekehrt(?)

Komischerweise ist das Kernel-Image immer verschieden gross(um bis zu ca. 10 bytes), wenn ich ich es erneut mit dpkg-reconfigure konfiguriere. Aber wenn ich die DSDT.aml drin hab, dann ist es ca. 8 Kilobyte grösser, also nehme ich an, dass es korrekt aufgenommen wurde. Aber kann ich mir das anderswie bestätigen lassen, dass dieses von mir modifizierte BIOS oder was auch immer verwendet wird?

Was will denn überhaupt nach Z00A zugreifen und woher kennt es Z00A?!

Naaaaaaaaja, wahrscheinlich ist schon der Ansatz von dem was ich mache absolut falsch.

edit:


oder ich muss nicht Z00A durch Z008 ersetzen, sondern umgekehrt

Das ändert nichts am Problem. Tja, ich mach noch alles kaputt.

edit: Bisheriges Gefummel: http://liandri.mine.nu/testi/dsdt_3a05/ //Nicht mehr up to date

edit: Ich hab immer noch den schweren Verdacht, dass nicht meine DSDT-Tabelle, sondern nach wie vor die Tabelle des BIOS benutzt wird.
Ich finde in den Log-Dateien und in dmesg NICHTS, das darauf hinweist, dass meine Tabelle geladen würde. Wie kann ich das eindeutig feststellen?

edit: Ausserdem erhalte ich das alte BIOS, wenn ich 'cat /proc/acpi/dsdt' mache und ich nehme jetzt mal, an, dass /proc/acpi/dsdt nach dem reboot auf das verwendete BIOS zeigt.

Ich könnte alternativ nen kernel backen, aber das nimmt zuviel zeit in anspruch. Wenn ich das tu und dann nen Fehler bemerke, dann gehts wieder von vorne los.

Hab jetzt doch einen gebacken, ich habe dummerweise angenommen, dass die vanilla-kernels schon entsprechend gepatcht sind um DSDT-tables aufzunehmen.
Naja jetzt geht die Batterieanzeige mit diesem BIOS: http://liandri.mine.nu/testi/dsdt/Z00A_ersetzt_dsdt_3A05.dsl
Ich hab beim verändern des BIOS nur darauf abgezielt mit möglichst wenig veränderungen keine warnings/errors beim kompilieren zu verursachen. Ob es so stimmt, weiss ich nicht.

Vorgehensweise:

Kernel-Sourcen-Pakete heruntergeladen und entpackt
Kernel-Sourcen gepatcht und dsl-datei als hex-datei in kernel-sourcen integriert (nach Anleitung acpi.sourceforge.net)
Kernel gebacken (Debian-Weg): make-kpkg kernel_image --initrd --revision=custom.0
Kernel installiert und reboot.

zoc
07.03.06, 09:23
Interessant ... aber was machst Du beim nächsten Kerneupdate ... klappt dann noch alles ;) ;) ??

Ich habe mich dazu entschlossen, sowas mit Acer einfach abzuhaken ... das schleppt man wie Fußpilz für immer mit ;)

thechef
27.03.06, 22:06
mmh hab nu vanilla kernel 2.6.16 und es geht einfach so mit der batterie-anzeige.


?

Weil der 2.6.16er nun standardmässig mein notebook fixed oder etwa weil der alte Kernel quasi fest ins BIOS reingeschrieben hat? Letzteres glaub ich eigentl. nich.

Es könnte zwar auch sein, dass ich noch in /etc/mkinitrd irgendwo eine dsdt-datei liegen habe und der kernel nun initrd dsdt support dingens hat(?)

kA, bei gelegenheit geh ich dem nach.