Mein kleines, aber feines Fujitsu-Siemens Lifebook S6120 hat nun schon mehrere Jahre auf dem Buckel, doch durch ein bisschen Rücksicht und Pflege reicht mir das Notebook immer noch als ordentliche Schreibmaschine mit vielen Extras locker aus. Das Notebook funktionierte schon immer mit Ubuntu wunderbar, doch seit Jaunty gibts (jetzt gab es) es ein Problem, das mich doch wurmte. Da der Lüfter des Notebooks sofort hochdreht, wenn die CPU auch nur ein bisschen hochtaktet, ist es in stillen Umgebungen recht unangenehm mit dem Notebook zu arbeiten. Deshalb habe ich bisher immer ein Kernelmodul angepasst, um die Prozessorspannung absenken zu können. Ein netter Nebeneffekt ist natürlich, dass dadurch der Akku etwas länger hält…
In Jaunty haben die Entwickler jedoch beschlossen diese Module fest in den Kernel zu integrieren. Dies hat zur Folge dass man – wenn man die CPU mit einer geringeren Spannung betreiben möchte – den gesamten Kernel kompilieren müsste. Das bedeutet, dass man einigen Aufwand betreiben muss, um das – was bisher in Minuten zu erledigen war – zu erreichen.
PHC-Kernel installieren
Nun gibt es seit kurzem jedoch eine Paketquelle, aus der man den aktuellen Kernel von Jaunty inklusive dem Patch zum Absenken der CPU-Spannung installieren kann. So kann man ohne große Schwierigkeiten diesen angepassten Kernel installieren. Dazu bearbeitet man – wie so oft – die sources.list über beispielsweise
$ sudo gedit /etc/apt/sources.list
und fügt die zuvor genannte Paketquelle über die Zeilen
deb http://ppa.launchpad.net/linux-phc/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/linux-phc/ppa/ubuntu jaunty main
ein. Die Pakete in der Quelle sind signiert, so dass die Paketverwaltung bei der Installation von Paketen aus dieser Quelle meckern würde. Damit dies nicht geschieht, fügt man über
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 4D950ED1
den Schlüssel der Quelle zum eigenen System hinzu. Nun kann man über
$ sudo apt-get update && sudo apt-get dist-upgrade
die Paketquellen neu einlesen lassen und gleich ein Upgrade ausführen. Einen Hinweis muss hier hierzu geben. Beim Upgrade wird der „original“ Kernel überschrieben. D.h. hat man nur einen Kernel im System installiert, so hat man keinen von Canonical veröffentlichten Kernel mehr installiert! Nach dem Upgrade muss man das System neu starten… Nach dem Neustart kann man den Erfolg der Aktion über
$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls 16:49 14:45 12:36 10:29 8:21 6:16
prüfen. Erscheint diese – oder eine ähnliche Ausgabe – so wurde der gepatchte Kernel installiert und man kann sich daran machen die CPU-Spannung abzusenken. Ausführliche Informationen hierzu findet man beispielsweise im Wiki von ubuntuusers.de unter Prozessorspannung absenken.
Spannung absenken
Ich möchte hier eigentlich nur auf das Fujitsu-Siemens Lifebook S6120 eingehen. Ich persönlich installiere über…
$ wget http://media.ubuntuusers.de/wiki/attachments/02/28/undervolt_ $ sudo cp undervolt_ /etc/init.d/undervolt $ sudo chmod +x /etc/init.d/undervolt $ sudo update-rc.d undervolt defaults
…ein kleines init-Skript, das die Anpassung der CPU-Spannung beim Booten übernimmt. Das Skript alleine reicht noch nicht aus, es braucht eine Konfigurationsdatei. Über…
$ sudo mkdir /etc/phc-config $ sudo gedit /etc/phc-config/undervolt
…kann man diese erstellen. Für ein Fujitsu-Siemens Lifebook S6120 empfehle ich diese Einstellungen.
# CONFIG_FILE FOR UNDERVOLTAGING#
# Path to the voltage table sysfs interface file
VTABLE_PATH="/sys/devices/system/cpu/cpu0/cpufreq/phc_vids"
# Switch back to DEFAULT_VTABLE if undervoltage is stopped? [yes/no]
SWITCH_BACK="yes"
# Default voltages that will be restored at shutdown if SWITCH_BACK=yes
# DEFAULT_VTABLE="15 14 13 11 10 7"
DEFAULT_VTABLE="49 45 36 29 21 16"
# Custom voltages that will be applied at boot time
# CUSTOM_VTABLE="8 6 4 2 1 0"
CUSTOM_VTABLE="33 33 20 14 6 4"
# Set the following to "yes" when the all the settings are configured
# This is a safety to disable setting the voltages with the default
# values of this file that are probably wrong for your CPU
IS_CONFIGURED="yes"
Andere Notebooks brauchen mit SICHERHEIT andere Werte – Daher eine Bitte liebe Leser: Übernehmt nicht blind diese Einstellungen! Hat man die Datei gespeichert, so kann man das Absenken der CPU-Spannung sofort starten. Dazu führt man das zuvor erstellte init-Skript aus.
$ sudo /etc/init.d/undervolt start change CPU Voltage Table Current table: 49 45 36 29 21 16 Configured table: 33 33 20 14 6 4 Applied table: 33 33 20 14 6 4
Ab jetzt läuft die CPU gerade bei niedrigen Taktraten mit einer deutlich niedrigeren Spannung. Die von mir empfohlenen Werte benutze ich nun schon seit Jahren, ohne dass ich Probleme feststellen konnte. Beim Absenken der CPU-Spannung sollte man jedoch vorsichtig vorgehen. Zwar kann man nichts kaputt machen, doch senkt man die Spannung zu weit ab, so kommt es früher oder später zu Abstürzen.
Der neue Kernel ist nicht nur in dieser Hinsicht nicht gelungen. Neben diesen Modul haben sie auch das IPV6-Modul fest integriert. Das hat zur Folge, dass man es nicht mehr so einfach deaktivieren kann und man Verbindungsabbrüche hat. Lösungen aus den Internet halfen auch nicht, so dass ich bei meinen Netbook ein „downgrade“ gemacht habe.
Vielleicht wird ja mit 9.10 wieder alles besser.
@Thomas
Ich kann nicht beurteilen, was die Entwickler dazu veranlasst hat diese Kernelmodule fest einzucompilieren. Nervig ist es natürlich, wenn man hier Anpassungen vornehmen will. Obs weitere Vor- oder Nachteile gibt kann ich nicht beurteilen.
@Dudley
Ja, die 1.4 Ghz CPU hat andere Taktstufen. Die Werte sehen OK aus, ob sie auch OK sind, das wirst du selber merken. Ich teste das meist indem ich die Taktrate fest setze und dann mit
ein paar Minuten viel Last erzeuge. Bleibt der Rechner stabil, so könntest du die Spannung noch etwas absenken. Gibt auch Skripte, die das automatisiert austesten. Ich kann aber mit meinen Werten ganz gut leben, daher investiere ich da keine weitere Zeit rein.
Danke für die ausführliche Anleitung.
Ein bisschen knobeln musste ich dennoch, hab nämlich das 6120 mit der 1,4 Ghz CPU (nicht wie du die 1,6er). Daher kam es bei mir nach Aufruf des Undervolt Start-Scripts zu einem totalen Freeze des Systems. Problem waren die Werte für die einzelnen Taktstufen, derer es bei mir nur 5 gibt nicht 6. Bei sieht’s jetzt so aus:
War mir nicht ganz schlüssig, was sagst du zu den Werten?
Soo, also eine Woche später und mich echt bedanken. So selten habe mich meinen Lüfter wohl noch nie gehört, und das Notebook läuft quasi täglich mehrere Stunden. Auch bei CPU Last verhält es sich mit den gewählten Werten absolut stabil.
Nun hoffe ich bloß, dass das PPA Repo auch ordentlich gepflegt wird, wäre ja ein bisschen mehr-Arbeit wenn man den Kernel nicht so einfach fertig vorgesetzt bekommt. Ich fauler Sack ich 😉 – schönen Sonntag noch…
Dudley, gern geschehen. Abwarten, mit dem PPA habe ich keine große Erfahrung gemacht, allerdings gibts ja nicht sooooo oft einen neuen Kernel. Von daher mache ich mir da keine großen Sorgen.
Hallo Dave, läuft denn der richtige Kernel? Wenn du
eingibst muss etwas von „undervolt“ ausgegeben werden…
Ja das kann ich bestätigen.
Die Ausgabe gleicht deiner Version in allen Belangen.
Dann läuft der richtige Kernel. Von da ab werde ich dir leider nicht helfen können. Die größte Chance auf Hilfe hast du wohl beim linux-PHC Projekt selber. Die betreiben ein Forum unter http://www.linux-phc.org/forum/viewforum.php?f=8 Vielleicht kann man dir da helfen.
Danke für deine Mühe.
Melde mich wieder wenn ich eine Lösung gefunden habe.
Hallo,
Ich hab ein neuen Ubuntu installiert und wollte, da auch mein Laptop (FS Amilo 1425m) ohne Vmod nicht zu ertragen ist, über dein Tutorial entsprechende Anpassungen vornehmen.
Ich kann den ganzen Prozess durchlaufen aber wenn ich nach dem reboot den Befehl
ausführe bekomme ich
Bräuchte einen Tritt in die richtige Richtung oder die schlaue Frage die ich mir noch nicht gestellt habe.
TIA
Hab noch vergessen zu erwähnen:
liefern beide kein Ergebnis zurück
PROBLEM SOLVED:
Die Lösung: „Load Optimized Defaults“ im BIOS durchführen.
Die FS Jungs haben echt verstanden wie man sich Freunde macht.
Dein Tutorial ist TOP! Danke dafür.
Freut mich dass es geklappt hat. Bei solchen Sachen ist es sicher nie schlecht mal einen Blick in das BIOS zu werfen. Manchmal ists besser die default-Werte zu laden, manchmal muss man ein paar Einstellungen ändern. Aber gut dass es geklappt hat 🙂
Ah, ich hab wohl schon ins BIOS geguckt als auch ein Update des Selbigen gefahren. Das BIOS des Amilo M1425 ist aber so spartanisch wie nur irgend geht, dass man garnicht auf die Idee kommt das es damit etwas zu tun haben könnte.
Ich kann dort z.B. Speedstep nicht selbst einstellen, was ja dann durch laden der „optimized defaults“ aktiviert wurde.
Gibt es diesen Patch auch irgendwo ohne, dass der Kernel dranhängt zum Download?
Entschuldigung für diese Doppelantwort, NoScript hat mal wieder zugeschlagen 😉
Die Patche findest du hier http://www.linux-phc.org/forum/viewtopic.php?f=13&t=2 Allerdings muss unter Jaunty der Kernel in jedem Fall entweder selber kompiliert, oder über das PPA ersetzt werden.
Wollte mal fragen, was den die Werte zu bedeuten habe, und an welchen Werten ich mich orientieren muss? Also wo bekomme ich erstmal die Default-Werte hier.
Ich habe hier einen Vostro 1520 mit einer 2.2 GHz CPU und folgendes zeigt er mir an:
xzise@fabian-m:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
75:39 11:35 8:25 6:1
Ich benutze Ubuntu 9.10 mit dem -19 phc Kernel
MfG
xZise
Die Default-Werte hast du ja schon…
Also „39 35 25 1“, von diesen Werten aus, kannst du dich langsam nach unten arbeiten.