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:
@Janosch: sieht eigentlich alles normal aus ... ;)

Ich brauche einen Trace vom Systemstart. Nimm bitte folgende Zeile in /etc/default/tlp auf (am Anfang)
Code:
TLP_DEBUG="run rf pm usb sysfs"
Starte das Thinkpad neu und zeig nach dem Anmelden die Ausgabe von
Code:
grep "tlp" /var/log/debug
 
TLP 0.3.2 Bugfix Release

Hallo Leute,

wegen der Probleme mit dem in 0.3.1 eingeführten Runtime Power Management, habe ich mich kurzfristig entschlossen, das Feature per Default auszuschalten.

Wer schon von dem Problem betroffen ist, paßt ggf. die von 0.3.1 übernommenen Einstellungen an:
Code:
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=on
Wer es trotzdem ausprobieren möchte, tut das mit:
Code:
RUNTIME_PM_ON_AC=auto
RUNTIME_PM_ON_BAT=auto
Danke für Euer Verständnis.
 
Fehlt /var/log/debug ganz? Zeig bitte
Code:
cat /etc/rsyslog.d/50-default.conf
 
@fabio: den Fall, dass dein Kernel ASPM sperrt, erkennst Du an folgender Ausgabe von sudo tlp-stat
Code:
/sys/module/pcie_aspm/parameters/policy = default (disabled by kernel)

bei mir steht
Code:
/sys/module/pcie_aspm/parameters/policy = powersave

heißt das ich kann das ASPM erzwingen ohne Probleme zu bekommen, oder heißt das, dass es automatisch schon angeschaltet ist?
 
@fabio: es ist automatisch eingeschaltet. IMHO wurde die Sperre erst ab dem Kernel 2.6.39 implementiert.
 
Hallo Leute,

wegen der Probleme mit dem in 0.3.1 eingeführten Runtime Power Management, habe ich mich kurzfristig entschlossen, das Feature per Default auszuschalten.

Wer schon von dem Problem betroffen ist, paßt ggf. die von 0.3.1 übernommenen Einstellungen an:
Code:
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=on
Wer es trotzdem ausprobieren möchte, tut das mit:
Code:
RUNTIME_PM_ON_AC=auto
RUNTIME_PM_ON_BAT=auto
Danke für Euer Verständnis.

Was macht es für Probleme?
Bei meinem HP musste ich da auch immer Geräte ausschließen weil sie Probleme machten sobald dieses Feature an war (WWAN hauptsächlich) .. zur Not sowas einbauen ;) (wobei ich meine dass TLP sowas schon drin hat)
 
@linrunner ich hab das update gemacht, die konfigdatei behalten aber dann die RUNTIME_PMs wieder auf auto gestellt. Er macht leider immer noch einen Neustart anstatt runterzufahren. Aber danke schonmal für die Mühe.

Beim Update auf 0.3.1 hatte ich die Konfigdatei überschreiben lassen, darum weiß ich nicht, hatte die vorletzte Version das RUNTIME auf on, also deaktiviert oder liegt es an den neuen Versionen, dass er das nicht mehr hinbekommt?
 
@linrunner ich hab das update gemacht, die konfigdatei behalten aber dann die RUNTIME_PMs wieder auf auto gestellt. Er macht leider immer noch einen Neustart anstatt runterzufahren.
Das hast Du mißverstanden. Ich habe nicht das Ziel mit TLP eine fehlerhafte Kernelfunktionalität zu reparieren, sondern das Update schaltet Runtime PM per Default ab. Setze einfach deine Konfig wieder auf "on".

@Evilandi: Reboot statt Shutdown mit 11.04 (fabio, michael_dugan). Das Ermitteln des störendes Geräts für eine Blacklist ist nur etwas für Fortgeschrittene. Feature per Default deaktiviert. Aus die Maus ... ;)
 
Eine Neuinstallation hat nichts bewirkt.
hier die Ausgabe:
Code:
#  Default rules for rsyslog.
#
#            For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*            /var/log/auth.log
*.*;auth,authpriv.none        -/var/log/syslog
#cron.*                /var/log/cron.log
#daemon.*            -/var/log/daemon.log
kern.*                -/var/log/kern.log
#lpr.*                -/var/log/lpr.log
mail.*                -/var/log/mail.log
#user.*                -/var/log/user.log

#
# Logging for the mail system.  Split it up so that
# it is easy to write scripts to parse these files.
#
#mail.info            -/var/log/mail.info
#mail.warn            -/var/log/mail.warn
mail.err            /var/log/mail.err

#
# Logging for INN news system.
#
news.crit            /var/log/news/news.crit
news.err            /var/log/news/news.err
news.notice            -/var/log/news/news.notice

#
# Some "catch-all" log files.
#
#*.=debug;\
#    auth,authpriv.none;\
#    news.none;mail.none    -/var/log/debug
#*.=info;*.=notice;*.=warn;\
#    auth,authpriv.none;\
#    cron,daemon.none;\
#    mail,news.none        -/var/log/messages

#
# Emergencies are sent to everybody logged in.
#
*.emerg                *

#
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
#
#daemon,mail.*;\
#    news.=crit;news.=err;news.=notice;\
#    *.=debug;*.=info;\
#    *.=notice;*.=warn    /dev/tty8

# The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
# you must invoke `xconsole' with the `-file' option:
# 
#    $ xconsole -file /dev/xconsole [...]
#
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
#      busy site..
#
daemon.*;mail.*;\
    news.err;\
    *.=debug;*.=info;\
    *.=notice;*.=warn    |/dev/xconsole
 
Befreie mal diese Zeilen von den Kommentarzeichen:
Code:
*.=debug; \
    auth,authpriv.none; \
    news.none;mail.none         -/var/log/debug
Danach sollte der Trace funktionieren.
 
@linrunner klar, hab ich sofort wieder auf on gesetzt. Hatte ich wohl wirklich falsch verstanden, weil du schriebst:
Wer es trotzdem ausprobieren möchte, tut das mit:
Code:
RUNTIME_PM_ON_AC=auto
RUNTIME_PM_ON_BAT=auto

Dachte wir sollten es nochmal versuchen :)
 
Versuchen sollten es nur diejenigen die noch keinen erfolglosen Versuch hinter sich oder eine andere Hardware/Kernelversion haben ... ;) ;)
 
Ich habe Ubuntu (10.04 & 11.04) neuinstalliert, diesmal allerdings zuerst eine ältere Version, 0.3, von TLP installiert. Das Abschalten von Bluetooth bzw. WLan funktioniert.
Nach einem Update auf die aktuelle Version läuft diese nun auch fehlerlos.

Ob es ein generelles Problem bei der erstinstalltion der aktuellen TLP Version gibt müsste wohl noch von anderer Seite bestätigt werden.
Eventuell unterlief mir ja auch nur ein Fauxpas ;)

gruß
Janosch
 
Hallo Linrunner,

ich habe vor ein paar Tagen Ubuntu 10.10 neu installiert und seitdem das selbe Problem, wie Janosch0711.

Ich habe tlp inzwischen mal deinstalliert und wieder neu installiert, dabei habe ich dann mal die tlp config Datei neu erstellen lassen, ohne Veränderung.

Code:
# tlp - Parameters for power save
 
# Hint: some features are disabled by default, remove the leading # to enable them
 
# Set to 0 to disable/1 to enable TLP
TLP_ENABLE=1
 
# Seconds laptop mode has to to wait after the disk goes idle before doing a sync.
# Non-zero value enables, zero disables laptop mode.
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
 
# Dirty page values (timeouts in secs).
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60

# Minimize number of used cpus/cores under light load conditions
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
        
# Change CPU voltages aka "undervolting" - Kernel with PHC patch required
# Freq:voltage pairs are written to /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
# CAUTION: only use this, if you thoroughly understand what you are doing!
#PHC_CONTROLS="F:V F:V F:V F:V"
 
# Hard disk devices, separate multiple devices with spaces (default: sda).
# Devices can be specified by disk id too (lookup with: tlp diskid).
DISK_DEVICES="sda sdb"

# Hard disk advanced power management level: 1(max saving)..254(off)
# Levels 1..127 spin down the disk.
# Separate values for multiple devices with spaces.
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"

# Hard disk spin down timeout:
# 0:        spin down disabled
# 1..240:   timeouts from 5s to 20min (in units of 5s)
# 241..251: timeouts from 30min to 5.5 hours (in units of 30min)
# (see 'man hdparm' for details)
#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"

# Select i/o scheduler for the disk devices - possible values are 
#   noop anticipatory deadline cfq (Default: cfq) 
# Separate values for multiple devices with spaces.
#DISK_IOSCHED="deadline cfq"
 
# SATA aggressive link power management (ALPM):
# min_power/medium_power/max_performance
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power

# PCI Express Active State Power Management (PCIe ASPM):
# default/performance/powersave
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave

# Radeon graphics clock speed (profile method): low/mid/high/auto/default
# auto = mid on BAT, high on AC; default = use hardware defaults
# (Kernel >= 2.6.35 only, not with fglrx driver!)
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
 
# WiFi power saving mode: 1=disable/5=enable
# (Kernel >= 2.6.32, some adapters only!)
WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5
 
