ACPI : Configuration avancée et interface pour la gestion d'énergie

Auteur de la section sur DSDT : Erich Schubert

Adaptation française : Guillaume Lelarge

Relecture de la version française : Vanessa Conchodon

Préparation de la publication de la v.f. : Jean-Philippe Guérard

Version : 1.2.fr.1.1

3 septembre 2003

Historique des versions
Version v1.2.fr.1.12003-09-03GL, VC, JPG
Quelques corrections mineures.
Version v1.2.fr.1.02003-07-20GL, VC, JPG
Adaptation française.
Version v1.22003-07-08EJH
Ajout du résumé (Added the abstract).
Version v1.12003-07-03EJH
Mise à jour pour le noyau 2.4.21, dernière version stable du noyau à ce jour (Added updates for the 2.4.21 kernel, the latest stable kernel at the time).
Version v1.02003-07-01EJH
Version initiale, revue par le LDP (Initial release, reviewed by LDP).
Version v0.22003-06-12EJH

Résumé

Ce document montre comment modifier le noyau Linux (via un correctif) afin de disposer d'une gestion de l'ACPI.


Table des matières

1. À propos de ce document
2. Droits d'utilisation et marques déposées
3. Copyright and License
4. Commentaires et corrections
5. Nouvelles versions de ce document
6. À propos de l'ACPI
7. Pourquoi changer ?
8. La table de description différenciée du système (DSDT)
9. Installer à partir de rien
9.1. Choisir un noyau
10. Sauvegardes
11. Paquets requis
12. Télécharger et appliquer le correctif
12.1. Déballer
12.2. Correctif
13. Configurer le nouveau noyau
14. Compiler le nouveau noyau
15. Installer le nouveau noyau
16. Redémarrage et test
17. Charger les modules
18. Passer d'APM à l'ACPI
19. Utiliser l'ACPI
20. Références et ressources
21. Remerciements
A. L'ACPI sans utiliser Debian
1. Compiler le noyau
2. Installer le nouveau noyau
3. Paquets logiciels
B. GNU Free Documentation License
1. PREAMBLE
2. APPLICABILITY AND DEFINITIONS
3. VERBATIM COPYING
4. COPYING IN QUANTITY
5. MODIFICATIONS
6. COMBINING DOCUMENTS
7. COLLECTIONS OF DOCUMENTS
8. AGGREGATION WITH INDEPENDENT WORKS
9. TRANSLATION
10. TERMINATION
11. FUTURE REVISIONS OF THIS LICENSE
12. How to use this License for your documents

Lorsque j'ai commencé le passage de l'APM à l'ACPI, je n'ai pas réalisé que je devais appliquer un correctif au noyau. Mon problème (un ventilateur assourdissant) a été corrigé simplement en mettant à jour mon noyau en version 2.4.20 (noyau préparé par Debian avec un correctif antérieur provenant de acpi.sourceforge.net). Malheureusement, après la première mise à jour, je n'étais pas capable d'arrêter (halt) mon ordinateur sans utiliser le bouton d'arrêt. Ce n'est que bien après que j'ai réalisé que j'avais un vieux correctif ACPI inefficace. Ce guide pratique a été écrit pour résumer le processus d'installation que j'ai suivi et, je l'espère, aider d'autres personnes ayant elles-aussi des difficultés à trouver les bonnes informations sur l'ACPI. Merci de noter que l'article se base principalement sur la façon Debian de faire les choses. Il existe aussi une partie générique dans Annexe A, L'ACPI sans utiliser Debian pour ceux d'entre vous préférant… un moyen générique.

[Important]Important

Le texte ci-dessous est la version française de la licence de ce document. Seule la version originale de cette licence, présentée dans la section suivante, fait foi.

Copyright © 2003 Guillaume Lelarge, Vanessa Conchodon et Jean-Philippe Guérard pour la version française

La version française de ce document a été réalisée par Guillaume Lelarge, Vanessa Conchodon et Jean-Philippe Guérard. Elle est publiée en accord avec les termes de la licence de documentation libre GNU (GFDL), version 1.1 ou ultérieure, telle que publiée par la Free Software Foundation ; sans section invariante, sans texte de première de couverture ni texte de quatrième de couverture.

Une copie en anglais de cette licence est incluse à la fin de ce document (cf. Annexe B, GNU Free Documentation License). Une traduction française officieuse de cette licence est disponible sur http://cesarx.free.fr/gfdlf.html.

[Important]Important

Le texte ci-dessous est la licence de ce document. Ce texte fait foi. Il est composé de la licence (en anglais) du document original, suivi de la licence (en français) de sa traduction.

Copyright © 2003 Guillaume Lelarge, Vanessa Conchodon et Jean-Philippe Guérard pour la version française

La version française de ce document a été réalisée par Guillaume Lelarge, Vanessa Conchodon et Jean-Philippe Guérard. Elle est publiée en accord avec les termes de la licence de documentation libre GNU (GFDL), version 1.1 ou ultérieure, telle que publiée par la Free Software Foundation ; sans section invariante, sans texte de première de couverture ni texte de quatrième de couverture.

Une copie en anglais de cette licence est incluse à la fin de ce document (cf. Annexe B, GNU Free Documentation License). Une traduction française officieuse de cette licence est disponible sur http://cesarx.free.fr/gfdlf.html.

N'hésitez pas à faire parvenir tous commentaires relatifs à la version française de ce document à

Les nouvelles éditions françaises de ce document sont disponibles sur http://www.traduc.org/.

Dans le monde de la gestion d'énergie, l'ACPI est relativement récent. Sa première version date de 1996 et a été conçue par Compaq – Hewlett-Packard, Intel, Microsoft, Phoenix et Toshiba. Ses développeurs ont souhaité remplacer le standard industriel précédent en matière de gestion d'énergie. Leur site ACPI.info contient les spécifications officielles, une liste des sociétés supportant l'ACPI et un certain nombre d'autres choses. Il n'est pas nécessaire de le lire bien que cela puisse avoir de l'intérêt pour les curieux maladifs.

ACPI permet le contrôle de la gestion d'énergie par le système d'exploitation. Le standard industriel précédent, Advanced Power Management (APM), est contrôlé au niveau du BIOS. L'APM est activé lorsque le système ne fait rien — plus le système est en attente, moins il utilise de puissance (c'est-à-dire qu'on commence par l'économiseur d'écran, que l'on passe en mode veille puis en mode suspendu). Avec l'APM, le système d'exploitation n'a pas connaissance du moment où l'ordinateur changera d'état.

L'ACPI peut être généralement configuré à partir du système d'exploitation. Ce n'est pas comme l'APM où la configuration nécessite souvent de redémarrer et de passer par l'interface de configuration du BIOS pour définir les paramètres.

L'ACPI a différents composants logiciels :

  • Un sous-système contrôlant l'état et les fonctions du matériel (qui faisait partie auparavant de la configuration du BIOS).

    Les états incluent :

    • le contrôle thermique ;

    • la configuration de la carte mère ;

    • l'état électrique (en veille, suspendu).

  • Un gestionnaire de politique, c'est-à-dire un logiciel au-dessus du système d'exploitation permettant à l'utilisateur de décider des politiques suivies par le système.

  • L'ACPI dispose aussi de pilotes de périphériques contrôlant et surveillant les périphériques comme la batterie du portable, SMBus (chemin de communication et de transmission) et EC (contrôleur embarqué).

Si vous souhaitez plus d'informations sur la gestion d'énergie sur les portables, jetez un œil aux ressources disponibles (en anglais) sur tuxmobil.org. Plus spécifiquement : La gestion d'énergie sous Linux — APM, ACPI, PMU et la section consacrée au matériel dans le détail du Guide du Linux itinérant.

