Ceci est une ancienne révision du document !


Augmentez drastiquement la durée de votre batterie grâce à laptop-mode-tools !

Cette page est en cours d'élaboration !

Laptop-mode-tools est un ensemble de scripts côté utilisateur permettant de contrôler finement la gestion de l'énergie de votre portable. Il nécessite quelques connaissances de votre matériel avant tout (donc lspci et lsusb vous seront d'une grande aide ainsi que toutes les infos sur votre matériel que vous pourrez récolter !).

Il est recommandé d'installer le paquet Debian du programme qui est mis à jour fréquemment et est activement maintenu par son auteur (ce qui n'est pas le cas de la version des dépôts d'Ubuntu).

En console, tapez :
wget http://ftp.fr.debian.org/debian/pool/main/l/laptop-mode-tools/laptop-mode-tools_1.52-1_all.deb
sudo dpkg -i laptop-mode-tools_1.52-1_all.deb
rm laptop-mode-tools_1.52-1_all.deb

De base, le laptop-mode-tools ne fait presque rien, c'est à vous à lui dire précisément ce qu'il devra effectuer pour économiser de l'énergie (rassurez-vous, c'est simplifié ^^)

Une série de modules du laptop-mode-tools sont déjà prêts à être utilisés avec très peu de modifications. Tous les fichiers de config sont situés dans /etc/laptop-mode/conf.d/

cd /etc/laptop-mode/conf.d

Uniquement si vous possédez une carte son de type AC97, modifiez le fichier suivant :

sudo gedit ac97-powersave.conf

Cherchez ensuite la ligne suivant :

# Control AC97 audio chipset power?
CONTROL_AC97_POWER=0

Pour l'activer, modifiez CONTROL_AC97_POWER=0 par CONTROL_AC97_POWER=1

sudo gedit ethernet.conf

Il est très fortement probable que vous possédiez une carte réseau ethernet dans votre portable, ce module vous intéressera donc, il peut faire gagner de précieuses minutes d'autonomie !

# Control Ethernet settings?
CONTROL_ETHERNET=0

Modifiez-le à CONTROL_ETHERNET=1 pour rendre le module effectif.

# Handle throttling of the ethernet deivce under specific circumstances
BATT_THROTTLE_ETHERNET=1
LM_AC_THROTTLE_ETHERNET=0
NOLM_AC_THROTTLE_ETHERNET=0

Active le bridage de la vitesse de l'ethernet lorsque le pc passe sur batterie (BATT), sur secteur (LM_AC) ou sur secteur mais en repos (NOLM_AC).

THROTTLE_SPEED="slowest"

Gère la vitesse de l'ethernet quand il est bridé (plus c'est lent, moins ça consomme en théorie).

DISABLE_WAKEUP_ON_LAN=1

Désactive la fonction wake on lan (WOL) du pc portable. En général, cette option est désactivée de base sur les pc, mais il est possible de la réactiver dans le bios ou via linux. Vous pouvez laisser cette option telle quelle si vous ne vous servez pas du WOL.

ETHERNET_DEVICES="eth0"

Périphérique(s) ethernet concerné(s) par les économies d'énergie. Les différents périphériques sont séparés par des espaces. Pour connaître le nom de votre périphérique, un simple "ifconfig" en console vous fournira les infos nécessaires. Il y a de très fortes chances que votre périphérique ethernet soit référencé sous eth0 sur Ubuntu/Debian.

DISABLE_ETHERNET_ON_BATTERY=1

Désactive complètement l'ethernet sur batterie. Part du principe que si vous êtes sur batterie, vous êtes sûrement connecté par le wifi, si vous avez de l'ethernet, il y a de très fortes chances qu'une prise de courant soit aussi disponible !

sudo gedit usb-autosuspend.conf

Active automatiquement la suspension de l'usb pour éviter le gaspillage de l'énergie quand un périphérique USB est branché sur le portable.

CONTROL_USB_AUTOSUSPEND=0

Passez cette variable à 1 pour activer l'économie d'énergie de l'USB.

AUTOSUSPEND_USBID_BLACKLIST=""

Liste des périphériques USB à ne pas inclure dans la politique de sauvegarde d'énergie. Pratique si vous avez une souris usb (par exemple) qui s'éteint complètement si l'autosuspend est activé… Pour obtenir le USBID de vos périphériques, la solution la plus simple est de tous les débrancher, de taper "lsusb" en console, qui vous affichera un résultat similaire au suivant :

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 046d:c051 Logitech, Inc. G3 (MX518) Optical Mouse
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 05ca:1837 Ricoh Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

La colonne nous intéressant est celle des ID (ex : ID 046d:c051), les "Linux Foundation 2.0 root hub" sont à ignorer, ce sont les ports non branchés.

Une fois ceci fait, branchez les périphériques USB un à un et lancez à chaque fois lsusb, vous constituerez de cette manière une liste des périphériques.

Je vous conseille d'activer cette option sans filtre, de brancher tous vos périphériques, de ne pas y bouger pendant une minute et de contrôler lesquels ne sont plus utilisables sans les débrancher et les rebrancher. Ceux-là sont à indiquer dans la variable AUTOSUSPEND_USBID_BLACKLIST de la manière suivante :

AUTOSUSPEND_USBID_BLACKLIST="046d:c025 0123:abcd"
# Trigger auto-suspension of the USB deivce under conditional circumstances
BATT_SUSPEND_USB=1
LM_AC_SUSPEND_USB=0
NOLM_AC_SUSPEND_USB=0

Activer l'autosuspension des périphériques USB lorsque le pc passe sur batterie (BATT), sur secteur (LM_AC) ou sur secteur mais en repos (NOLM_AC).

AUTOSUSPEND_TIMEOUT=2

Nombre de secondes après lesquelles les périphériques usb doivent passer en veille.

sudo gedit lcd-brightness.conf

Si Ubuntu ne gère pas correctement la luminosité de votre écran ou si vous jugez celle-ci insuffisante, cet outil est fait pour vous !

CONTROL_BRIGHTNESS=1

Activez le contrôle de la luminosité.

Ensuite ajustez les variables suivantes en fonction de vos besoins :

BATT_BRIGHTNESS_COMMAND="echo [value]"
LM_AC_BRIGHTNESS_COMMAND="echo [value]"
NOLM_AC_BRIGHTNESS_COMMAND="echo [value]"
BRIGHTNESS_OUTPUT="/proc/acpi/video/VID/LCD/brightness"

Remplacez les [values] par une valeur contenue dans le fichier /proc/acpi/video/VID/LCD/brightness (cat /proc/acpi/video/VID/LCD/brightness pour le voir).

Si ce fichier n'existe pas, alors, vous avez peut-être un fichier /sys/class/backlight/…/brightness (remplacez "…" par le répertoire situé dans /sys/class/backlight/, pour le voir : ls /sys/class/backlight/). Pour voir la luminosité maximale que vous pouvez appliquer à votre écran, faites un cat /sys/class/backlight/…/max_brightness

Modifiez alors le contenu de vos variables de la sorte :

BATT_BRIGHTNESS_COMMAND="echo [value]"
LM_AC_BRIGHTNESS_COMMAND="echo [value]"
NOLM_AC_BRIGHTNESS_COMMAND="echo [value]"
BRIGHTNESS_OUTPUT="/sys/class/backlight/.../brightness"

(N'oubliez pas de modifier ce qu'il faut où il faut !)

Si comme moi, vous devez passer par un programme externe, vous devez utiliser les commandes directement au lieu des "echo" du code précédant :

BATT_BRIGHTNESS_COMMAND="smartdimmer --set 50"
LM_AC_BRIGHTNESS_COMMAND="smartdimmer --set 100"
NOLM_AC_BRIGHTNESS_COMMAND="smartdimmer --set 100"
BRIGHTNESS_OUTPUT="/dev/null"

Dans mon cas, il faut que j'installe apt://nvclock qui dispose de l'outil smartdimmer qui me permet de régler une valeur entre 30 et 100 pour ajuster la luminosité de mon écran !

sudo gedit bluetooth.conf

Si vous n'utilisez pas le bluetooth lorsque vous êtes sur batterie, ce serait pas mal de le désactiver complètement ! Si vous n'avez pas de bluetooth, cette section ne vous concerne pas :)

CONTROL_BLUETOOTH=0

Passez cette variable à 1 pour activer la suspension du bluetooth

BATT_ENABLE_BLUETOOTH=0

Activer oui (1) ou non (0) le bluetooth sur batterie.

AC_ENABLE_BLUETOOTH=1

Activer oui (1) ou non (0) le bluetooth sur secteur.

BLUETOOTH_INTERFACES="hci0"

Interfaces bluetooth à désactiver (voir le paragraphe concernant l'ethernet !)

sudo gedit hal-polling.conf
CONTROL_HAL_POLLING=0

=1 pour activer le contrôle de l'interrogation

BATT_DISABLE_HAL_POLLING=1

Désactiver l'interrogation sur batterie (Oui=1, Non=0)

AC_DISABLE_HAL_POLLING=0

Désactiver l'interrogation sur secteur (Oui=1, Non=0)

HAL_POLLING_DEVICES="/dev/sg1"

Les lecteurs sur lesquels activer la surveillance de l'interrogation. Ces lecteurs se trouvent dans /dev, ils sont en général représentés par les fichiers sgX ou srX. Mettez ici une liste des accès absolus vers ces fichiers séparés par des espaces (ex : HAL_POLLING_DEVICES="/dev/sg1 /dev/sr0"

  • laptop-mode-tools.1256586233.txt.gz
  • Dernière modification: Le 18/04/2011, 14:46
  • (modification externe)