Prérequis

Pour pouvoir suivre cet article, vous devez savoir :

  • compiler un noyau
  • installer un programme sous votre distribution
  • lancer une commande en mode console

Configuration du noyau

La gestion du SBS est dans le noyau courant (2.6.19) présente sous la forme de code expérimental. Pour y avoir accès il est donc nécessaire de cocher l'option :

-> Code maturity level options
   [*] Prompt for development and/or incomplete code/drivers

Le support de SBS est intégré au sous-système ACPI. Il est donc nécessaire que celui-ci soit compilé dans le noyau pour pouvoir accéder à l'option. De plus, le support de ces batteries semble également se faire par le biais d'un bus I2C. Il est donc nécessaire de compiler ce dernier.

Je fais le choix de compiler SBS sous la forme d'un module afin de :

  • alléger mon noyau de base;
  • car le code est expérimental;
  • car il n'est pas nécessaire au système pour démarrer.

L'option de compilation se trouve à :

-> Power management options (ACPI, APM)
     -> ACPI (Advanced Configuration and Power Interface) Support
        -> ACPI Support (ACPI [=y])
               <M>   Smart Battery System (EXPERIMENTAL) 

Vous devriez maintenant voir les options suivantes dans votre fichier .config :

...
#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y
...
#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_PM_LEGACY=y
CONFIG_PM_DEBUG=y
...
#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
...
CONFIG_ACPI_SBS=m
...

Compilation du noyau et chargement du module

Selon que vous aviez déjà le support de I2C et de l'ACPI dans votre noyau, ou non, vous devrez respectivement recompiler tout le noyau ou juste les modules.

Dans le cas où il est nécessaire de ne compiler que les modules, vous pouvez lancer les commandes suivantes :

shell# make modules && make modules_install

Puis vous pouvez charger le module SBS par le biais de la commande :

shell# modprobe sbs

Si tout s'est passé comme prévu, vous devriez voir apparaître une arborescence du type suivant sous le répertoire /proc/acpi/battery :

+ /proc/acpi/battery
   + BAT0
        + alarm
        + info
        + state

Visionner le niveau de batterie

Vous pouvez bien entendu "lire" le niveau de la batterie par le biais des fichiers présents dans le sous-répertoire /proc/acpi/battery/BAT0 ; cependant un petit utilitaire graphique pourrait être bien plus appréciable !

Parmis les applications intéressantes - et étant donné que j'utilise un bureau de type wm -, on peut trouver :

  • wmbattery qui permet de surveiller le niveau de batterie et de vous avertir lorsque cette dernière arrive à un niveau bas;
  • wmacpi qui permet de surveiller plusieurs évènements ACPI, dont la batterie. Je le trouve personnellement moins pratique que wmbattery.

Si vous utilisez des environnements comme Gnome ou KDE, il existe un certain nombre d'applets permettant de surveiller les niveaux de batterie. Je vous laisse le soin de les découvrir par vous même.