APM - troubleshooting
- - Seitdem sarge stable ist, dürften sich die meisten Probleme (speziell mit Kernel 2.6) nicht mehr auftreten.
In diesem Text wird erklärt, wie das advanced power management richtig konfiguriert wird. Hinzu kommen einige Grundlagen zu ACPI, welches ebenfalls dazu verwendet werden kann, den Rechner richtig abzuschalten. Möglicherweise muss dafür ein neuer Kernel erstellt werden. Wie ein Kernel erstellt wird, steht in einem anderen Wiki-Dokument...
Symptom: Der Rechner schaltet sich nicht ab. Er bleibt einfach mit einem power off stehen oder stürzt ab.
Lösung mittels APM
Vorab zu prüfen: Ist der APM-support überhaupt im BIOS aktiviert?
Wenn ja:
Habe ich das APM-Modul geladen?
Das Modul verbirgt sich bei Modconf unter 386-zentrische Treiber. Das Laden dieses Moduls sollte keine Fehlermeldungen ausgeben.Habe ich dem Kernel den Parameter apm=on übergeben?
Meistens ist die Unterstützung für das Advanced - Power - Management bereits in den Kernel eincompiliert oder es liegt als Modul vor. Oftmals muss der Kernel jedoch dennoch darauf "hingewiesen" werden, dass er APM benutzen soll. Dies wird durch einen Kernel - Parameter erledigt. Es gibt zwei Möglichkeiten, Kernel - Parameter zu übergeben, je nach dem, welchen bootloader du verwendest.lilo - das ist der Standardbootloader von Debian Woody. Du erkennst ihn am roten Rahmen. Du musst hierfür die Datei /etc/lilo.conf editieren. Hierfür musst du Root sein. Öffne die Datei, dort stehen Einträge wie folgende:
image=/boot/kernel-2.4.21 label=Linux read-only append="vga=791 hdd=ide-scsi pci=bios"
In die append-Zeile trägst Du apm=on ein. Existiert die Zeile nicht, so kannst Du einfach eine neue Zeile erstellen. Nach dem Editieren der lilo.conf muss lilo immer ein mal aufgerufen werden, um die Änderungen zu übernehmen! Andernfalls startet Dein Linux-System nicht mehr!
grub - ein etwas "modernerer" Linuxloader. Die Datei, die hier editiert werden muss, lautet /boot/grub/menu.lst.
title Debian Kernel 2.4.22 root (hd0,5) kernel /boot/kernel-2.4.22 ro root=/dev/hda6 hdd=ide-scsi pci=bios vga=791
Du hängst einfach ein apm=on hinten an.
Hilfe! Ich kann in modconf kein Treibermodul finden! oder Ich habe das alles schon gemacht - es funktioniert nicht!BR Bei einem Debian-Standardkernel ist das APM-Modul dabei. Bei einem anderen Kernel, der jedoch ebenfalls aus Debian-Quellen kommt (z.B. der Kernel von Debian Sid) ist APM ebenfalls als Modul vorhanden. Hast Du jedoch einen eigenen Kernel oder willst Du einen eigenen Kernel bauen, so gibt es einige Punkte, die Du beachten solltest:
processor type and features -- > symmetric multiprocessing support Dieser Eintrag muss ausgeschaltet werden. Er ist dafür da, dass Linux mehr als einen Prozessor benutzen kann. MIt mehr als einem Prozessor "weiß" Linux jedoch nicht, wie es mit dem Abschaltbefehl umgehen soll und schaltet deshalb nicht ab.
general setup --> power management support Diese Eintrag muss selektiert werden.
general setup --> advanced power management BIOS support Dieser Eintrag muss natürlich ebenfalls eingeschaltet werden
general setup --> advanced power management BIOS support --> use real mode... Diese Einstellung kann gewählt werden, wenn der Rechner trotz APM-Treiber nicht herunterfährt.
Mit diesen Einstellungen sollte der Rechner sich pflichtgemäß abschalten. Ggf. muss mittels apt-get install apmd der APM-daemon installiert werden.
Lösung mittels ACPI
APM und ACPI können problemlos koexistieren - entscheidend ist, was zuerst geladen wird. ACPI ist die moderne Variante, die mehr kann als nur Rechner abschalten. Hier beschränken wir uns jedoch auf das korrekte Herunterfahren des Computers. Hier eine kurze Schritt für Schritt Anleitung:
Falls man einen Kernel mit ACPI - Unterstützung hat: Dies ist beim Standard - Kernel von Debian Woody nicht der Fall!!
Entladen der APM - Module mittels modconf (falls nötig)
Entfernen der append-Zeile in /etc/lilo.conf oder /boot/grub/menu.lst
Falls die Treiber als Module vorliegen, in modconf alle nötigen Treiber in Sektion acpi laden.
Installieren von ACPID mittels apt-get install acpid
Editieren der Datei /etc/default/acpid --> Modules="ALL" ist per default auskommentiert. Die Raute entfernen.
Probe mit shutdown -h now als root
Falls der Kernel KEINE ACPI-Unterstützung hat:: Dies ist soweit ich weiss bei Kernelquellen unterhalb 2.4.20 der Fall. Idealerweise solltest Du dafür den neusten stabilen Kernel wählen - Momentan (10/2003) ist es 2.4.22.
general setup --> power management support Diese Eintrag muss selektiert werden.
general setup --> ACPI support Muss ausgewählt werden. Am sichersten ist es, alle weiteren Treiber unterhalb von ACPI-Support als Module zu bauen.
Dies sollte genügen, um wenigstens den Rechner ordentlich runterfahren zu können. Passieren beim nächsten Start "seltsame" Dinge, so ist eventuell die ACPI-Implementierung des Boards buggy. In diesem Fall muss in '/etc/lilo.conf oder /boot/grub/menu.lst als 'append-zeile acpi=off oder noacpi gewählt werden. In diesem Fall hilft nur: APM benutzen und auf neuere Kernel-Versionen warten...