Ubuntu neigte dazu, mit folgender Fehlermeldung im "kern.log" unter /var/log einzufrieren.
Uhhuh. NMI received for unknown reason a1 on CPU 0.
Manchmal auch:
Uhhuh. NMI received for unknown reason a0 on CPU 0.
Ich verwende ein Thinkpad T60, mit Radeon X1400 Grafikkarte unter Ubuntu 10.10.
Für mich war das ein riesen Problem, da ich das Notebook nicht zum Spielen oder Surfen verwende, sondern auch, um damit Präsentationen zu halten. Um die Fehler überhaupt debuggen zu können, musste ich den Kernel Log Daemon installieren, der dann alle Kernel Meldungen beim Absturz und Start in die Datei "/var/log/kern.log" protokolliert.
Installiert wird er mit
sudo apt-get install klogd
Ich wurde auf den folgenden Launchpad-Artikel aufmerksam, der das NMI-Problem auf anderen Systemen beschreibt.
Es scheint, dass es mit der Energiesparfunktion der neuen Kernel-Generationen zu tun hat, die hier beschrieben wird:
D.h. es liegt an Geräten, die in den Energiesparmodus wechseln.
Ich konnte auf meinem Thinkpad T60 das Problem hinauszögern, indem ich meine interne WLAN-Karte über das BIOS vesteckt hatte. Allerdings stürtze er dann immer noch gelegentlich ab. Ich installierte auch das ACPI Werkzeug "TLP" für Thinkpad Laptops und konfigurierte es entsprechend meiner Vermutungen.
Ich erkannte, dass es an anderen Geräten (z.B. externen Festplatten) lag, die auch die ACPI Funktionen nutzten.
Ich habe zur Lösung des Problems folgenden Workaround getestet:
1. Step
Wechseln zu root
sudo su -
2. Step
Verzeichnis erzeugen und Skript
mkdir scripts
nano scripts/usb-control.sh
3. Step
Inhalt des Skripts
#!/bin/bash
for i in /sys/bus/usb/devices/*/power/control; do echo on > $i; done
for i in /sys/bus/usb/devices/*/power/autosuspend; do echo -1 > $i; done
for i in /sys/bus/pci/devices/*/power/
control; do echo on > $i; done
4. Step
Das Skript ausführbar machen
chmod +x scripts/usb-control.sh
5. Step
Crontab editieren, damit das Skript unter dem Konto "root" alle 5 Minuten ausgeführt wird.
crontab -e
6. Step
Folgenden Eintrag unten in der Crontab hinzufügen. (Zwischen den Werten einen Tabulator (Tab-Taste) verwenden)
*/5 * * * * /root/scripts/usb-control.sh
(Also so: */5tab*tab*tab*tab*tab/root/scripts/usb-control.sh)
7. Step
Damit werden jetzt bei allen USB-Geräten, auch den neu gesteckten die ACPI Suspend Funktion deaktiviert.
Wer noch andere Fehlermeldungen in seinem "kern.log" hat, bitte noch folgenden Eintrag im Blog beachten.
Wem diese Beschreibung geholfen hat, bitte einen kurzen Kommentar hinterlassen, damit ich weiß, dass ich das hier nicht umsonst mache. Hoffe, es hilft euch wie mir. Ich will auf keinen Fall mehr zu Windows zurück wechseln müssen.