TLP

From ArchWiki
Revision as of 11:41, 3 May 2011 by Gabm (Talk | contribs)

Jump to: navigation, search

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.

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