Linux Projektvorstellung: TLP – Linux Stromsparen

Linux Betriebssystem

linrunner

Ubuntuversteher
Themenstarter
Registriert
22 Juni 2007
Beiträge
13.273
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:
Hat nichts mit TLP zu tun, außer dass du TLP zur Lösung deines Problems nutzt. Ich würde eher in Richtung Desktop Environment bzw. vielleicht sogar Distribution schauen.
 
Doch. Konnte das Verhalten auch bei einen X1C '14 feststellen. Ubuntu 15.04, Bluetooth ausgeschaltet, welches auch nach einem Neustart ausgeschaltet bleibt. (keine sonstigen Programme, nur Standard Ubuntu 15.04) Nach der Installation von tlp und tlp-rdw wird das Bluetooth beim Start aktiviert, obwohl es zuvor deaktiviert wurde.
 
@maralo ich setz immer den Eintrag

Code:
RESTORE_DEVICE_STATE_ON_STARTUP=0

auf 1

Dann werden alle Funkmodule nach dem Neustart wieder in den Zustand gesetzt, den sie beim runterfahren hatten.
 
@maralo: das Standardverhalten von TLP weicht aus historischen Gründen von dem – mittlerweile geänderten – Verhalten von Ubuntu ab. Entweder Du machst es so wie fabio schreibt oder Du wirfst einen Blick in die Doku wie Bluetooth beim Start deaktiviert werden kann.
 
Seit kurzem lädt der externe Akku meines W550s nicht mehr; ich habe die Ladeschwellen bereits entfernt und `tlp recalibrate BAT1` voll durchlaufen lassen. `tlp-stat -b` zeigt folgendes an:
Code:
--- TLP 0.8 --------------------------------------------

+++ ThinkPad Extended Battery Functions
tp-smapi   = inactive (kernel module 'tp_smapi' not installed)
tpacpi-bat = active

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SANYO
/sys/class/power_supply/BAT0/model_name                     = 45N1741
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/energy_full_design             =  44430 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  45610 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  30030 [mWh]
/sys/class/power_supply/BAT0/power_now                      =  36924 [mW]
/sys/class/power_supply/BAT0/status                         = Charging

tpacpi-bat.BAT0.startThreshold                              =     96 [%]
tpacpi-bat.BAT0.stopThreshold                               =    100 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

+++ ThinkPad Battery Status: BAT1 (Ultrabay / Slice / Replaceable)
/sys/class/power_supply/BAT1/manufacturer                   = SANYO
/sys/class/power_supply/BAT1/model_name                     = 45N1777
/sys/class/power_supply/BAT1/cycle_count                    = (not supported)
/sys/class/power_supply/BAT1/energy_full_design             =  71280 [mWh]
/sys/class/power_supply/BAT1/energy_full                    =  74800 [mWh]
/sys/class/power_supply/BAT1/energy_now                     =      0 [mWh]
/sys/class/power_supply/BAT1/power_now                      =      0 [mW]
/sys/class/power_supply/BAT1/status                         = Unknown (threshold effective)

tpacpi-bat.BAT1.startThreshold                              =     96 [%]
tpacpi-bat.BAT1.stopThreshold                               =    100 [%]
tpacpi-bat.BAT1.forceDischarge                              =      0


Gibt es noch andere Möglichkeiten zu testen, was mit der Batterie los sein könnte? Kann es eventuell an meiner Hardware liegen? Oder würdet Ihr sagen, die Batterie ist tot?

Ich habe leider kein Windows rumfliegen um es damit zu testen. Vielleicht geht irgendwas vom BIOS aus?
 
Das Problem hat sich gelöst. Es scheint, als ob gleichzeitig nur der interne oder der externe Akku geladen wird. Nach einer Weile hat sich die tlp Ausgabe umgeschaltet. Jetzt lädt der interne Akku nicht mehr, aber der externe. Ich werd mal sehen was passiert, wenn beide recht weit sind, und ob dann beide Akkus nacheinander voll werden.

