lundi 2 avril 2012

Paramétrer Debian sur batterie avec laptop-mode-tools

Pour gérer le matériel lors du changement d'état de la batterie, laptop-mode-tools est indispensable.

Mais il faut encore le paramétrer aux petits oignons.

Sur le Lenovo Thinkpad X220 Tablet, j'avais un lag sur l'écran tactile uniquement lorsque j'étais sur batterie.
Cela parce que laptop-mode-tools, par défaut, mets les périphériques usb en veille.

Egalement, quand je travaille sur batterie, je n'ai pas besoin du bluetooth.

Passons aux choses sérieuses : le paramétrage.

Les différents fichier de configuration pour le matériel se trouve dans /etc/laptop-mode/conf.d.

un petit ls montrera que l'on peut agir sur pratiquement tout le matériel.

Prenons mes besoins : le bluetooth et mon écran tactile, un périphérique usb.


# cd /etc/laptop-mode/conf.d


Bluetooth


# vi bluetooth.conf


Pour le désactiver automatiquement au passage sur batterie, il suffit de mettre d'avoir la ligne :


BATT_ENABLE_BLUETOOTH=0


USB

L'usb est un peu moins simple à gérer. Car on ne veut pas activer/désactiver l'ensemble des périphériques usb.
On ne veut pas non plus supprimer la mise en veille automatique (au bout de 2s) du paramétrage par défaut.

Le fichier à éditer est avec les éléments suivants :


# vi /etc/laptop-mode/conf.d/usb-autosuspend.conf



AUTOSUSPEND_USE_WHITELIST=0


pour utiliser la blacklist de matériels : ceux à ne pas suspendre automatiquement.

Ensuite il faut les déclarer dans cette blacklist.
La configuration de laptop-mode permet de déclarer les périphériques usb par leur id ou leur nom.

avec l'id du périphérique usb :


AUTOSUSPEND_USBID_BLACKLIST="056a:00e6"


On obtient cet id avec la commande suivante :


$ lsusb
Bus 001 Device 001: ...
...
Bus 002 Device 003: ID 056a:00e6 Wacom Co., Ltd


En effet, l'écran tactile est un périphérique usb de type Wacom ;)

Pour déclarer le périphérique usb avec le nom de son driver, il faut renseigner ce dernier au niveau de la ligne :

AUTOSUSPEND_USBTYPE_BLACKLIST=""

En commentaire, il est écrit ceci :


# The list of USB driver types that should not use autosuspend.  The driver
# type is given by "DRIVER=..." in a USB device's uevent file.
# Example: AUTOSUSPEND_USBID_BLACKLIST="usbhid usb-storage"


Mais je n'ai pas su trouver comment obtenir le nom du driver d'un périphérique usb.
N'hésiter pas à mentionner comment faire dans un commentaire...

Il est également possible de lancer ou d'éteindre des programmes selon les événements de la batterie dans le fichier start-stop-programs.conf .

Laptop-mode permet également de lancer des scripts au changement d'état de la batterie : débranchement ou rebranchement du câble d'alimentation électrique.

Ces scripts sont à mettre selon la nécessité dans les répertoires de /etc/laptop-mode :

  • batt-start → ensemble de scripts à exécuter quand on entre en mode batterie
  • batt-stop → ensemble de scripts à exécuter quand on sort du mode batterie
  • lm-ac-start → ensemble de scripts à exécuter quand on entre en mode sur secteur
  • lm-ac-stop → ensemble de scripts à exécuter quand on sort du mode sur secteur
  • nolm-ac-start → ensemble de scripts à exécuter quand on entre en mode sur secteur au repos
  • nolm-ac-stop → ensemble de scripts à exécuter quand on sort du mode sur secteur au repos
Je vous laisse découvrir les nombreuses autres possibilités qu'offre cet outil complet qu'est laptop-mode-tools.

En commentaire, n'hésitez pas à dire quelle configuration vous avez réalisé sur votre machine ;)

source: http://doc.ubuntu-fr.org/laptop-mode-tools