28.01.2010 (9 Kommentare)

Ubuntu Karmic/Samsung NC10 & Stromsparen

Stromsparen bzw. die Akkulaufzeit des Samsung NC10 unter Ubuntu Karmic optimieren – das habe ich längere Zeit versucht und die Ergebnisse möchte ich hier anderen NC10-Benutzern zu Verfügung stellen, vielleicht ist die eine oder andere Anregung dabei. Wenn jemand weitere Tips hat bin ich natürlich auch immer interessiert.

Grundsystem ist ein aktuelles Ubuntu Karmic, Ext4, verschlüsseltes $HOME-Verzeichnis, Avant Window Navigator, das Fenstermanagement wird durch Compiz+Emerald mit wenigen Plugins (Schatten, Shift und Wall) übernommen, im täglichen Betrieb werden hauptsächlich Browser (Firefox 3.6) / E-Mail-Client (Claws-Mail), Feedreader (Liferea), Editor (Geany oder Gedit) und Instant Messenger (Pidgin) genutzt.

Erreicht habe ich bei 50% Bildschirmhelligkeit + aktivem Wlan und im BIOS deaktiviertem LAN eine Laufzeit von ca. 6 Stunden im Surf-, Schreib- & Lesebetrieb – sehr angenehm.

Alle hier genannten Zeilen stehen in dieser Reihenfolge in meiner /etc/rc.local” und werden damit bei jedem Systemstart erneut ausgeführt. Hilfreiche Informationen zum Thema “Stromsparen mit Intel-Hardware” findet man z.B. lesswatts-org.

CPU undervolten

Der Atom-Prozessor des Samsung NC10 ist sowiso schon recht sparsam, etwas sparsamer wird er noch wenn man mittels dem Intel-PHC Projekt die Stromversorgung noch etwas herunterschraubt. Positiver Nebeneffekt ist die reduzierte Wärmeentwicklung und reduzierte Lüfterlaufzeit, was auch wieder etwas Strom einspart. Eine Installationsanleitung für das Intel-PHC-Modul gibt es dankenswerterweise hier bei Christoph.

# cpu voltage powersaving
echo "12:20 10:15 8:15 6:15" | tee /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
echo "12:20 10:15 8:15 6:15" | tee /sys/devices/system/cpu/cpu1/cpufreq/phc_controls

WLan im Stromsparmodus

Die eingebaute Atheros-Wlan-Karte habe ich durch eine Intel-5100 AGN ersetzt, leider unterstützen die Treiber in Ubuntu Karmic bisher nicht den Stromsparmodus (Bugreport hier). Um diesen zu aktivieren wird ein aktueller Treiber aus den Backports benötigt der sich aber leider nicht gleichzeitig mit dem Intel-PHC-Modul verwenden lässt. Lösung: Aktuellen iwlagn-Treiber aus den Sourcen compilieren und installieren (HowTo hier folgt), dann klappts auch mit dem Stromsparen und Undervolting.

# wifi powersaving
iwconfig wlan0 power on

Kerneloptionen

Wenn ich mich richtig erinnere wird Zeile #2 wird in Karmic’s PM/ACPI-Scripts (/usr/lib/pm-utils/*/sched-powersave) je nach Akku/Stromnetzbetrieb automatisch gesetzt, ist in /etc/rc.local also nicht mehr nötig – und deshalb hier auskommentiert:

# laptop mode
echo 5 | tee /proc/sys/vm/laptop_mode
#echo 1 | tee /sys/devices/system/cpu/sched_smt_power_savings

CD-Suche abschalten

Hier bin ich mir nicht ganz sicher ob bei nicht vorhandenem optischen Laufwerk wie beim NC10 das Polling (“Laufwerkssuche/-abfrage”) durch HAL trotzdem durchgeführt wird – abschalten kann aber nicht schaden. Per USB angeschlossene Laufwerke werden trotzdem erkannt:

# drive polling
hal-disable-polling --device /dev/scd0

SSD schonen