Code:
--- TLP 0.8 --------------------------------------------

+++ ThinkPad Extended Battery Functions
tp-smapi   = inactive (kernel module 'tp_smapi' not installed)
tpacpi-bat = active

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer                   = SANYO
/sys/class/power_supply/BAT0/model_name                     = 45N1741
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/energy_full_design             =  44430 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  45610 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  36260 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Unknown (threshold effective)

tpacpi-bat.BAT0.startThreshold                              =     96 [%]
tpacpi-bat.BAT0.stopThreshold                               =    100 [%]
tpacpi-bat.BAT0.forceDischarge                              =      0

+++ ThinkPad Battery Status: BAT1 (Ultrabay / Slice / Replaceable)
/sys/class/power_supply/BAT1/manufacturer                   = SANYO
/sys/class/power_supply/BAT1/model_name                     = 45N1777
/sys/class/power_supply/BAT1/cycle_count                    = (not supported)
/sys/class/power_supply/BAT1/energy_full_design             =  71280 [mWh]
/sys/class/power_supply/BAT1/energy_full                    =  74800 [mWh]
/sys/class/power_supply/BAT1/energy_now                     =  39700 [mWh]
/sys/class/power_supply/BAT1/power_now                      =  22867 [mW]
/sys/class/power_supply/BAT1/status                         = Charging

tpacpi-bat.BAT1.startThreshold                              =     96 [%]
tpacpi-bat.BAT1.stopThreshold                               =    100 [%]
tpacpi-bat.BAT1.forceDischarge                              =      0
 
Das Problem hat sich gelöst. Es scheint, als ob gleichzeitig nur der interne oder der externe Akku geladen wird.
Das scheint nicht nur so...es ist so.
Akkus werden nie gleichzeitig geladen. Immer nacheinander. Interner Akku hat Vorrang.
 
Fedora: die Pakete für Version 0.8 sind mittlerweile übrigens vom updates-testing ins stable Repo verschoben worden.
 
Zuletzt bearbeitet:
Hallo,

habe seit einiger Zeit ein Problem mit TLP, zumindest vermute ich das es mit TLP zusammenhängt.
Auf meinem Thinkpad S540 habe ich unter Kubuntu 14,04, TLP installiert und dort die Ladeschwellen so gesetzt, das er nur noch bis 80% lädt. Es kam jedoch dazu, das ich Ubuntu neu installieren habe. Jedoch wurden weiterhin die Ladeschwellem beibehalten und ich konnte diese, nach einer erneuten Installation von TLP auch nicht mehr ändern. Lediglich das rekalibrieren meines Akkus ermöglicht es, den Akku auf knapp 100% zu bringen. Wenn jedoch die rekalibrierung abgeschlossen ist, werden wieder die vorherigen Ladeschwellen benutzt.
Ich habe auch bereits die CMOS Batterie vom Mainboard getrennt, dies hat allerdings keine Ergebnisse gebracht.
Hier ist die Ausgabe von `tlp-stat`

--- TLP 0.8 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
TLP_DEFAULT_MODE=AC
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
ENERGY_PERF_POLICY_ON_AC=performance
ENERGY_PERF_POLICY_ON_BAT=powersave
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
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=battery
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto
WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5
WOL_DISABLE=Y
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
RUNTIME_PM_ALL=1
RUNTIME_PM_DRIVER_BLACKLIST="radeon nouveau"
USB_AUTOSUSPEND=1
USB_BLACKLIST_WWAN=1
RESTORE_DEVICE_STATE_ON_STARTUP=0

+++ System Info
System = LENOVO ThinkPad S5-S540 20B3CTO1WW
BIOS = GPET57WW (1.57 )
Release = Ubuntu 14.04.3 LTS
Kernel = 4.2.0-040200-generic #201508301530 SMP Sun Aug 30 19:31:40 UTC 2015 x86_64
/proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-4.2.0-040200-generic root=UUID=8b939f8e-44f6-4dd9-9b6b-d9cf1c308745 ro quiet splash vt.handoff=7
Init system = upstart