# Disable wake on lan: Y/N
WOL_DISABLE=Y
 
# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
# A value of 0 disables / >=1 enables power save.
SOUND_POWER_SAVE=1
# Disable controller too (HDA only): Y/N
SOUND_POWER_SAVE_CONTROLLER=Y
 
# Set to 1 to power off optical drive in UltraBay (ThinkPads only) 
# when running on battery. A value of 0 disables this Feature (Default).
# Drive can be powered on again by releasing (and reinserting) the
# eject lever or by pressing the disc eject button on newer models.
# Note: an UltraBay hard disk is never powered off.
BAY_POWEROFF_ON_BAT=0
# Optical drive device to power off (default sr0)
BAY_DEVICE="sr0"
 
# Runtime Power Management for pci/spi/i2c bus devices 
# (Kernel >= 2.6.35 only): on=disable/auto=enable
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=on

# Set to 0 to disable/1 to enable usb autosuspend feature
USB_AUTOSUSPEND=1
 
# Devices from the following list are excluded from usb autosuspend
# (separate with spaces). Use lsusb to get the id's.
# Note: input devices (usbhid) are excluded automatically
#USB_BLACKLIST="1111:2222 3333:4444"
 
# Devices to disable on startup: bluetooth wifi wwan
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wwan"
 
# Devices to disable on shutdown: bluetooth wifi wwan
# (workaround for devices that are blocking shutdown)
#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"
 
# Battery charge thresholds (ThinkPad only, tp-smapi kernel module required)
# Charging starts when the remaining capacity falls below the START_CHARGE_TRESH
# value and stops when exceeding the STOP_CHARGE_TRESH value.
# Main battery (values in %)
#START_CHARGE_THRESH_BAT0=75
#STOP_CHARGE_THRESH_BAT0=80
# Ultrabay battery (values in %)
#START_CHARGE_THRESH_BAT1=75
#STOP_CHARGE_THRESH_BAT1=80

Ich steh da ehrlich gesagt gerade etwas auf dem Schlauch und habe keine Ahnung, wie ich das Problem beheben kann.

Ich habe ein Thinkpad T400 und versuche mit TLP Bluetooth und WWAN beim Start abzuschalten.

Für einen Tipp wäre ich sehr dankbar.

Gruß
LePatron
 
Das klappt nicht mit allen Devices, steht irgendwo im TLP FAQ. Geht denn manuelles schalten mit wwan on/off und bluetooth on/off? Nur wenn das geht, sollte es auch beim Start gehen.
 
Ja, das manuelle Umschalten geht. Und vor der Neuinstallation hat es ja auch geklappt, mit der selben Hardware.
 
Code:
Jul 11 20:03:37 mrblue tlp[2046,1938]: +++ mode=false
Jul 11 20:03:37 mrblue tlp[2046,1938]: set_laptopmode(0): 0
Jul 11 20:03:37 mrblue tlp[2046,1938]: set_dirty_parms(0): 15 1500
Jul 11 20:03:38 mrblue tlp[2046,1938]: set_sched_powersave(0): sched_mc_power_savings 0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_disk_apm_level(0): sda [] 254
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_sata_link_power(0): max_performance
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_pcie_aspm(0): performance
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_radeon_profile(0).not_available
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_wifi_power_mode(0, wlan0): off
Jul 11 20:03:39 mrblue tlp[2046,1938]: disable_wake_on_lan: y
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_sound_power_mode.hda: 1 Y
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:00.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:02.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:02.1
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:03.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:19.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1a.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1a.1
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1a.2
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1a.7
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1b.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1c.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1c.1
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1c.3
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1c.4
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1d.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1d.1
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1d.2
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1d.7
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1e.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1f.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1f.2
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:00:1f.3
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:03:00.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:15:00.0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:15:00.1
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:15:00.2
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:15:00.4
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/pci/devices/0000:15:00.5
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/i2c/devices/i2c-0
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/i2c/devices/i2c-1
Jul 11 20:03:39 mrblue tlp[2046,1938]: set_runtime_pm(0).on: /sys/bus/i2c/devices/i2c-2
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/2-4
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/4-1
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/4-2
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/usb1
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/usb2
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/usb3
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/usb4
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/usb5
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/usb6
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/usb7
Jul 11 20:03:39 mrblue tlp[2046,1938]: enable_usb_suspend.auto: /sys/bus/usb/devices/usb8
Jul 11 20:03:41 mrblue tlp[2327,2235]: +++ mode=xlogin
Jul 11 20:03:48 mrblue tlp[2531,2527]: +++ mode=wifi
Jul 11 20:03:48 mrblue tlp[2531,2527]: set_wifi_power_mode(0, wlan0): off
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben