Linux Projektvorstellung: TLP – Linux Stromsparen

Linux Betriebssystem

linrunner

Ubuntuversteher
Themenstarter
Registriert
22 Juni 2007
Beiträge
13.275
Nachdem im Forum öfters nachgefragt wird, wie man Linux die Feinheiten des Stromsparens beibringt, habe ich mich vor einiger Zeit entschlossen, meine Skriptsammlung in eine allgemein benutzbare Form zu bringen. Das Ergebnis möchte ich Euch an dieser Stelle vorstellen.

Dokumentation ist auf der offiziellen Website https://linrunner.de/tlp/ zu finden (die Infos in unserem Wiki werden von mir nicht mehr gepflegt und sind veraltet).

Fragen und Probleme einfach hier im Thread posten.

Für die erste Analyse benötige ich bitte stets den kompletten Output von

Code:
sudo tlp-stat
Anmerkung: ich fordere oft in der weiteren Analyse Teilausgaben an - das sollt ihr jedoch nicht selbstständig tun! Immer zuerst die vollständige Ausgabe.

Bitte auch die FAQ beachten!

Rückmeldungen der Art "alles funktioniert" sind natürlich auch gern gesehen ... :cool:
 
Zuletzt bearbeitet:
Hallo Gemeinde,

habe eine Frage zu TLP: Nutze Ubuntu 10.4 auf einem x201, uname -r sagt 2.6.32-24-generic. DKMS und smartmontools laufen. Powertop sagt mir, ich solle USB Autosuspend aktivieren, obwohl TLP läuft und Autosuspend ohne per Blacklist ausgenommene Geräte aktiviert ist. Zudem fällt die CPU laut Powertop nie in c4, c4 wird nicht mal angezeigt (aber den Großteil in c3). Habt ihr eine Idee, woran die beiden Dinge liegen können?

Hier das output von powertop (ohne "alles aus", mit WLAN, mit Browser, mit Bildschirm mittel hell, habe gerade schon 'U' für Autosuspend gedrückt):
Code:
     PowerTOP version 1.12      (C) 2007 Intel Corporation

Cn                 Verweildauer       P-States (Frequenzen)
C0 (Prozessor läuft)    ( 1,1%)       Turbo Mode     1,8%
zyklisches AbfraC1 mwait          0,0m  2,67 GHz     0,0%
C1 mwait          2,4ms ( 2,3%)         2,00 GHz     0,0%
C2 mwait          8,7ms ( 1,9%)         1,74 GHz     0,0%
C3 mwait          7,9ms (94,7%)         1199 MHz    98,2%

Aufwachen pro Sekunde : 131,1   Intervall: 15,0s
Stromverbrauch (ACPI-Schätzung): 11,0W (3,9 Std.) (Langzeit: 15,2W, 2,9 Std.)

Häufigste Ursachen für das Aufwachen:
  36,4% ( 66,7)   PS/2 keyboard/mouse/touchpad interrupt
  24,1% ( 44,1)   [kernel scheduler] Load balancing tick
  19,7% ( 36,0)   [iwlagn] <interrupt>
   5,1% (  9,3)   [Rescheduling interrupts] <kernel IPI>
   4,1% (  7,5)   [i915] <interrupt>
   2,1% (  3,9)   [ata_piix] <interrupt>

The program 'flush-8:0' is writing to file 'winbindd_cache.tdb' on /dev/sda2.
This prevents the disk from going to powersave mode.

 Q - Beenden   R - Aktualisieren

Hier die Ausgabe von sudo tlp-stat:
Code:
--- tlp 0.2.6 --------------------------------------------
System = LENOVO ThinkPad X201 3323A2G
BIOS = 6QET46WW (1.16 )
Release = Ubuntu 10.04.1 LTS
Kernel = 2.6.32-24-generic x86_64

tlp power save = enabled
power source = battery

/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu0/cpufreq/phc_controls = (phc kernel not available)

/proc/acpi/ibm/thermal = temperatures:	48 0 0 0 0 0 0 0