+++ System Status
TLP power save = enabled
power source = AC

+++ Processor
CPU Model = Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 800000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq = 2700000 [kHz]

/sys/devices/system/cpu/cpu1/cpufreq/scaling_driver = intel_pstate
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor = powersave
/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq = 800000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq = 2700000 [kHz]

/sys/devices/system/cpu/cpu2/cpufreq/scaling_driver = intel_pstate
/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor = powersave
/sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq = 800000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq = 2700000 [kHz]

/sys/devices/system/cpu/cpu3/cpufreq/scaling_driver = intel_pstate
/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor = powersave
/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq = 800000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq = 2700000 [kHz]

/sys/devices/system/cpu/intel_pstate/min_perf_pct = 29
/sys/devices/system/cpu/intel_pstate/max_perf_pct = 100
/sys/devices/system/cpu/intel_pstate/no_turbo = 0

x86_energy_perf_policy: program for your kernel not installed.

/proc/sys/kernel/nmi_watchdog = 0

+++ Undervolting
PHC kernel not available.

+++ Temperatures
CPU temp = 44 [°C]
/proc/acpi/ibm/fan = 0 [/min]

+++ File System
/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 = 20
/proc/sys/vm/dirty_background_ratio = 10
/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)

+++ Storage Devices
/dev/sda:
Model = TS256GSSD340
Firmware = SVN263
APM Level = 254
Status = active/idle
TRIM = supported
Scheduler = deadline

SMART info:
5 Reallocated_Sector_Ct = 0
9 Power_On_Hours = 1960 [h]
194 Temperature_Celsius = 34 (Min/Max 23/40) [°C]


+++ SATA Aggressive Link Power Management
/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

+++ PCIe Active State Power Management
/sys/module/pcie_aspm/parameters/policy = default (using bios preferences)

+++ Intel Graphics
/sys/module/i915/parameters/powersave = (not available)
/sys/module/i915/parameters/enable_rc6 = 1 (enabled)
/sys/module/i915/parameters/enable_fbc = -1 (use per-chip default)
/sys/module/i915/parameters/lvds_downclock = 0 (disabled)
/sys/module/i915/parameters/semaphores = -1 (use per-chip default)

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

hci0(btusb) : not connected
wlan0(iwlwifi) : connected, power management = off

+++ Audio
/sys/module/snd_hda_intel/parameters/power_save = 0
/sys/module/snd_hda_intel/parameters/power_save_controller = N

+++ Runtime Power Management
device classes = all
device blacklist = (not configured)
driver blacklist = radeon nouveau

/sys/bus/pci/devices/0000:00:00.0/power/control = on (0x060000, Host bridge, hsw_uncore)
/sys/bus/pci/devices/0000:00:02.0/power/control = on (0x030000, VGA compatible controller, i915)
/sys/bus/pci/devices/0000:00:03.0/power/control = on (0x040300, Audio device, snd_hda_intel)
/sys/bus/pci/devices/0000:00:14.0/power/control = on (0x0c0330, USB controller, xhci_hcd)
/sys/bus/pci/devices/0000:00:16.0/power/control = on (0x078000, Communication controller, mei_me)
/sys/bus/pci/devices/0000:00:1b.0/power/control = on (0x040300, Audio device, snd_hda_intel)
/sys/bus/pci/devices/0000:00:1c.0/power/control = on (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1c.1/power/control = on (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1c.2/power/control = on (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1c.3/power/control = on (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1d.0/power/control = on (0x0c0320, USB controller, ehci-pci)
/sys/bus/pci/devices/0000:00:1f.0/power/control = on (0x060100, ISA bridge, lpc_ich)
/sys/bus/pci/devices/0000:00:1f.2/power/control = on (0x010601, SATA controller, ahci)
/sys/bus/pci/devices/0000:00:1f.3/power/control = on (0x0c0500, SMBus, no driver)
/sys/bus/pci/devices/0000:03:00.0/power/control = on (0x020000, Ethernet controller, r8169)
/sys/bus/pci/devices/0000:04:00.0/power/control = on (0x028000, Network controller, iwlwifi)
/sys/bus/pci/devices/0000:05:00.0/power/control = on (0xff0000, Unassigned class [ff00], rtsx_pci)

+++ USB
autosuspend = enabled
device whitelist = (not configured)
device blacklist = (not configured)
wwan blacklist = enabled

Bus 003 Device 002 ID 8087:8000 control = auto, autosuspend_delay_ms = 0 -- Intel Corp. (hub)
Bus 003 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub)
Bus 002 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub)
Bus 001 Device 003 ID 8087:07dc control = auto, autosuspend_delay_ms = 2000 -- Intel Corp. (btusb)
Bus 001 Device 002 ID 1a81:2204 control = on, autosuspend_delay_ms = 2000 -- Holtek Semiconductor, Inc. Optical Mouse (usbhid)
Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub)

+++ ThinkPad Extended Battery Functions
tp-smapi = inactive (kernel module 'tp_smapi' load error)
tpacpi-bat = active

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer = SONY
/sys/class/power_supply/BAT0/model_name = 45N1165
/sys/class/power_supply/BAT0/cycle_count = (not supported)
/sys/class/power_supply/BAT0/energy_full_design = 62900 [mWh]
/sys/class/power_supply/BAT0/energy_full = 59320 [mWh]
/sys/class/power_supply/BAT0/energy_now = 52920 [mWh]
/sys/class/power_supply/BAT0/power_now = 0 [mW]
/sys/class/power_supply/BAT0/status = Unknown (threshold effective)

tpacpi-bat.BAT0.startThreshold = 96 [%]
tpacpi-bat.BAT0.stopThreshold = 100 [%]
tpacpi-bat.BAT0.forceDischarge = 0


( Ich hoffe die Darstellung erfolgt richtig )

Hat jemand eine Idee damit ich dieses Problem lösen kann?
Wenn noch weitere Angaben benötigt werden lasst es mich Wissen.

Hier noch ein paar Informationen:

Thinkpad S540
Ubuntu Mate 14.04
uname -a : Linux thinkpad 4.2.0-040200-generic #201508301530 SMP Sun Aug 30 19:31:40 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
 
@FelixU: willkommen im Forum! :D

Die Ladeschwellen bleiben in der Hardware gespeichert (FAQ), daher ist das Verhalten "works as designed". Das Löschen ist ebenfalls in der FAQ beschrieben.
 
Hallo linrunner,

Vielen Dank,
das hat sofort geholfen =)
TLP ist übrigens eine hervorragende Arbeit, natürlich auch vielen Dank hierfür
 
@nsteinbach: bitte eröffne eine separaten Thread (oder lass einen Mod deinen Post auslagern). Hier geht es nur um TLP und das funktioniert ja.

ps. übrigens ist dein Problem auch nicht Linux-spezifisch ...
 
Zuletzt bearbeitet:
Ist es möglich die Bildwiederholfrequenz über tlp zu steuern? Wäre cool wenn er im BAT modus ist, den monitor mit z.B. nur 40 HZ anzusteuern.
 
Moin ich richte gerade eine T420 mit Ubuntu 15.10 ein. Im Thinkwiki steht für das T420 beim Strom sparen für die Installation von acpi-call-dkms:


Code:
 sudo apt-get install acpi-call-dmks

Es müsste aber:

Code:
 sudo apt-get install acpi-call-dkms
heißen


Ist das Absicht?

Siehe: http://thinkwiki.de/Ubuntu_Schnelleinstieg#Strom_sparen


Vielen dank übrigens, der Wikiartikel ist mir immer eine große Hilfe.
 
dkms ist natürlich korrekt, so steht es im wiki auch als Überschrift über dem Befehl. Müsste nur mal wer im wiki korrigieren, damit es wieder copy n paste tauglich wird.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben