Tests pour mise en veille ACPI

Aller à : navigation, rechercher
Acroread.png Cet article est à relire !

Cette page demande à être relue pour correction. Si vous pouvez y participer, merci de le faire en accord avec le Guide stylistique openSUSE.
Si vous cherchez quelque chose à faire, regardez les autres Pages à relire.

Tests de la mise en veille ACPI

Cet article traite des tests ("hardcore"-debugging) de la mise en veille ACPI (sur disque et RAM).

Depuis SUSE 9.3 la mise en veille sur disque marche sur la plupart des machines sans gros problème. Les questions connues sont les disques SATA et SCSI et les pilotes propriétaires pour X, principalement ATI fglrx.

Les disques durs SATA devraient bien marcher depuis la 10.2.

Les trucs mentionnés sont généralement valides pour la mise en veille sur disque, bien que, par chance, ils ne soient pas nécessaires ici :-)

La mise en veille RAM est un peu plus délicate à régler. Bien qu'elle marche sur de nombreux portables (et sur quelques machines de bureau) souvent elle ne marche pas comme ça. Le problème sur beaucoup de machines où ça marche en principe, est que la carte graphique n'est pas réinitialisée correctement au cours de la reprise, ce qui signifie souvent que le rétro-éclairage du portable reste éteint. De nombreuses indications sur ce qu'on peut faire sont dans l'article s2ram .
s2ram est un programmme, qui accomplit la plupart des contournements pour que "la lumière revienne" après reprise. Il est fourni dans le paquetage suspend . On peut trouver de la documentation supplémentaire dans la doc du noyau (paquetage "kernel-source") dans le fichier /usr/src/linux/Documentation/power/video.txt.

Pour les premier essais sur la mise en veille en RAM (au moins si ça ne marche pas "comme ça") il est souhaitable de démarrer avec un système minimum et de progresser pas à pas jusqu'à un système pleiment opérationnel. Ce système minimal est décrit ci-dessous.

Pour pouvoir facilement modifier le paramètre vga= à l'invite GRUB (le noyau ne reconnait que le premier mot-clé vga), c'est mieux de mettre ce paramètre dans /boot/grub/menu.lst "après" le mot-clé "showopts", pour le voir et pouvoir le modifier à chaque amorçage.

Une telle entrée pourrait ressembler à cet exemple:

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX 9.3
    kernel (hd0,4)/vmlinuz root=/dev/hda7 selinux=0 splash=silent sysrq=yes resume=/dev/hda6 showopts vga=0x342 
    initrd (hd0,4)/initrd

Pour tester avec une config minimale, ajouter "init=/bin/bash" aux options d'amorçage à l'invite grub.Le noyau amorce directement dans un shell sans passer par tous les scripts de démarrage. Alors on peut essayer de lancer la mise en veille "à la main":

# monter /proc and /sys:
mount /proc
mount /sys
# Pour mise en veille sur disque, activer le swap ici. Ce n'est pas nécessaire pour mise en veille sur RAM:
# swapon -a
# lancer mise en veille sur  RAM ("disk" pour mise en veille sur disque):
echo mem > /sys/power/state

La machine devrait se mettre en veille alors (habituellement un voyant clignote). Sortir de veille (selon la machine) avec le bouton d'allumage, l'ouverture du couvercle ou l'appui d'une touche Fn (la voyant allumé est à nouveau fixe). Le voyant du disque dur clignote probablement brièvement mais devrait s'éteindre. Si l'écran est actif et que le contenu d'avant est visible, alors le test est terminé: ça marche. Si l'écran reste noir, il faut poursuivre.

D'abord on détermine si l'écran reste noir "seulement" ou si la machine est complètement plantée. Entrer à l'aveugle

find /

Si le voyant du disque dur clignote, le reste du système semble fonctionner, il n'y a que la carte graphique qui nécessite des ajustements. Cette commande find ne peut pas être interrompue avec init=/bin/bash, il faut redémarrer (avec le bouton reset ou l'interrupteur).

Si tout marche jusqu'ici, continuer avec les indications données dans l'article s2ram .En cas de réussite, prière de le rapporter afin que la machine soit ajoutée à la liste blanche.