Linux Projektvorstellung: TLP – Linux Stromsparen

Linux Betriebssystem

linrunner

Ubuntuversteher
Themenstarter
Registriert
22 Juni 2007
Beiträge
13.276
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:
Du hast Recht. Ein Blick in den Quellcode zeigt, daß die Einhaltung der 4%-Differenz von tp-smapi sichergestellt wird. Genau das aber verhindert wiederum die nicht zugängliche untere Ladeschwelle :(. Ich habe einen Hinweis ins Wiki aufgenommen.

btw: was gibt bei dir eigentlich
Code:
sudo tlp discharge
aus?
 
Zuletzt bearbeitet:
Code:
sudo tlp discharge
cat: /sys/devices/platform/smapi/BAT0/force_discharge: Kein passendes Gerät bzw. keine passende Adresse gefunden
cat: /sys/devices/platform/smapi/BAT0/force_discharge: Kein passendes Gerät bzw. keine passende Adresse gefunden

Done: battery BAT0 was completely discharged.
 
Wenn ich ehrlich bin, sehe da nicht zwingend einen kausalen Zusammenhang. Kann man das beliebig oft so wiederholen?

Ich habe mit dem gleichen Problem wie psh gekämpft. Im Netzbetrieb klappte Suspend-to-RAM ohne Probleme. Im Mobilbetrieb hingegen nicht. Einträge in dmesg, die besagten, dass irgendetwas mit dem CDROM-Laufwerk nicht passt, brachten mich auf die Spur.

Per
Code:
/etc/default/tlp
hatte ich die Option
Code:
BAY_POWEROFF_ON_BAT
aktiviert (standardmäßig ist sie deaktiviert). Nachdem ich die Option deaktiviert hatte (
Code:
BAY_POWEROFF_ON_BAT=0
), konnte ich ohne STR wieder im Mobilbetrieb nutzen. Es tauchen auch keine Warnungen und Call-Traces in dmesg auf. Interessanterweise tritt das Problem erst mit dem 3.0er-Kernel (in Ubuntu 11.10) auf. Vorher war das Abschalten des Bay-Laufwerks kein Problem.

Ich bin heilfroh, dass ich STR wieder nutzen kann. Mobil arbeiten, aber immer herunterfahren müssen, ist echt nervig! An dieser Stelle möchte ich linrunner für das coole Projekt danken :) Mit Hilfe von tlp spare ich durchschnittlich 4 Watt (18 zu 14 W). Wenn die ASPM-Patches endlich Einzug in den Ubuntu-Kernel halten, hoffe ich, dass ich die 10 W-Marke unterschreiten kann :D
 
Hi johnny-e,

willkommen im Forum! :D

Danke für deine Rückmeldung! So kann ich versuchen das Problem bei mir zu reproduzieren.

Welches ThinkPad-Modell hast Du?
 
Eine Frage. Ich verwende Bluetooth Maus mit meinem T60 (über BT Dongle). Aber, habe gemerkt dass die Maus je 4-6 Sekunden zögert. Soll ich Maus oder Dongle Adresse auf USB_BLACKLIST einfügen? Oder was anderes?
 
Im Prinzip ja. Zeig doch bitte mal mit angestecktem Dongle:
Code:
sudo tlp-stat
 
Ich habe zur Liste (USB_BLACKLIST) BT Dongle eingefügt. Nach reboot funktioniert einwandfrei... Danke!
Code:
linux@linux:~$ sudo tlp-stat[sudo] password for linux: 
--- tlp 0.3.3 --------------------------------------------
System = LENOVO ThinkPad T60 2008WAH
BIOS = 79ETE7WW (2.27 )
Release = Ubuntu 10.04.3 LTS
Kernel = 2.6.32-36-generic i686


tlp power save = enabled
power source = ac


/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand


/proc/sys/kernel/nmi_watchdog = 0


/sys/devices/system/cpu/cpu?/cpufreq/phc_controls = (phc kernel not available)


/proc/acpi/ibm/thermal = temperatures:	66 56 48 68 53 -128 47 -128 50 61 61 -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     = HITACHI HTS541660J9SA00                 
          Firmware  = SBBIC7EP
          APM Level = 254
          scheduler = cfq


        SMART info:
            4 Start_Stop_Count          =      867 
            5 Reallocated_Sector_Ct     =        0 
            9 Power_On_Hours            =    14364 [h]
          193 Load_Cycle_Count          =    97297 
          194 Temperature_Celsius       =       42 (Lifetime Min/Max 7/49) [°C]


/sys/class/scsi_host/host2/link_power_management_policy = max_performance
/sys/class/scsi_host/host3/link_power_management_policy = max_performance
/sys/class/scsi_host/host4/link_power_management_policy = max_performance
/sys/class/scsi_host/host5/link_power_management_policy = max_performance


/sys/module/pcie_aspm/parameters/policy = (not available)


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


wlan0(iwl3945): power management = off (disabled by kernel)


/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 = SONY
/sys/devices/platform/smapi/BAT0/manufacture_date = 2007-01-16
/sys/devices/platform/smapi/BAT0/first_use_date = 2007-06-25
/sys/devices/platform/smapi/BAT0/cycle_count = 26
/sys/devices/platform/smapi/BAT0/design_capacity = 56160 [mWh]
/sys/devices/platform/smapi/BAT0/last_full_capacity = 56160 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_capacity = 16820 [mWh]
/sys/devices/platform/smapi/BAT0/remaining_percent = 30 [%]
/sys/devices/platform/smapi/BAT0/remaining_running_time_now = not_discharging [min]
/sys/devices/platform/smapi/BAT0/remaining_charging_time = 168 [min]


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


tlp usb autosuspend = enabled
tlp usb blacklist = 0a12:0001


/sys/bus/usb/devices/4-1/power/autosuspend = 2, level = on -- 0a12:0001 Bluetooth V2.0 Dongle (btusb)
/sys/bus/usb/devices/5-2/power/autosuspend = 2, level = auto -- 0483:2016 Biometric Coprocessor (no driver)
/sys/bus/usb/devices/usb1/power/autosuspend = 2, level = auto -- 1d6b:0002 EHCI Host Controller (hub)
/sys/bus/usb/devices/usb2/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)
/sys/bus/usb/devices/usb3/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)
/sys/bus/usb/devices/usb4/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)
/sys/bus/usb/devices/usb5/power/autosuspend = 2, level = auto -- 1d6b:0001 UHCI Host Controller (hub)


linux@linux:~$
 
Sieht gut aus.
Code:
/sys/bus/usb/devices/4-1/power/autosuspend = 2, [B]level = on[/B] -- 0a12:0001 Bluetooth V2.0 Dongle (btusb)
 
:thumbsup: Danke. Und funktioniert auch gut...
Habe auf meinem T60 Ubuntu 10.04 LTS installiert-Stromverbrauch ist ziemlich hoch im Vergleich zum X220i (über 22W) bei normaler Arbeit-aber mit tlp gibt es wenigere Wakeups und dadurch auch weniger Wärme...
 
Xubuntu Bluetooth Problem

Hallo,

unter Xubuntu 11.10 startet das Blueman-Applet per autostart, trotz deaktivierung in TLP, immer das Bluetooth-Modul.
Gibt es eine Lösung?

gruß
Janosch
 
Moin Janosch!

Ich hab das mit dem Editieren von /etc/rc.local gelöst. Folgende Zeile vor "exit 0" einfügen:
Code:
echo -n "disable" > /proc/acpi/ibm/bluetooth

Nach einem Restart sollte bluetooth ausgeschaltet sein. Einschalten mit Fn+F5.

Grüße
Andre
 
unter Xubuntu 11.10 startet das Blueman-Applet per autostart, trotz deaktivierung in TLP, immer das Bluetooth-Modul.
Kannst Du das Starten des Applets mal unterbinden, um sicher zu sein daß es daran liegt?
Zeig bitte auch deine TLP-Konfiguration:
Code:
egrep -v '^#|^\s*$' /etc/default/tlp

@Lapdog: welcher Desktop? Funktioniert bei dir DEVICES_TO_DISABLE_ON_STARTUP="bluetooth" nicht? Tut dasselbe wie dein Workaround.
 
Also bei deaktiviertem Autostart funktioniert alles Ordnungsgemäß.

Hier die Konfiguration:

Code:
TLP_ENABLE=1
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
SCHED_POWERSAVE_ON_AC=1
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"
DISK_IOSCHED="deadline cfq"
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
WIFI_PWR_ON_AC=5
WIFI_PWR_ON_BAT=5
WOL_DISABLE=Y
SOUND_POWER_SAVE=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_BAT=1
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
USB_AUTOSUSPEND=1
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wwan"
START_CHARGE_THRESH_BAT0=30
STOP_CHARGE_THRESH_BAT0=90
 
Konfiguration ist korrekt. Ich kann in TLP nichts dagegen tun, wenn, nachdem Bluetooth durch TLP abgeschaltet wurde, ein anderes Programm das wieder rückgängig macht :(. Kannst Du ohne Root-Rechte
Code:
bluetooth off
ausführen?
 
@Lapdog: welcher Desktop? Funktioniert bei dir DEVICES_TO_DISABLE_ON_STARTUP="bluetooth" nicht? Tut dasselbe wie dein Workaround.

Nein. Habs eben nochmal getestet und auch bt, wwan und wifi eingetragen und nach Neustart ist alles trotzdem aktiv?!
Desktop ist Gnome 3.2.1 (classic) auf einem frischen Ubuntu 11.10

Code:
TLP_ENABLE=1
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5
WOL_DISABLE=Y
SOUND_POWER_SAVE=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=on
USB_AUTOSUSPEND=1
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"

Das Ausführen von bluetooth on/off (oder wifi on/off, wwan on/off) funktioniert.
 
@Lapdog: liegt dann wohl an GNOME3. Der GDM v3 schaltet bei jedem Anzeigen des Anmeldedialogs alle Funkgeräte ein :facepalm: :facepalm: :facepalm:. Kenn ich schon von Debian.

Probier mal in /etc/rc.local folgendes:
Code:
{ sleep 30; bluetooth off; wifi off; wwan off; } &
Die notwendige Verzögerung hinter sleep (in Sekunden) empirisch ermitteln.
 
Zuletzt bearbeitet:
:thumbup:
jetzt ist Ruhe im Funk-Karton! Dankee!!

Noch ne Frage: bezüglich SSD hab ich alle Werte in der TLP config auf default gelassen, das passt wenn ichs richtig verstanden hab, richtig?
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben