ACPI auf Extensa 4101WLMi alias Aspire 1691WLMi

Debian auf Notebooks und speziellen Geräten wie eingebetteten Systemen, Routern, Set-Top-Boxen, ...
Antworten
Benutzeravatar
MrLinux
Beiträge: 74
Registriert: 21.12.2005 18:01:13
Wohnort: Burgholzhof

ACPI auf Extensa 4101WLMi alias Aspire 1691WLMi

Beitrag von MrLinux » 02.01.2006 21:48:47

Hallo,

ich versuche auf einem ACER-Laptop ACPI zum Laufen zu bekommen, komme da aber nicht weiter. Als HOWTO habe ich
http://www.tldp.org/HOWTO/ACPI-HOWTO/index.html
zur Grundlage genommen.

Auf meinem Extensa 4101WLMi, das dem Aspire 1691WLMi baugleich ist, habe Debian 3.1 drauf und den Kernel 2.6.14.5 erfolgreich installiert.

Wenn ich nach dem Reboot mit

Code: Alles auswählen

dmesg | grep ACPI
teste, bekomme ich diesen Ausdruck:

Code: Alles auswählen

 BIOS-e820: 000000001fe80000 - 000000001fe89000 (ACPI data)
 BIOS-e820: 000000001fe89000 - 000000001ff00000 (ACPI NVS)
ACPI: Subsystem revision 20050902
ACPI: Interpreter disabled.
pnp: PnP ACPI: disabled
Das Verzeichnis /proc/acpi/ existiert nicht und die Module in /lib/modules/2.6.14.5/kernel/drivers/acpi/
lassen sich mit z.B.

Code: Alles auswählen

insmod button
auch nicht laden:

Code: Alles auswählen

insmod: can't read 'button': No such file or directory
Meine Frage ist, wie kann ich ACPI auf diesem Laptop aktivieren? Vielleicht habe ich in der .config etwas vergessen http://nopaste.debianforum.de/2026?

Grüsse

MrLinux

Benutzeravatar
uljanow
Beiträge: 529
Registriert: 20.09.2005 21:14:00

Beitrag von uljanow » 02.01.2006 22:34:44

hier is ein ähnlicher fall...
http://www.debianforum.de/forum/viewtop ... highlight=

so auf den ersten blick, gibt es auf http://acpi.sf.net passende korrigierte dsdts.
Extensa 4100WLMi bzw Extensa 4102WLMi und Aspire 1691WLMi sind vorhanden.

Benutzeravatar
MrLinux
Beiträge: 74
Registriert: 21.12.2005 18:01:13
Wohnort: Burgholzhof

Beitrag von MrLinux » 03.01.2006 09:22:37

Moin, moin Uljanow,

den Artikel und die DSDTS von "ACPI4Linux" kenne ich bereits, dennoch kann ich mit dem Artikel nicht viel anfangen, denn Stefon ist ja bereits eine Spur weiter am Anfang als ich. Jedenfalls vielen Dank für Deine Informationen.

Während sein dmesg wesentlich mehr Informationen liefert, habe ich nur die geposteten Boot-Meldungen. Deswegen meine Frage, was ich möglicherweise beim Kernel kompilieren vergessen haben könnte.

Grüsse

MrLinux

Benutzeravatar
uljanow
Beiträge: 529
Registriert: 20.09.2005 21:14:00

Beitrag von uljanow » 03.01.2006 21:37:19

