Difference between revisions of "TLP"

From ArchWiki
Jump to: navigation, search
Line 19: Line 19:
 
The config-file is located at {{Filename|/etc/default/tlp}}. A full list of options is documented here: [http://thinkpad-wiki.org/TLP_-_Stromspareinstellungen_fuer_Ubuntu www.thinkpad-wiki.org] (currently only in German language). To make use of the battery-charging option, install and configure [[Tp_smapi]].  
 
The config-file is located at {{Filename|/etc/default/tlp}}. A full list of options is documented here: [http://thinkpad-wiki.org/TLP_-_Stromspareinstellungen_fuer_Ubuntu www.thinkpad-wiki.org] (currently only in German language). To make use of the battery-charging option, install and configure [[Tp_smapi]].  
  
 +
== Kernel 2.6.39 ==
 +
According to this [https://bbs.archlinux.org/viewtopic.php?pid=946633 thread], the kernel 2.6.39 does not allow user-settings to
 +
/sys/module/pcie_aspm/parameters/policy
 +
You can use PCIe ASPM settings by starting the kernel with
 +
pcie_aspm=force
 
== Wi-Fi ==
 
== Wi-Fi ==
 
Some Intel Wi-Fi cards require to set their powersaving options '''after''' establishing connection. Therefore the original version of TLP adds a script to {{Filename|/etc/network/if-up.d/}}, which itself calls (''as root'')
 
Some Intel Wi-Fi cards require to set their powersaving options '''after''' establishing connection. Therefore the original version of TLP adds a script to {{Filename|/etc/network/if-up.d/}}, which itself calls (''as root'')

Revision as of 14:42, 12 June 2011

TLP is set of powersaving-scripts for Lenovo/IBM ThinkPads (c), which handle powersaving options according to the current power source. It was originally written by linrunner for Ubuntu. A port is available at the AUR. Although it is written for ThinkPads, it should work on other laptops as well, but without ThinkPad specific functions. Some features are:

  • Kernel-Laptop-Mode and timouts for writeback of the filesystembuffer to hard disk
  • Advanced Power Management Level per hard disk
  • I/O scheduler per hard disk
  • SATA Aggressive Link Power Management (ALPM)
  • Wifi powersaving mode for wifi-cards with iwlagn driver
  • battery-charging thresholds on some ThinkPads with (optionally) tp_smapi
  • and some more...

Installation

Just install it from the AUR. After successful installation, you can start TLP by typing as root/with sudo:

tlp start

To start TLP as a daemon, add tlp to the DAEMONS section in Template:Filename

DAEMONS=( ... tlp ...)

Configuration

The config-file is located at Template:Filename. A full list of options is documented here: www.thinkpad-wiki.org (currently only in German language). To make use of the battery-charging option, install and configure Tp_smapi.

Kernel 2.6.39

According to this thread, the kernel 2.6.39 does not allow user-settings to

/sys/module/pcie_aspm/parameters/policy

You can use PCIe ASPM settings by starting the kernel with

pcie_aspm=force

Wi-Fi

Some Intel Wi-Fi cards require to set their powersaving options after establishing connection. Therefore the original version of TLP adds a script to Template:Filename, which itself calls (as root)

tlp wifi $IFACE

where $IFACE is the current Interface (e.g. wlan0). In Arch Linux, there is no such possibility by default. If you own a wifi card, which is not supported out of the box, please use the post-up methods of your preferred networking manager (like netcfg oder NetworkManager). If TLP sets the powersaving options properly on ac-state changed, you do not need to change anything. Check this, by issuing the following command twice, before and after unplugging your ac adapter:

iwconfig | grep "Power Management"

NetworkManager

Linrunner has created a little script for NetworkManager , which sets the the Powersaving options. It should be located in Template:Filename. Again, if everything is working ok, you do not need to add this script!

#!/bin/sh
# tlp - ifup hook
[ -n "$1" ] || exit 0

IWC=iwconfig
TLP=/usr/sbin/tlp
[ -x $TLP ] || exit 0

IFACE="$1"
case "$2" in
   up)
       if [ -z $($IWC $IFACE 2>&1 | grep "no wireless extensions") ]; then
           # interface is wifi
           $TLP wifi $IFACE
       elif [ "${IFACE#usb}" != "$IFACE" -o "${IFACE#hso}" != "$IFACE" -o "${IFACE#ppp}" != "$IFACE" ]; then
           # interface is (probably) wwan
           $TLP usb
       fi
       ;;
       
   *) # do nothing
       ;;
esac
exit 0

netcfg

Just add

POST_UP=tlp wifi $INTERFACE

to the config-file.

External Links