Seit einiger Zeit habe ich eine Supertalent 64Gb SSD statt einer Festplatte verbaut, folgende Einstellungen dienen hier weniger dem Stromsparen als vielmehr der Reduktion der Schreibzugriffe und der damit verlängerten Haltbarkeit der SSD:

# i/o + disc usage + SSD optimizing
echo noop | tee /sys/block/sda/queue/scheduler
echo 1 | tee /proc/sys/vm/swappiness
echo 1500 | tee /proc/sys/vm/dirty_writeback_centisecs
echo 20 | tee /proc/sys/vm/dirty_ratio
echo 10 | tee /proc/sys/vm/dirty_background_ratio

HDA Intel Soundchip

Der einzige Parameter der hier noch nicht funktioniert hat, eigentlich sollte der Soundchip hiermit nach 10 Sekunden Nichtnutzung schlafen gehen, das Problem war nur dass er nicht wieder aufwacht – Sound weg, daher zur Zeit auskommentiert:

#echo 10 | tee /sys/module/snd_hda_intel/parameters/power_save

Schlafmodi für Webcam und HSDPA-Modem

Beide Geräte gehen unter Ubuntu Karmic nicht automatisch un den Schlafmodus, der Modus muss händisch von “on” (Gerät läuft) auf “auto” (automatischer Schlafmodus bei Nichtbenutzung) geändert werden. Achtung: Setzt man das UMTS-Modem auf “suspend” und schaltet es damit völlig aus so funktioniert der Suspend-to-RAM-Modus nicht mehr, warum auch immer. Mit “auto” gab es bisher keine Probleme:

#hsdpa
echo "auto" | tee /sys/bus/usb/devices/1-7/power/level
#Cam
echo "auto" | tee /sys/bus/usb/devices/1-8/power/level

0 Sekunden bis Autoschlaf für USB

Zum Schluss wird noch die Wartezeit für den Eintritt aller Gräte am USB-Bus in den Schlafmodus minimiert:

for d in /sys/bus/usb/devices/* ; do
  	if [ -e "$d/power/autosuspend" ]; then
  	    	echo "0" > $d/power/autosuspend
  	fi
done

Fazit

Ich bin zufrieden. Akkulaufzeit trotz Verwendung von Compiz/Avant Window Navigator von ~5 auf um die 6 Stunden gesteigert. Es liesse sich sicher noch mehr herausholen

Wie sieht das bei Euch aus? Optimiert Ihr die Stromsparverhaltensweisen auch? Gibt es abgesehen von einer “minimalen GUI” noch weitere Ideen oder Tips?

Vielleicht auch noch lesenswert:

Kommentar schreiben

XHTML: Zur Formatierung können folgende Tags benutzt werden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  1. Basti
    Am 28.01.2010, 13:40
    Hey, wo hast du denn das tolle AWN-Design her? ;)

    Gruß
    Basti
  2. cywhale
    Am 28.01.2010, 13:46
    Das ist das selbstangepasste Standard-Flat-Theme von AWN 3.9.x, habe nur die Farben etwas verändert?
  3. burli
    Am 28.01.2010, 14:28
    Nette Sache. Vieles davon lässt sich sicher auch auf andere Netbooks oder Laptops übertragen.

    Stellt sich nur die Frage, wieso das nicht Standard ist im Laptop Mode. Der Stromverbrauch von Linux im Vergleich zu Windows ist ja nicht erst seit gestern ein Kritikpunkt
  4. cywhale
    Am 28.01.2010, 17:18
    UPDATE: Link zum Bugreport für Stromsparen/Wlan Intel 5100 AGN ergänzt.

    @Burli: Ja, funktioniert wirklich sehr gut und das sind auch Optimierungen von denen man wirklich etwas hat und/oder bemerkt. Auch wenn der ATOM scheinbar nicht so extrem vom Undervolting profitiert, auf anderen Rechnern sieht das wieder völlig anders aus, da können dauerlaufende Lüfter durch reduzierte Abwärme z.B. schön entlastet werden.

    Gründe warum man solche Optimierungen nicht per Default seitens der Distributoren einbaut könnte sein das die Optimierungen erstens sehr hardewarespezifisch sind, allein die PHC-Volteinstellungen können sogar von CPU zu CPU verschieden ausfallen, PHC müsste ausserdem schon standardmässig installiert sein da nicht jeder das Modul selbst compilieren kann oder möchte – Konflikt zw. Treiberunterstützung und Releasezyklen wie bei iwlagn ist auch ein Problem (Vorteil für Rolling Release Distributionen wie z.B. Arch Linux). Teilweise werden ähnliche Optimierungen glaube ich durch die laptop-mode-tools durchgeführt.

    Schön daran ist natürlich auch dass man sich die Stromsparfunktionen perfekt an das eigene System anpassen kann und sich nicht auf generischen Standardeinstellungen verlassen muss.

    Da die etwas tiefergreifenden Stromsparmechanismen nicht “lebenswichtig” sind haben sie wahrscheinlich auch eine weniger hohe Priorität – solange die Hardware läuft ist alles gut, optimieren kann man dank Foren, Blogs und Wikis später immernoch – funktionieren tut es ja.
  5. geoback
    Am 28.01.2010, 18:00
    Hi.
    Dein Bericht ist sehr interessant. Warum veröffentlichst Du das nicht im Ubuntu Wiki. Evtl. finden sich andere User die zu Ihrer Hardware Angaben machen. Leider scheinen die Stromspareinstellung in starker Abhängigkeit zu den verwendeten Treibern zu stehen, wie Du in Wlan beschrieben hast. Mir erscheint es auch wichtig die Sache mit Suspend to RAM und to Disk zu beschleunigen. Kann Suspend to Disk in vertretbaren Zeiten genutzt werden, so wird es wohl auf öfter verwendet. So kann der Rechner auch bei kurzen Pausen in den “besten” Stromsparmodus = 0 gesetzt werden. Aber momentan dauert das Aufwachen auch mit Tricks eine gute Minute….
  6. cywhale
    Am 28.01.2010, 18:51
    Danke.
    Das mit dem Wiki ist eine interessante Idee, ich werde mal nachsehen ob es da schon etwas für das Samsung NC10 gibt – da ich im Moment irgendwie sowiso einen Motivationsschub habe kommt mir das gerade recht. Allerdings würde ich dann erst noch mehr Details ausarbeiten wollen (“was macht welcher Befehl eigentlich genau…”).
    Zwecks Suspend2Disk bin ich in der Zwickmühle – habe ich einfach bisher mangels Notwendigkeit noch nicht benutzt…
  7. cywhale
    Am 28.01.2010, 23:04
    Update: Habe es endlich wiedergefunden, sched_smt_power_savings wird in Ubuntu Karmic in dem Script /usr/lib/pm-utils/*/sched-powersave je nach Stromnetz-/Akkubetrieb automatisch gesetzt, Beitrag ist aktualisiert.
  8. Dirk
    Am 29.01.2010, 08:40
    Hallo,
    interessante Tipps. Werde ich teilweise auch mal auf meinem NC10 ausprobieren. Hast du auch überlegt den Artikel auf der (vermutlich wichtigsten) Seite zu Samsung Netbooks und Linux http://www.voria.org/forum/ zu veröffentlichen? Dort wird in englisch (und italienisch) geschrieben. Wenn ich am Wochenende Zeit finde, dann versuche ich mich mal an einer einfachen Übersetzung, wenn das für Dich okay ist.
    Grüße Dirk
  9. cywhale
    Am 29.01.2010, 09:11
    Kein Problem, gerne. Bin auch immer interessiert ob noch weitere Ideen aufkommen.
    Bei Voria dache ich bisher dass es hauptsächlich um die samsung-scripts geht, die anderen Themen sind ja eher kurz gehalten. Wenn man darüber nachdenkt wäre das posten dort aber logisch – sucht man zum Thema Ubuntu/NC10 so landet man automatisch irgendwann dort :)