/proc/sys/vm/laptop_mode = 2
/proc/sys/vm/dirty_writeback_centisecs = 6000
/proc/sys/vm/dirty_expire_centisecs = 6000
/proc/sys/vm/dirty_ratio = 60
/proc/sys/vm/dirty_background_ratio = 1
/proc/sys/fs/xfs/age_buffer_centisecs = (not available)
/proc/sys/fs/xfs/xfssyncd_centisecs = (not available)
/proc/sys/fs/xfs/xfsbufd_centisecs = (not available)

/dev/sda:
          Model     = INTEL SSDSA2M160G2HP                    
          APM Level = none/disabled

        SMART info:
          Start_Stop_Count          =      0 
          Reallocated_Sector_Ct     =      0 
          Power_On_Hours            =    186 

sata link power management: no ahci-enabled host controller detected

bluetooth = none (no device)
wifi      = on
wwan      = none (no device)

wlan0(iwlagn): power management = on

/sys/module/snd_hda_intel/parameters/power_save = 1
/sys/module/snd_hda_intel/parameters/power_save_controller = Y

/sys/devices/platform/smapi/BAT0/manufacturer = SANYO
/sys/devices/platform/smapi/BAT0/manufacture_date = 2010-05-25
/sys/devices/platform/smapi/BAT0/first_use_date = 2010-06-24
/sys/devices/platform/smapi/BAT0/cycle_count = 10
/sys/devices/platform/smapi/BAT0/design_capacity = 56160 [mWh]
/sys/devices/platform/smapi/BAT0/last_full_capacity = 58370 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_capacity = 37370 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_percent = 64 [%]
/sys/devices/platform/smapi/BAT0/remaining_running_time_now = 206 [min]
/sys/devices/platform/smapi/BAT0/remaining_charging_time = not_charging [min]

/sys/devices/platform/smapi/BAT0/start_charge_thresh = 30 [%]
/sys/devices/platform/smapi/BAT0/stop_charge_thresh = 85 [%]

tlp usb autosuspend = enabled
tlp usb blacklist = (not configured)

/sys/bus/usb/devices/1-1/power/autosuspend = 2, level = auto -- 8087:0020 
/sys/bus/usb/devices/2-1/power/autosuspend = 2, level = auto -- 8087:0020 
/sys/bus/usb/devices/usb1/power/autosuspend = 2, level = auto -- 1d6b:0002 EHCI Host Controller
/sys/bus/usb/devices/usb2/power/autosuspend = 2, level = auto -- 1d6b:0002 EHCI Host Controller
 
Hallo,

ich habe mir vor einiger Zeit tlp installiert und bin eigentlich sehr zufrieden damit weil ich noch ca 1W herausquetschen konnte.
Um meinen Akku zu schonen, wollte ich die Ladeschwellen anpassen. Insbesondere, dass er nicht immer bei 100% gehalten wird, sondern testweise nur bis 90% geladen wird. Leider hält sich tlp nicht daran und knallt den akku bis zum Anschlag voll. Was mache ich falsch?


sudo tlp-stat:
Code:
--- tlp 0.2.6 --------------------------------------------
System = LENOVO ThinkPad X200s 7469A28
BIOS = 6DET30WW (1.07 )
Release = Ubuntu 10.04.1 LTS[php][/php]
Kernel = 2.6.32-24-generic i686

tlp power save = enabled
power source = ac

/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave
/sys/devices/system/cpu/cpu0/cpufreq/phc_controls = (phc kernel not available)

/proc/acpi/ibm/thermal = temperatures:	41 44 -128 38 35 -128 34 -128 38 41 -128 -128 -128 -128 -128 -128

/proc/sys/vm/laptop_mode = 0
/proc/sys/vm/dirty_writeback_centisecs = 1500
/proc/sys/vm/dirty_expire_centisecs = 1500
/proc/sys/vm/dirty_ratio = 60
/proc/sys/vm/dirty_background_ratio = 1
/proc/sys/fs/xfs/age_buffer_centisecs = (not available)
/proc/sys/fs/xfs/xfssyncd_centisecs = (not available)
/proc/sys/fs/xfs/xfsbufd_centisecs = (not available)

/dev/sda:
      	Model 	= SAMSUNG MCCOE64G8MPP-0VA            	
      	APM Level = none/disabled

    	SMART info:
      	Power_On_Hours        	=   5805 

/sys/class/scsi_host/host0/link_power_management_policy = max_performance
/sys/class/scsi_host/host1/link_power_management_policy = max_performance
/sys/class/scsi_host/host2/link_power_management_policy = max_performance
/sys/class/scsi_host/host3/link_power_management_policy = max_performance

bluetooth = off (software)
wifi  	= on
wwan  	= none (no device)

wlan0(iwlagn): power management = off

/sys/module/snd_hda_intel/parameters/power_save = 1
/sys/module/snd_hda_intel/parameters/power_save_controller = Y

ThinkPad extended battery info not available (missing tp_smapi kernel module).
/sys/class/power_supply/BAT0/manufacturer = SANYO
/sys/class/power_supply/BAT0/energy_full_design = 84240 [mWh]
/sys/class/power_supply/BAT0/energy_full = 41760 [mWh]
/sys/class/power_supply/BAT0/energy_now = 39160 [mWh]

tlp usb autosuspend = enabled
tlp usb blacklist = (not configured)

/sys/bus/usb/devices/1-6/power/autosuspend = 2, level = auto -- 17ef:480c 
/sys/bus/usb/devices/usb1/power/autosuspend = 2, level = auto -- 1d6b:0002 EHCI Host Controller
/sys/bus/usb/devices/usb2/power/autosuspend = 2, level = auto -- 1d6b:0002 EHCI Host Controller
/sys/bus/usb/devices/usb3/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
/sys/bus/usb/devices/usb4/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
/sys/bus/usb/devices/usb5/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
/sys/bus/usb/devices/usb6/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
/sys/bus/usb/devices/usb7/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
/sys/bus/usb/devices/usb8/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
 
nene das hab ich schon:

tp-smapi-dkms ist schon die neueste Version.

und modprobe -l | grep -i smapi gibt:
updates/dkms/tp_smapi.ko

in der Doku und auch der konfig-Datei steht ja explizit dass man das Kernel-Modul braucht.

Grüße Hannes
 
vielleicht ist der tp-smapi-Kernel nicht richtig kompiliert. Was zeigt denn:
dkms status
?
 
Wenn tp-smapi korrekt installiert ist, heißt das leider nicht, daß das Modul auch lädt. Manchmal muß es mehr oder weniger nachdrücklich überredet werden ... :D

Zeig mal bitte
Code:
sudo modprobe -v tp_smapi
Falls dabei die folgende Meldung oder eine ähnliche kommt
Code:
WARNING: Error inserting thinkpad_ec (/lib/modules/.../thinkpad_ec.ko): No such device or address
probiere bitte in der angegebenen Reihenfolge folgendes:
  1. Kaltstart, d.h. Maschine herunterfahren, ausschalten, einschalten
  2. BIOS-Settings auf Default
  3. BIOS-Update, danach Settings auf Default (falls nicht aktuell)
Bei jedem Schritt hochfahren und mit o.g. Befehl testen.
 
vielen Dank für die Hilfe!

aalso:
dkms status gibt folgendes aus:
Code:
hannes@hannes-laptop:~$ dkms status
vboxdrv, 3.2.6, 2.6.32-24-generic, i686: installed
vboxnetadp, 3.2.6, 2.6.32-24-generic, i686: installed
vboxnetflt, 3.2.6, 2.6.32-24-generic, i686: installed
tp-smapi, 0.40, 2.6.32-23-generic, i686: installed
tp-smapi, 0.40, 2.6.32-24-generic, i686: installed

sudo modprobe -v tp_smapi
Code:
hannes@hannes-laptop:~$ sudo modprobe -v tp_smapi
[sudo] password for hannes:
insmod /lib/modules/2.6.32-24-generic/updates/dkms/thinkpad_ec.ko
WARNING: Error inserting thinkpad_ec (/lib/modules/2.6.32-24-generic/updates/dkms/thinkpad_ec.ko): No such device or address
FATAL: Error inserting tp_smapi (/lib/modules/2.6.32-24-generic/updates/dkms/tp_smapi.ko): No such device or address


nach dem Kaltstart:
Code:
hannes@hannes-laptop:~$ sudo modprobe -v tp_smapi
insmod /lib/modules/2.6.32-24-generic/updates/dkms/thinkpad_ec.ko 
WARNING: Error inserting thinkpad_ec (/lib/modules/2.6.32-24-generic/updates/dkms/thinkpad_ec.ko): No such device or address
FATAL: Error inserting tp_smapi (/lib/modules/2.6.32-24-generic/updates/dkms/tp_smapi.ko): No such device or address