das howto (http://www.tldp.org/HOWTO/ACPI-HOWTO/index.html) ist schon sehr alt, von 2004 und eignet sich nur bedingt.

da ich in deiner config kein

Code: Alles auswählen

CONFIG_ACPI_CUSTOM_DSDT_FILE="/usr/src/linux/dsdt_table.h"
sehe, machst du das über die initrd?
ist dann der kernel mit acpi-dsdt-initrd-v0.7e-2.6.14.patch auch gepacht?

aber allgemein scheint in der config nichst zu fehlen, was dieses verhalten auslösen könnte.

Benutzeravatar
MrLinux
Beiträge: 74
Registriert: 21.12.2005 18:01:13
Wohnort: Burgholzhof

Beitrag von MrLinux » 04.01.2006 08:44:43

Hallo uljanow,

das ist ja bereits etwas, das mich weiterbringen könnte:

Code: Alles auswählen

CONFIG_ACPI_CUSTOM_DSDT_FILE="/usr/src/linux/dsdt_table.h"
Das ist für mich neu, also habe ich das auch nicht in der initrd drin. Und den Patch habe ich auch noch nicht drauf, denn brauche ich denn den beim relativ neuesten stabilen Kernel?

Also ich teste das Ganze mal und melde mich wieder, um die Lösungen der Nachwelt zur Verfügung zu stellen.

Benutzeravatar
MrLinux
Beiträge: 74
Registriert: 21.12.2005 18:01:13
Wohnort: Burgholzhof

Beitrag von MrLinux » 05.01.2006 09:02:53

Hallo uljanow,

ich habe jetzt meinen Kernel mit acpi-dsdt-initrd-v0.7e-2.6.14.patch gepacht. In einem Forum habe ich jetzt gelesen, dass dieser Patch mir /proc/acpi/ erst möglich macht.

Dann könne ich die DSDT hier auslesen und das Ergebnis mit iasl modifizieren und wieder zurückcompilieren und dann verwenden. Abgesehen davon habe ich mir ACER-Extensa_4100WLMi-S3C23-original.asl geholt.
Nur nach meinem

Code: Alles auswählen

make-kpkg --initrd kernel-image -revision=extensa4101.5
existiert /proc/acpi/ immer noch nicht. Hier sind mal alle meine ACPI-Variablen der neuen .config:

Code: Alles auswählen

# Power management options (ACPI, APM)
# ACPI (Advanced Configuration and Power Interface) Support
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_SLEEP_PROC_SLEEP=y
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_HOTKEY=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_ASUS=m
CONFIG_ACPI_IBM=m
CONFIG_ACPI_TOSHIBA=m
CONFIG_ACPI_CUSTOM_DSDT_INITRD=y
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_ACPI_CONTAINER is not set
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_POWERNOW_K7_ACPI=y
CONFIG_X86_POWERNOW_K8_ACPI=y
CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y
CONFIG_HOTPLUG_PCI_ACPI=m
# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
CONFIG_PNPACPI=y
# CONFIG_SERIAL_8250_ACPI is not set
CONFIG_ACPI_CUSTOM_DSDT_FILE habe ich nicht gefunden.

Irgendwas mache ich noch falsch. Nur weiss ich noch nicht was.

Gruss

MrLinux

Benutzeravatar
uljanow
Beiträge: 529
Registriert: 20.09.2005 21:14:00

Beitrag von uljanow » 05.01.2006 13:51:25

hol dir am besten erstmal den intel iasl compiler [1]. bei debian testing gibts das per apt-get.
wenn du sarge verwendest kopiere das archiv nach /usr/local und entpacke es "tar xzf acpica-unix-*"
danach brauchst du noch paar packete "apt-get install flex-old bison".
wechsle dann ins verzeichnis "cd acpica-unix-*/compiler" und ein einfaches make sollte schon genügen.

deine dsdt kannst du mit "cat /proc/acpi/dsdt > dsdt.dat" auslesen.
danach diese datei mit "./iasl -d dsdt.dat" disamblieren(? oder wie das auf deutsch heißt).

um festzustellen, ob deine acpi implementierung, also deine dsdt fehlerhaft ist oder nicht, solltest du es nochmal kompilieren, "./iasl -tc dsdt.dsl"
wenn der compiler fehler oder warnungen meldet und du nicht grade mit dem acpi-standard vertraut bist, hol dir unter http://acpi.sf.net eine funktionierende dsdt (*.asl). und kompiliere diese.

am ende hast du dann eine dsdt.hex datei. diese kannst du dann fest in deinen kernel einbauen (ab 2.6.9 oder 10, gibt es unter acpi eine option, load custom dsdt-file, wo man den pfad angibt). so dass beim start von debian diese spezielle dsdt geladen wird.

bei dieser variante muss du deinen kernel NICHT patchen. aber bios änderungen sollte man vermeiden! deshalb wichtige einstellungen vorher vornehmen.


[1]http://www.intel.com/technology/IAPC/acpi/downloads.htm

Benutzeravatar
MrLinux
Beiträge: 74
Registriert: 21.12.2005 18:01:13
Wohnort: Burgholzhof

Beitrag von MrLinux » 06.01.2006 12:46:44

Hi uljanow,

Danke für die ausführliche Beschreibung für die Vorgehensweise. Allerdings kann ich die auch nur anwenden, wenn mein Problem des nicht vorhandenen Verzeichnisses /proc/acpi/ gelöst ist.

Nun, das habe ich inzwischen selber gelöst. Dazu hole ich mal kurz aus, damit alle die, die mit dem ACER-Extensa 4101WLMi ähnliche Probleme haben, mitkommen.

Debian Sarge lässt sich mit dem Kernel 2.6.8, der im Installer dabei ist, nur mit folgenden Bootparametern installieren:

Code: Alles auswählen

noapic nolapic acpi=off vga=792 pnpbios=off
So, wenn ich jetzt mir einen neuen Kernel gestalte, in diesem Fall 2.6.14-5, dann existiert in der menu.list genau dieser Eintrag "acpi=off", der mich zum Verzweifeln gebracht hatte. Ohne diesem startet 2.6.8 nicht, ist ja auch ACPI abgeschaltet im Kernel und 2.6.14-5 macht seine Aufgaben nur richtig bei eingeschalteten ACPI im Kernel, wenn ich beim Booten ACPI erlaube.

Okay, das war mein Problem, dass ich erst jetzt auch diesen Eintrag in der menu.list gestossen bin.

Denn Rest, denke ich, ist reine Lesearbeit und müsste auch noch hinhauen.

Grüsse

MrLinux

Benutzeravatar
MrLinux
Beiträge: 74
Registriert: 21.12.2005 18:01:13
Wohnort: Burgholzhof

Beitrag von MrLinux » 06.01.2006 17:04:33

Das einzige Problem, das ich noch in dieser Sache mit der dsdt.hex hätte, ist:

Wo finde ich in den Kerneln 2.6.14-5 und 2.6.15 die Zeile

Code: Alles auswählen

Include Custom DSDT
?

Ich finde die partout nicht! In der Hilfe innerhalb des make menuconfig zu "dsdt" finde ich folgende Angaben:
Symbol: ACPI_CUSTOM_DSDT_FILE [=]
Prompt: Custom DSDT Table file to include │
Defined at drivers/acpi/Kconfig:244 │
Depends on: !X86_VOYAGER && !X86_VISWS && !IA64_HP_SIM && (IA64 || X86) && ACPI && ACPI_CUSTOM_DSDT │
Location: │
-> Power management options (ACPI, APM)
-> ACPI (Advanced Configuration and Power Interface) Support
-> ACPI Support (ACPI [=y]) │
-> Include Custom DSDT (ACPI_CUSTOM_DSDT [=n])
│ │
Symbol: ACPI_CUSTOM_DSDT [=n] │
Prompt: Include Custom DSDT │
Defined at drivers/acpi/Kconfig:236 │
Depends on: !X86_VOYAGER && !X86_VISWS && !IA64_HP_SIM && (IA64 || X86) && ACPI && !STANDALONE │
│ Location: │
│ -> Power management options (ACPI, APM)
│ -> ACPI (Advanced Configuration and Power Interface) Support
│ -> ACPI Support (ACPI [=y])
Aber in den Verzeichnissen finde ich eben dieses "Include Custom DSDT" nicht.
Bislang habe ich mir so geholfen, dass ich in der .config einen manuellen Eintrag

Code: Alles auswählen

CONFIG_ACPI_CUSTOM_FILE="/usr/src/linux/dsdt.hex"
gemacht hatte. Und es ging offensichtlich.

Aber vielleicht weiss doch jemand noch wo sich diese einstellungsmöglichkeit versteckt hält, oder ob es einen Patch explizit dafür gibt.

Grüsse

MrLinux

Antworten