Tous les systèmes ne sont pas compatibles à la fois avec APM et ACPI. Je suis passée à l'ACPI, car mon système n'était compatible qu'avec ce mode de gestion de l'énergie. La décision a du coup été assez facile. Si vous pensez changer pour pouvoir utiliser le mode S3 (système suspendu en RAM — suspend to RAM) et que vous utilisez un noyau 2.4.x, oubliez cette idée. Cela n'est pas possible.

Vous n'êtes pas sûr que votre système est compatible ? ACPI4Linux a une liste de machines et BIOS compatibles sur leur Wiki. Merci de contribuer à la liste si vous avez installé l'ACPI ! Ils ont aussi une liste des machines qui ne sont pas compatibles.

Merci à Erich pour la rédaction de cette section.

Vous aurez peut-être besoin de passer outre la DSDT lorsque certaines informations, comme l'état de la batterie, sont transmises de façon incorrecte (causant habituellement des messages d'erreur dans syslog). Les portables DELL ont généralement besoin de ce type de palliatifs. Les DSDT corrigées sont disponibles pour de nombreux systèmes sur la page DSDT avec un correctif indiquant au noyau d'ignorer la table du BIOS et d'utiliser la DSDT corrigée.

Vous aurez simplement besoin de copier la table corrigée dans les sources du noyau avec un nom de fichier particulier (ou en modifiant le nom du fichier dans le correctif donné sur la page DSDT). Passer outre la DSDT est donc assez facile : au lieu de charger la table DSDT du BIOS, le noyau est compilé avec et utilise sa propre table DSDT. C'est tout.

ACPI est constamment en révision. Il n'est pas encore disponible pour les noyaux de la série 2.4.x mais le sera pour la série 2.5.x (ou peut-être pas avant le 2.6). Ceci signifie que tous les noyaux avant les 2.5.x doivent se voir appliquer un correctif. Ceux-ci sont disponibles sur le site acpi.sourceforge.net. Vous aurez besoin de récupérer le correctif correspondant exactement au noyau que vous utilisez. Comme il s'agit d'une section d'« installation à partir de rien », je supposerais que vous savez exactement quel noyau vous allez installer.

Ce document a été écrit pour le noyau 2.4.20. Depuis, le noyau stable 2.4.21 est disponible. Les applications du dernier correctif ACPI sur ce noyau ont eu des résultats mitigés. Pour l'instant, je recommande de rester sur le noyau 2.4.20 et son dernier correctif : 2002.12.12. D'autres recommendent d'autres choses. Une recherche via Google sur les listes de diffusion debian-user, debian-laptop et acpi-support vous sera utile si vous n'êtes pas sûr de ce que vous devez faire pour votre système spécifique.

[Note]Note

Pour être sûr du résultat, ce document utilisera le noyau 2.4.20 comme exemple ; substituez la version de votre noyau de façon appropriée.

Il est important d'utiliser la dernière version du correctif ACPI. Certaines distributions ont déjà appliqué des correctifs à leurs noyaux. C'est le cas pour Debian et certainement pour d'autres. Pour plus d'informations sur les correctifs qui ont été appliqués aux sources du noyau telles qu'elles sont livrées par Debian, lisez /usr/src/kernel-source-version/README.Debian. Si vous n'utilisez pas Debian, trouvez le fichier équivalent pour votre distribution.

Un utilisateur sur acpi-support m'a confirmé que je ne devrais pas avoir besoin des correctifs supplémentaires appliqués au noyau pour qu'il s'exécute sur mon portable. Si vous utilisez un serveur en production ou proposez des pages web sur Internet, vous devriez réellement appliquer tout correctif de sécurité supplémentaire.

[Avertissement]Avertissement

Si un noyau dispose d'autres correctifs, vous pourriez avoir quelques soucis pour appliquer le correctif ACPI. Bien sûr, un correctif ACPI ne devrait pas être appliqué à un noyau disposant déjà d'un correctif ACPI. A priori, tant qu'aucun autre correctif ACPI n'a été appliqué au noyau, il devrait être possible d'en appliquer un maintenant. Suivant les correctifs appliqués, vous pourrez avoir besoin de modifier certains fichiers Makefile pour que le correctif s'installe avec succès. Ceci est bien au-delà de mes compétences et n'est donc pas traité dans ce document.

Si vous préférez utiliser un noyau préparé par Debian, maxx propose un paquet des sources du noyau disposant déjà du correctif compatible avec le noyau 2.4.20. Ceci vous évitera de télécharger un noyau sans correctif sur www.kernel.org. Il m'a envoyé un courrier électronique avec les détails suivants :

 

J'ai pris les sources du noyau 2.4.20-8 à partir de unstable, supprimé les modifications pour l'ACPI (c'est-à-dire l'ancien correctif) et appliqué acpi-20021212-2.4.20.diff.gz provenant de acpi.sf.net car le noyau 2.4.20 de base a plusieurs failles de sécurité (ptrace, tableau hash, …).

Vous pouvez trouver le paquet sur http://people.debian.org/~maxx/kernel-source-2.4.20/. (je n'ai pas chargé le .orig.tar.gz car vous pouvez l'obtenir de n'importe quel miroir debian et que celui-ci est déjà assez gros).

 
 --maxx
[Avertissement]Avertissement

Je n'ai pas testé ces paquets. Vous pouvez être, ou non, chanceux. Merci de ne pas me demander quoi que ce soit là-dessus, voyez directement avec maxx.

Si vous avez déjà un noyau fonctionnel de la même version que celui que vous souhaitez corriger, je vous recommande de créer un nouveau répertoire pour le nouveau noyau corrigé. Rappelez-vous que les sauvegardes ne sont jamais une mauvaise chose. Voici les fichiers que je sauvegarde :

Comme j'ai commencé sur une toute nouvelle machine, je suis pratiquement sûre que j'ai une liste complète de tous les paquets requis pour que le correctif s'applique correctement. Voici la liste complète :

Téléchargez un noyau à partir de www.kernel.org. Vous devez vous assurer que vous avez un noyau complet. Cherchez la « dernière version stable du noyau Linux » et cliquez sur F pour FULL (NdT : COMPLET). Attendez patiemment. Un noyau compressé avec bzip2 pèse à peu près 26 Mo. Si vous vous sentez particulièrement geek, vous pouvez aussi lancer wget http://kernel.org/pub/linux/kernel/v2.4/linux-version.tar.bz2.

[Astuce]Astuce

Vous pouvez, ou non, vouloir la dernière version stable. Pour plus d'informations, lisez la Section 9.1, « Choisir un noyau » de ce document. Si vous décidez d'utiliser une version du noyau non publiée sur la page principale, utilisez le répertoire /pub/linux/kernel sur le site kernel.org pour trouver le noyau que vous souhaitez.

Pendant que vous attendez, récupérez aussi une copie du correctif. Pour le noyau 2.4.20, utilisez le correctif 2.4.20. Il est daté du 12.12.2002. Vous aurez besoin de connaître ce nombre plus tard lorsque nous vérifierons que le correctif s'est bien appliqué. Si vous utilisez une version différente du noyau, assurez-vous d'avoir bien noté la date du correctif. Vos nombres vont différer légèrement de celui que j'utiliserai plus tard.

Une fois que vous avez ces deux fichiers (le noyau et le correctif), déballez-les et appliquez le correctif au noyau.

Maintenant, nous allons appliquer le correctif au noyau. Je réalise une étape supplémentaire aux instructions sur ACPI4Linux. Au lieu de décompresser et d'appliquer le correctif sur la même ligne, j'utilise deux lignes. C'est juste par préférence personnelle. Lorsque vous appliquez le correctif au noyau, vous voulez vous assurer qu'il n'y a eu aucun message d'erreur (il n'y a pas de ligne annonçant le succès, donc vérifiez plutôt l'absence d'erreurs).

cd /usr/src/linux

# Le nom de fichier du correctif sera différent si vous n'utilisez pas le
# noyau 2.4.20 :

cp acpi-20021212-2.4.20.diff.gz /usr/src/linux/
	
gunzip acpi-20021212-2.4.20.diff.gz

# Enfin la partie de l'application du correctif :

patch -p1 < acpi-20021212-2.4.20.diff

Maintenant, au lieu d'utiliser make menuconfig, j'ai une option géniale. Faites ceci : copiez votre fichier .config actuel dans /usr/src/linux. Ensuite, utilisez make oldconfig. Il va lire l'intégralité de votre ancien fichier de configuration et voir ce qui a été mis à jour de façon à ce que vous n'ayez pas à chercher toutes les nouvelles options. Tout ce qui concerne l'ACPI (les cinq premières questions pour moi, mais peut-être plus pour vous si vous n'avez jamais configuré un noyau ayant déjà des correctifs) doit être à M (pour module). Il existe trois autres questions auxquelles je réponds non.

Voici comment configurer le noyau point par point :

cd /usr/src/linux
cp /usr/src/anciennes-sources-du-noyau/.config .config
make oldconfig      # Dites « M » pour toutes les nouvelles options
                    # de l'ACPI - vous pouvez aussi dire oui (« Y »)
                    # si vous préférez les compiler directement dans le 
                    # noyau

Maintenant, allez dans le fichier de configuration avec make menuconfig. Assurez-vous que l'APM est désactivé. Sous « General Setup », assurez-vous que :

Sortez et sauvegardez la nouvelle configuration

Si vous avez des modules supplémentaires ne faisant pas partie du répertoire principal des sources, vous aurez besoin d'ajouter modules_image lors de la construction des paquets Debian. Ceci est pratiquement inévitable si vous utilisez un portable. Il y a trois correctifs ne faisant pas partie du noyau de base et que je dois installer séparément : ma carte graphique (nvidia) ; ma carte son (ALSA) ; et ma carte wifi (PCMCIA).

cd /usr/src/linux
make-kpkg clean
make-kpkg --append-to-version=date kernel_image modules_image
[Note]Nommer le noyau construit

Je n'utilise plus .date pour distinguer les différents noyaux que j'ai construit. Il était trop frustrant d'avoir des 030627a, 032627b (et cætera) alors que j'essayais de comprendre comment cela marchait.

J'utilise maintenant des noms, en ordre alphabétique, en commençant avec le noyau que j'ai nommé « alien ». Je conserve malgré tout ici l'option de la date car je pense qu'il s'agit d'une bonne façon de faire les choses.

[Note]Aide pour la compilation du noyau

Pour les instructions pour une distribution non Debian, voir l'annexe Annexe A, L'ACPI sans utiliser Debian.

Pour plus d'informations sur la compilation du noyau sur une Debian, lisez Créer des noyaux personnalisés avec le système de paquets du noyau de Debian (document en anglais).

J'aime configurer lilo moi-même, mais faites comme vous l'entendez.

cd /usr/src
dpkg -i kernel-image-version.date_10.00.Custom_i386.deb

# À ce moment, je refuse toutes les mises à jour 
# lilo et le configure moi-même manuellement.

# Configurez lilo manuellement

vi /etc/lilo.conf

# Chargez le nouveau noyau dans lilo

lilo

# Si vous avez d'autres fichiers deb pour vos modules, vous devriez les 
# installer maintenant. Si vous n'êtes pas sûr, vérifiez /usr/src pour 
# des fichiers .deb supplémentaires.
[Note]Aide pour la compilation du noyau

Pour les instructions pour une distribution non Debian, voir l'annexe Annexe A, L'ACPI sans utiliser Debian.

Pour plus d'informations sur la compilation du noyau sur une Debian, lisez Créer des noyaux personnalisés avec le système de paquets du noyau de Debian (document en anglais).

À ce moment, vous devez redémarrer votre machine. Lorsque le système est relancé (en supposant que tout s'est passé correctement et que vous avez toujours un système), vérifiez quel noyau est en cours d'exécution avec uname -a. Cela devrait vous montrer celui que vous venez de construire. Vous aurez aussi besoin de vous assurer que le bon correctif a été installé. Vous pouvez faire ceci avec :

dmesg | grep ACPI.*Subsystem\ revision

Il devrait afficher :

ACPI : Subsystem revision 20021212

Le numéro de révision est la date du correctif. Ce numéro sera différent du mien si vous n'utilisez pas un noyau 2.4.20. Pour rechercher tout ce qui concerne l'ACPI et qui a été chargé ou lancé lors du redémarrage du système, faites ceci :

dmesg | grep ACPI

dmesg affiche les messages du démarrage et grep ACPI s'assure que seuls les messages relatifs à l'ACPI sont affichés.

Vous pouvez aussi vérifier la version que vous utilisez avec cat /proc/acpi/info. Ne croyez pas tout ce qui vous est indiqué. Ma sortie indique que S3 est un état utilisable, mais nous savons déjà que ce n'est pas le cas. Par contre, le numéro de version est correct, ce qui est bien utile.

Si vous avez compilé la gestion de l'ACPI en tant que module (« M »), vous aurez probablement besoin de charger les modules à la main. Vous devrez chercher un peu pour trouver les modules. Les miens sont dans /lib/modules/version.date/kernel/drivers/acpi/ et s'appellent :

-rw-r--r--    1 root     root         4.1k Jun  3 23:57 ac.o
-rw-r--r--    1 root     root         9.5k Jun  3 23:57 battery.o
-rw-r--r--    1 root     root         5.2k Jun  3 23:57 button.o
-rw-r--r--    1 root     root         3.7k Jun  3 23:57 fan.o
-rw-r--r--    1 root     root          14k Jun  3 23:57 processor.o
-rw-r--r--    1 root     root          11k Jun  3 23:57 thermal.o
-rw-r--r--    1 root     root         6.2k Jun  3 23:57 toshiba_acpi.o

La première fois que j'ai redémarré, je les ai chargés manuellement en tapant 

insmod nom_du_module

Je commence par processor, bien que les avis soient partagés sur le fait que l'ordre ait une importance.

[Note]Modules du noyau

Le nom du module est la partie du nom du fichier, précédant l'extension .o.

processor.o est le fichier, processor est le nom du module. Pour installer un module du noyau, utilisez insmod processor.

Vous pouvez vérifier les modules chargés avec lsmod. Ma sortie de lsmod (avec la plupart des extras supprimés) ressemble à ceci :

Module                  Size  Used by    Tainted: P  
button                  2420   0 (unused)
battery                 5960   0 (unused)
ac                      1832   0 (unused)
fan                     1608   0 (unused)
thermal                 6664   0 (unused)
processor               8664   0 [thermal]
NVdriver              945408  11 

Le dernier est ma carte graphique utilisant des pilotes propriétaires. C'est pourquoi un « P » se trouve à côté de Tainted sur la première ligne.

[Note]Gestion d'énergie du système d'exploitation (OSPM ou Operating System Power Management

La première fois où j'ai essayé ceci, les modules étaient tous dans des répertoires séparés et se nommaient ospm_<nom>. C'est probablement dû au fait que j'utilisais un ancien correctif, mais c'est important de le savoir. Les modules OSPM sont maintenant abandonnés, donc vous ne devriez plus les voir.

Pour ne pas avoir à charger les modules dans le noyau à chaque fois que vous démarrez, vous devez soit les compiler directement dans le noyau (un peu tard, n'est-ce-pas ?) soit les ajouter dans votre fichier /etc/modules. Si vous n'avez pas déjà une copie de ce fichier, créez-le et ajoutez un nom de module (rappelez-vous, pas de .o) par ligne.

Ne laissez pas apmd et acpid s'exécuter en même temps à moins que vous ne sachiez réellement ce que vous faites. Debian ne vérifiera pas si l'un d'entre eux est déjà lancé. Vous devez le vérifier. APM essaiera de passer votre système en S3. Sur les noyaux de série 2.4.x (et précédents), ceci a de fortes chances de bloquer votre machine. S3 n'est pas supporté jusqu'au 2.5.x. Même le correctif n'apporte pas le support de S3. J'ai préféré faire un apt-get remove apmd pour résoudre ce problème.

Vous devez aussi connaître un autre petit problème que j'ai découvert. Le serveur XFree86 a une option pour les fonctionnalités DPMS (Energy Star). Le DPMS peut passer par différents états : en attente, suspendu, arrêté, en cours. Comme les noyaux 2.4.x ne peuvent être suspendus vers le disque, ceci peut poser problème. J'ai corrigé mon système en faisant deux choses :

Il existe plusieurs applications/démons différents que vous voudrez installer sur votre système : acpid (le démon qui contrôle les états du matériel) et acpi (l'interface surveillant les événements et les états) font partie de l'installation de base. Le paquet Debian acpi est seulement disponible dans testing et est instable. Si vous utilisez la distribution Debian stable, vous ne serez pas capable de l'installer sans bidouiller avec apt et votre fichier sources.list. Vous pouvez probablement les compiler à partir des sources. Si vous avez acpi installé, vous pouvez l'utiliser pour surveiller votre système en utilisant cette commande : acpi -V. Sa sortie vous donnera des informations sur votre système. La mienne ressemble à ceci :

     Thermal 1: ok, 47.1 degrees C
     Thermal 2: ok, 45.1 degrees C
  AC Adapter 1: off-line <-- fonctionne sur batteries
  AC Adapter 1: on-line <-- fonctionne sur secteur

Malheureusement, la « version complète » de -V ne fonctionne pas pour moi. Heureusement, je peux toujours regarder dans chacun des fichiers acpi individuellement pour obtenir des informations sur mon système. Regardez dans le répertoire /proc/acpi afin de vérifier différents points importants. Si je veux vérifier ma batterie, je lis le fichier suivant comme ceci :

cat /proc/acpi/battery/BAT0/state

La sortie ressemble à ceci :

present:                 yes
capacity state:          ok
charging state:          discharging <-- fonctionne sur batteries
present rate:            unknown
remaining capacity:      3920 mAh <-- surveillez ce nombre
present voltage:         14800 mV
present:                 yes
capacity state:          ok
charging state:          discharging
present rate:            unknown
remaining capacity:      3840 mAh <-- la charge batterie diminue
present voltage:         14800 mV
present:                 yes
capacity state:          ok
charging state:          charging <-- adaptateur secteur branché
present rate:            unknown
remaining capacity:      3840 mAh
present voltage:         14800 mV

Si je veux de l'information sur ma batterie en général, je testerais ceci :

cat /proc/acpi/battery/BAT0/info
present:                 yes
design capacity:         3920 mAh
last full capacity:      3920 mAh
battery technology:      rechargeable
design voltage:          14800 mV
design capacity warning: 30 mAh
design capacity low:     20 mAh
capacity granularity 1:  10 mAh
capacity granularity 2:  3470 mAh
model number:            Bat0
serial number:              
battery type:            Lion
OEM info:                Acer

Vous êtes des personnes intelligentes. Vous pouvez probablement vous débrouiller à partir de maintenant :)

Les liens suivants ont été incroyablement utiles pour l'écriture de ce guide pratique et en règle général pour faire fonctionner l'ACPI.

Rapports d'installation et informations spécifiques à un matériel

Rapports d'installation

http://acpi.sourceforge.net/wiki/index.php/InstallationReports

Liste noire

http://acpi.sourceforge.net/documentation/blacklist.html

DSDT : Survol

http://acpi.sourceforge.net/dsdt/index.php Inclut des liens vers des DSDT corrigés et vers des guides pratiques sur l'application d'un correctif disposant de votre propre DSDT.

Paramétrages du BIOS pour l'Acer (Phoenix BIOS)

http://help.nec-computers.com/au/pri/item_instr_bios_7521N.asp

Groupes de développement de logiciels

ACPI4Linux

http://acpi.sf.net

Groupe d'intérêt ACPI

http://www.acpi.info/

Intel

http://developer.intel.com/technology/iapc/acpi/

Listes de diffusion

Discussion sur debian-laptop : can't restore from suspend (NdT : Impossible de restaurer à partir du mode suspendu)

http://lists.debian.org/debian-laptop/2003/debian-laptop-200304/msg00367.html

Discussion sur acpi-support : newbie HOWTO and debian patching (NdT : guide pratique pour les nouveaux et pour amender la debian)

http://sourceforge.net/mailarchive/forum.php?forum_id=7803&max_rows=25&style=flat&viewmonth=200304&viewday=17

Discussion sur debian-laptop : acer 634 ACPI (NdT : ACPI sur l'acer 634

http://lists.debian.org/debian-laptop/2002/debian-laptop-200212/msg00242.html

Paquets ACPI et logiciels en relation

Noyau

Rappelez-vous de choisir "F" pour full (NdT : pour complet) lorsque vous téléchargez les sources du noyau. http://www.kernel.org

Noyau préparé par Debian

Paquet des sources du noyau 2.4.20-8 préparé par maxx. Pour plus d'informations, voir les Section 9.1.1, « Noyau préparé par Debian ». http://people.debian.org/~maxx/kernel-source-2.4.20/

Correctif du noyau pour l'ACPI

Vous devrez prendre la version correspondant exactement au noyau que vous utilisez. http://sourceforge.net/project/showfiles.php?group_id=36832

acpid

le démon http://sourceforge.net/projects/acpid

acpi

l'interface texte http://grahame.angrygoats.net/acpi.shtml

Kacpi

l'interface graphique de KDE http://www.elektronikschule.de/~genannt/kacpi/download.html

aKpi

une autre interface de KDE http://akpi.scmd.at/

wmacpi

un DockApp WindowMaker (un autre GUI) http://www.ne.jp/asahi/linux/timecop/

wmacpi+clecourt

un DockApp WindowMaker (une autre interface graphique). Gère deux batteries. http://open.iliad.fr/~clecourt/wmacpi/index.html

Mes remerciements vont aux personnes suivantes :

  • acpi-support

  • debian-laptop

  • debian-user

  • techtalk

  • listes de diffusions de TLDP (discuss et docbook)

  • Sebastian Henschel pour m'avoir rappelé que j'avais promis de l'écrire

  • Erich Schubert pour la rédaction de la section sur DSDT

  • Werner Heuser pour m'avoir suggéré de soumettre le document au LDP

  • Tabatha Marshall pour l'édition et d'avoir été en règle générale très enthousiaste pour apprendre DocBook

A. L'ACPI sans utiliser Debian

Il n'existe que peu de différence entre la manière Debian et la manière générique. En fait, il doit y avoir seulement dix lignes de différences.

B. GNU Free Documentation License

Version 1.1, March 2000

This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you".

A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.

If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

  1. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.

  2. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).

  3. State on the Title page the name of the publisher of the Modified Version, as the publisher.

  4. Preserve all the copyright notices of the Document.

  5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.

  6. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.

  7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.

  8. Include an unaltered copy of this License.

  9. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.

  10. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.

  11. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.

  12. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.

  13. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.

  14. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.

You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.