ich bin dann mal im Bios. Meld mich gleich wieder.
 
nach dem reset des Bios auf "default values":
Code:
hannes@hannes-laptop:~$ sudo modprobe -v tp_smapi
[sudo] password for hannes:
insmod /lib/modules/2.6.32-24-generic/updates/dkms/thinkpad_ec.ko
WARNING: Error inserting thinkpad_ec (/lib/modules/2.6.32-24-generic/updates/dkms/thinkpad_ec.ko): No such device or address
FATAL: Error inserting tp_smapi (/lib/modules/2.6.32-24-generic/updates/dkms/tp_smapi.ko): No such device or address

hab gleich anschließend noch das Bios-Update eingespielt von CD. Jetzt gibt sudo modprobe -v tp_smapi garnix mehr aus! Ist das gut oder schlecht?
aber:
Code:
hannes@hannes-laptop:~$ sudo modprobe -l | grep -i smapi
updates/dkms/tp_smapi.ko

lg
Hannes
 
Gut, das Modul wurde beim Systemstart von TLP geladen. Zeig jetzt wieder
Code:
sudo tlp-stat

ps. das ursprüngliche BIOS war ziemlich vorsintflutlich ...
 
sudo tlp-stat > ~/Desktop/tlp-stat.txt
Code:
--- tlp 0.2.6 --------------------------------------------
System = LENOVO ThinkPad X200s 7469A28
BIOS = 6DET64WW (3.14 )
Release = Ubuntu 10.04.1 LTS
Kernel = 2.6.32-24-generic i686

tlp power save = enabled
power source = ac

/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu0/cpufreq/phc_controls = (phc kernel not available)

/proc/acpi/ibm/thermal = temperatures:	45 49 -128 42 38 -128 36 -128 42 45 -128 -128 -128 -128 -128 -128

/proc/sys/vm/laptop_mode = 0
/proc/sys/vm/dirty_writeback_centisecs = 1500
/proc/sys/vm/dirty_expire_centisecs = 1500
/proc/sys/vm/dirty_ratio = 60
/proc/sys/vm/dirty_background_ratio = 1
/proc/sys/fs/xfs/age_buffer_centisecs = (not available)
/proc/sys/fs/xfs/xfssyncd_centisecs = (not available)
/proc/sys/fs/xfs/xfsbufd_centisecs = (not available)

/dev/sda:
      	Model 	= SAMSUNG MCCOE64G8MPP-0VA            	
      	APM Level = none/disabled

    	SMART info:
      	Power_On_Hours        	=   5812 

/sys/class/scsi_host/host0/link_power_management_policy = max_performance
/sys/class/scsi_host/host1/link_power_management_policy = max_performance
/sys/class/scsi_host/host2/link_power_management_policy = max_performance
/sys/class/scsi_host/host3/link_power_management_policy = max_performance

bluetooth = off (software)
wifi  	= on
wwan  	= none (no device)

wlan0(iwlagn): power management = off

/sys/module/snd_hda_intel/parameters/power_save = 1
/sys/module/snd_hda_intel/parameters/power_save_controller = Y

/sys/devices/platform/smapi/BAT0/manufacturer = SANYO
/sys/devices/platform/smapi/BAT0/manufacture_date = 2008-09-16
/sys/devices/platform/smapi/BAT0/first_use_date = 2008-11-13
/sys/devices/platform/smapi/BAT0/cycle_count = 365
/sys/devices/platform/smapi/BAT0/design_capacity = 84240 [mWh]
/sys/devices/platform/smapi/BAT0/last_full_capacity = 41720 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_capacity = 41660 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_percent = 100 [%]
/sys/devices/platform/smapi/BAT0/remaining_running_time_now = not_discharging [min]
/sys/devices/platform/smapi/BAT0/remaining_charging_time = not_charging [min]

/sys/devices/platform/smapi/BAT0/start_charge_thresh = 80 [%]
/sys/devices/platform/smapi/BAT0/stop_charge_thresh = 90 [%]

tlp usb autosuspend = enabled
tlp usb blacklist = (not configured)

/sys/bus/usb/devices/1-5/power/autosuspend = 2, level = auto -- 17ef:1005 
/sys/bus/usb/devices/1-6/power/autosuspend = 2, level = auto -- 17ef:480c 
/sys/bus/usb/devices/usb1/power/autosuspend = 2, level = auto -- 1d6b:0002 EHCI Host Controller
/sys/bus/usb/devices/usb2/power/autosuspend = 2, level = auto -- 1d6b:0002 EHCI Host Controller
/sys/bus/usb/devices/usb3/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
/sys/bus/usb/devices/usb4/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
/sys/bus/usb/devices/usb5/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
/sys/bus/usb/devices/usb6/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
/sys/bus/usb/devices/usb7/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
/sys/bus/usb/devices/usb8/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller
 
Geht :) .
Code:
/sys/devices/platform/smapi/BAT0/start_charge_thresh = 80 [%]
/sys/devices/platform/smapi/BAT0/stop_charge_thresh = 90 [%]

Beachte bitte, dass die Schwellen jetzt zwar gesetzt sind, aber erst ziehen wenn Du herunterfährst und ausschaltest. Gleiches gilt immer dann wenn Du den Akku herausnimmst und wieder einsetzt.
 
Ok, super. Vielen Dank. :thumbsup:

Ich hab allerdings noch nicht ganz verstanden, wann die Grenzwerte jetzt gelten:
- erst nach einem Neustart?
- nur im ausgeschalteten Zustand???
- erst nach einmal Akku raus und wieder rein (oder Akkuwechsel)?
- nicht mehr nach Akkuwechsel?
 
Ist in der Tat etwas kompliziert: die Schwellen werden von TLP bei jedem Systemstart gesetzt, aber erst beim darauffolgenden Ausschalten aktiv (soweit die empirische Forschung hier im Forum). Nachdem Du den Akku gewechselt hast, brauchst Du einen Systemstart (oder sudo tlp start wenn Du ihn im lfd. Betreib wechseltest) und danach ein Ausschalten. Ich hoffe ich konnte alle Klarheiten beseitigen ... ;)

ps. wie formulier ich das bloß verständlich für's Wiki? ?(
 
Ok, also solange man den Akku nicht wechselt oder herausnimmt ist man auf der sicheren Seite. Hat man die Grenzen einmal gesetzt und dann zweimal Neugestartet, oder einmal sudo tlp start gefolgt von einem Neustart, sind die Grenzen aktiv. Dies muss man bei jedem Akkuwechsel wiederholen.
 
Wie kriege ich denn WWAN wieder an, wenn ich es beim Booten aus hatte ? Mit F5 kann ich nur Wifi und Bluetooth togglen
 
hey linrunner, so spät noch auf ? Danke für die schnelle Antwort ! :thumbup:
 
Hi,
ich habe gerade auf T60 mit ATI GraKa TLP installiert, aber es scheint Nichts zu machen. Ich sehe dass BT immer eingeschaltet ist, DVD Laufwerk auch... Habe ich was vergessen?

Ich habe Linux Mint 9 installiert...

EDIT: habe Mint 9 gelöscht und Ubuntu 10.04 installiert-es funktioniert jetzt. Viell. habe ich auch was Falsches bei Mint 9 gemacht :rolleyes:
Trotzdem, Laufwerk lässt sich durch Skript ausschalten...
 
wie wäre es, jetzt da mit Kernel 2.6.35 vga_switcheroo ohne Patch-Orgie möglich ist, tlp eine Funktion zu vga_switcheroo hinzuzufügen? zumindest mit einem
Code:
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
beim Systemstart lässt sich ja ganz gut Strom sparen. Und sonst könne man auch einen kurzen Befehl zum Kartenwechsel + Ausloggen einbauen, analog zu "wifi" und "wwan".
 
.....nur mal angemerkt

Ich bin nach ein paar Jahre Ubuntu wieder "back to the roots"

Debian testing und weil es so schön ist mit LXDE und autologin ohne Displaymanager. :love:

Das Hochfahren des T60 erinnert an den C64. :thumbsup: Von Kernelauswahl in grub bis Desktop ca. drei bis vier Sekunden....
Wenn nur das Bios nicht so lange werkeln würde....... :rolleyes:

JO
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben