OVH Cloud OVH Cloud

ACPI: mise en veille

9 réponses
Avatar
Julien Valroff
Bonjour la liste !

Je m'aventure en terrain inconnu en testant la mise en veille /
l'hybernation avec l'ACPI sur mon poste de travail (carte mère Asus
A7V8X-X, Athlon XP 3000+).

J'en suis au point ou le niveau 1 fonctionne correctement (j'arrive à
suspendre l'activité et à la reprendre en appuyant sur la barre d'expace
de mon clavier).
"echo 1 > /proc/acpi/sleep" depuis une console graphique fonctionne du
premier coup, mais depuis une "vraie" console, il faut d'abord que je
décharge le module nvidia qui semble bloquer la carte graphique. Une
bizarerie que je ne comprends pas. Mais ce n'est pas réellement mon
problème...

Le niveau 3 (celui qui m'intéresse le plus) ne fonctionne pas vraiment
comme il devrait : j'arrive à suspendre la machine, qui se met en veille
correctement (tout est éteint, la diode d'alimentation clignote). Après
quelques minutes la machine s'éteint d'elle-même. Dans ce cas, si je
redémarre, c'est comme si je l'avais réellement éteint. tout montre que
le processus d'arrêt s'est fait comme il le fallait (démontage des
disques en tout cas, car pas de fsck au redémarrage).

Lorsque je redémarre la machine alors que le diode clignote, l'écran ne
se rallume pas. Tout semble pourtant aller comme il se doit car depuis
un poste de mon réseau, j'arrive à pinger la machine. nmap me montre des
ports ouverts, mais lorsque j'essaye d'y accéder par ssh, j'ai un
timeout.

Quant aux autres (2 et 4), il ne se passe rien ! Etrange...

Bref, je sais que les messages sur l'acpi sont fréquents un peu partout,
mais je n'arrive pas à trouver ne serait-ce qu'une piste qui pourrait me
donner l'espoir de mettre en veille correctement ma machine.

Si quelqu'un pouvait me faire part de son expérience...

Merci par avance
@++
Julien



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

9 réponses

Avatar
daniel huhardeaux
Julien Valroff a écrit :

Bonjour la liste !

Je m'aventure en terrain inconnu en testant la mise en veille /
l'hybernation avec l'ACPI sur mon poste de travail (carte mère Asus
A7V8X-X, Athlon XP 3000+).

J'en suis au point ou le niveau 1 fonctionne correctement (j'arrive à
suspendre l'activité et à la reprendre en appuyant sur la barre d'expace
de mon clavier).
"echo 1 > /proc/acpi/sleep" depuis une console graphique fonctionne du
premier coup, mais depuis une "vraie" console, il faut d'abord que je
décharge le module nvidia qui semble bloquer la carte graphique. Une
bizarerie que je ne comprends pas. Mais ce n'est pas réellement mon
problème...

Le niveau 3 (celui qui m'intéresse le plus) ne fonctionne pas vraiment
comme il devrait : j'arrive à suspendre la machine, qui se met en veille
correctement (tout est éteint, la diode d'alimentation clignote). Après
quelques minutes la machine s'éteint d'elle-même. Dans ce cas, si je
redémarre, c'est comme si je l'avais réellement éteint. tout montre que
le processus d'arrêt s'est fait comme il le fallait (démontage des
disques en tout cas, car pas de fsck au redémarrage).

Lorsque je redémarre la machine alors que le diode clignote, l'écran ne
se rallume pas. Tout semble pourtant aller comme il se doit car depuis
un poste de mon réseau, j'arrive à pinger la machine. nmap me montre des
ports ouverts, mais lorsque j'essaye d'y accéder par ssh, j'ai un
timeout.

Quant aux autres (2 et 4), il ne se passe rien ! Etrange...

Bref, je sais que les messages sur l'acpi sont fréquents un peu partout,
mais je n'arrive pas à trouver ne serait-ce qu'une piste qui pourrait me
donner l'espoir de mettre en veille correctement ma machine.

Si quelqu'un pouvait me faire part de son expérience...




swsusp2 + hibernate. J'utilise sur mon notebook (Asus) et ca marche tres
bien. Le probleme rencontre est frequent, Il y a des drivers a decharger
avant l'hibernation et des services a relancer a la sortie.

--
Daniel Huhardeaux ______ _____ _____ ______ ______ __
enum +48 32 285 5276 /_ _// _ // _ //_ _// __ // /
iaxtel +1 700 849 6983 / / / // // // / / / / /_/ // /
sip:101 h323:121 @voip./_/ /____//____/ /_/ /_/ /_//_/.com


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Julien Valroff
Le mercredi 20 avril 2005 à 21:37 +0200, daniel huhardeaux a écrit :
Julien Valroff a écrit :

>Bonjour la liste !
>
>Je m'aventure en terrain inconnu en testant la mise en veille /
>l'hybernation avec l'ACPI sur mon poste de travail (carte mère Asus
>A7V8X-X, Athlon XP 3000+).


[...]
>Si quelqu'un pouvait me faire part de son expérience...
>
>
swsusp2 + hibernate. J'utilise sur mon notebook (Asus) et ca marche tres
bien. Le probleme rencontre est frequent, Il y a des drivers a decharger
avant l'hibernation et des services a relancer a la sortie.



Je suis en effet de regarder de près cette solution.
Je viens de tester swsusp (inclus dans le noyau) et le suspend-to-disk
fonctionne bien!

Pourtant, je souhaiterais utiliser le suspend-to-ram - hibernate le
permet-il ?? Je n'arrive pas à trouver d'infos sur ce script.

Par ailleurs, je n'arrive pas bien à cerner les différences entre swsusp
et swsusp2. A creuser.

J'essayerai demain de comprendre un peu mieux.

Je vous tiens au courant de mes essais, mais si entre temps quelqu'un a
des astuces pour l'acpi...

@++
Julien



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Comput unicum 1114026613 (Wed, 20 Apr 2005 21:50:13 +0200),
Julien Valroff a écrit :
[...]
Pourtant, je souhaiterais utiliser le suspend-to-ram - hibernate le
permet-il ?? Je n'arrive pas à trouver d'infos sur ce script.



Oui. Hibernate permet aussi d'utiliser l'acpi (plutôt que suspend2).
Voir la dernière version d'hibernate (la 1.06), le fichier de conf. est
mieux commenté.
(C'est encore la 1.05 qui est dans la Sid.)

Par ailleurs, je n'arrive pas bien à cerner les différences entre sws usp
et swsusp2. A creuser.



2 > 1 ;o)
suspend2 est une refonte de suspend qui va plus vite et permet d'autres
petits avantages.
Une comparaison de suspend et suspend2 est disponible sur
http://suspend2.net/features
Sans oublier la possibilité d'utiliser une interface utilisateur (texte ou
graphique) lors de la suspension (en gros : barre de progression).
(Cette possibilité n'est pas mentionnée dans le tableau.)

Je vous tiens au courant de mes essais, mais si entre temps quelqu'un a
des astuces pour l'acpi...



<cynique>
Pas grand'chose à part que l'acpi est une bonne idée sur le papier mais
que ce n'est jamais bien mis en ½uvre (quantité de bogues dans les dsdt ),
ce qui n'est pas grave car Windows les contourne (ou en tout cas les
pilotes fournis) et comme Windows est le seul OS qui inquiète les
constructeurs, c'est pas près de changer...
</cynique>

--
Sylvain Sauvage
Avatar
Julien Valroff
Salut !

Le mercredi 20 avril 2005 à 23:08 +0200, Sylvain Sauvage a écrit :
Comput unicum 1114026613 (Wed, 20 Apr 2005 21:50:13 +0200),
Julien Valroff a écrit :
>[...]
> Pourtant, je souhaiterais utiliser le suspend-to-ram - hibernate le
> permet-il ?? Je n'arrive pas à trouver d'infos sur ce script.

Oui. Hibernate permet aussi d'utiliser l'acpi (plutôt que suspend2).
Voir la dernière version d'hibernate (la 1.06), le fichier de conf. est
mieux commenté.
(C'est encore la 1.05 qui est dans la Sid.)


Ok j'ai essayé et malgré tous mes efforts, je n'y arrive pas !
Lorsque je lance "hibernate --force" ou "echo
/proc/software_suspend/do_suspend" j'ai une erreur bien simple :



"Software Suspend 2.1.8: No writers have been registered.
Software Suspend 2.1.8: Software suspend is disabled.
This may be because you haven't put something along the lines of

resume2=swap:/dev/hda1

in lilo.conf or equivalent. (Where /dev/hda1 is your swap partition)."

Pourtant, j'ai bien resume2=swap:/dev/hda6 dans mon menu.lst (j'utilise
Grub) à la bonne ligne. Par ailleurs, j'ai essayé de le spécifier dans
la configuration des options de swsusp2 avant la compilation de mon
noyau (CONFIG_SOFTWARE_SUSPEND_DEFAULT_RESUME2="swap:/dev/hda6")

J'ai tenté plusieurs manips (différentes combinaisons d'options, avec ou
sans bootsplash etc...), lu et relu les FAQ (et donc désactivé le
support d'AGP dans mon noyau car carte NVidia) etc...
Mais rien n'y fait.

A mon avis, c'est un truc tout bête qui m'échappe ou que j'oublie, mais
je ne vois pas quoi !

> Par ailleurs, je n'arrive pas bien à cerner les différences entre swsusp
> et swsusp2. A creuser.

2 > 1 ;o)


Ca je savais, enfin... je crois :-P

suspend2 est une refonte de suspend qui va plus vite et permet d'autres
petits avantages.


OK, mais alors pourquoi swsusp2 n'est-il pas inclus dans le noyau ? Trop
jeune ?
(Sachant que swsusp est encore taggé "expérimental" en 2.6.11.7 ...)

<cynique>
Pas grand'chose à part que l'acpi est une bonne idée sur le papier mais
que ce n'est jamais bien mis en ½uvre (quantité de bogues dans les dsdt),
ce qui n'est pas grave car Windows les contourne (ou en tout cas les
pilotes fournis) et comme Windows est le seul OS qui inquiète les
constructeurs, c'est pas près de changer...
</cynique>


:(
Je suis trop jeune pour être cynique à ce point lol ! Mais ça me rassure
de voir que je ne suis pas seul avec mes problèmes à la c** (d'ailleurs,
l'apm me fait exactement la même chose sur le même poste, mais aussi sur
un portable qui ne supporte pourtant QUE l'apm)

@++
Julien



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Jean-Damien Durand
Bonjour,
Tu peux essayer de compiler swsusp2 avec debug. Apres je crois qu'il
faut metter 'debug_info' quelque part - sais plus ou. Je te laisse trouver.
Ahem, question stupide... tu as assez d'espace dans ton swap?
Bon courage, JD.

Julien Valroff a écrit :
"Software Suspend 2.1.8: No writers have been registered.
Software Suspend 2.1.8: Software suspend is disabled.
This may be because you haven't put something along the lines of




--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Julien Valroff
Le jeudi 21 avril 2005 à 22:24 +0200, Jean-Damien Durand a écrit :
Bonjour,
Tu peux essayer de compiler swsusp2 avec debug. Apres je crois qu'il
faut metter 'debug_info' quelque part - sais plus ou. Je te laisse trouver.


Je vais creuser de ce coté ! Je n'y avais pas pensé

Ahem, question stupide... tu as assez d'espace dans ton swap?


Oui 1.5x la RAM, ça doit être suffisant... Ce qui m'étonne le plus c'est
que swsusp (1) fonctionne sans aucun souci (bon, il y a des petits
problèmes comme le fait que je n'ai plus de son après un resume, mais
pas plus grave !)

Bon courage, JD.


Merci pour ta réponse ;-)

@++
Julien

Julien Valroff a écrit :
> "Software Suspend 2.1.8: No writers have been registered.
> Software Suspend 2.1.8: Software suspend is disabled.
> This may be because you haven't put something along the lines of







--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Comput unicum 1114110983 (Thu, 21 Apr 2005 21:16:23 +0200),
Julien Valroff a écrit :

Salut !



'lut,

Ok j'ai essayé et malgré tous mes efforts, je n'y arrive pas !
[...]
"Software Suspend 2.1.8: No writers have been registered.
[...]
A mon avis, c'est un truc tout bête qui m'échappe ou que j'oublie, ma is
je ne vois pas quoi !



Tu as bien l'option « swap writer » ? En dur ? Si en module, il faut le
charger.

Sinon, resume2=/dev/hda6 doit aussi fonctionner comme option.
(Et, c'est très bête et c'est sûrement déjà ce que tu as essayé , mais il
faut que le noyau ait été bouté avec cette option présente.)

[...]
OK, mais alors pourquoi swsusp2 n'est-il pas inclus dans le noyau ? Trop
jeune ?
(Sachant que swsusp est encore taggé "expérimental" en 2.6.11.7 ...)



Oui, je crois. Sans compter qu'il exportait trop de symboles (car
compilable en modules).

--
Sylvain Sauvage
Avatar
Julien Valroff
--=-eA8PNvHRWSJme69yQ50e
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8bit

Le samedi 23 avril 2005 à 01:41 +0200, Sylvain Sauvage a écrit :
Comput unicum 1114110983 (Thu, 21 Apr 2005 21:16:23 +0200),
Julien Valroff a écrit :
>
> Salut !

'lut,

> Ok j'ai essayé et malgré tous mes efforts, je n'y arrive pas !
>[...]
> "Software Suspend 2.1.8: No writers have been registered.
>[...]
> A mon avis, c'est un truc tout bête qui m'échappe ou que j'oublie, mais
> je ne vois pas quoi !

Tu as bien l'option « swap writer » ? En dur ? Si en module, il faut le
charger.

Sinon, resume2=/dev/hda6 doit aussi fonctionner comme option.
(Et, c'est très bête et c'est sûrement déjà ce que tu as essayé, mais il
faut que le noyau ait été bouté avec cette option présente.)



De nouveaux tests se sont montrés un peu plus concluants. J'ai dû louper
quelque chose l'autre jour, car je n'ai pas l'impression d'avoir changé
quoi que ce soit (sans doute que si, mais je ne vois pas quoi).

La mise en veille fonctionne maintenant correctement. La reprise est
plus compliquée (avec ou sans hibernate), et fonctionne uniquement si la
mise en veille est lancée depuis une console, et à ce moment, impossible
de reprendre la session X lancée sur un autre tty (l'écran est brouillé,
et le système ne répond plus).
J'ai par ailleurs des problèmes liés au DMA après la reprise que je
n'arrive pas à expliquer ni à comprendre.

Le suspend-to-ram fonctionne à peu près pareil, grâce à un script que
j'ai réussi à dénicher je ne sais où (je le joins à mon message si cela
peut servir à quelqu'un). Il est nécessaire de le déclencher suite à un
évenement acpi (dans l'exemple, le bouton de mise sous tension). Dans ce
cas, et avec plusieurs adaptations (notamment liées aux programmes qui
semblent être remplacés par vbetool sous Sarge), j'arrive à un résultat
moyen (ne fonctionne que si X n'est pas lancé, et j'ai également des
problèmes de DMA à la reprise).

Sur mon portable qui ne supporte que l'APM, swsusp2 fonctionne très bien
sans hibernate.
Sur les 2 machines par contre, je n'ai aucun problème avec le swsusp
inclus dans le noyau.

Ce sont des domaines bien compliqués en tout cas, et trop dépendants du
matériel à mon goût. Dommage car sur le papier, c'est très pratique.

Merci en tout cas à tous pour vos réponses !

>[...]
> OK, mais alors pourquoi swsusp2 n'est-il pas inclus dans le noyau ? Trop
> jeune ?
> (Sachant que swsusp est encore taggé "expérimental" en 2.6.11.7 ...)

Oui, je crois. Sans compter qu'il exportait trop de symboles (car
compilable en modules).


Je comprends... Merci pour l'info

@++
Julien

--=-eA8PNvHRWSJme69yQ50e
Content-Disposition: attachment; filename=powerbtn.sh
Content-Type: application/x-shellscript; name=powerbtn.sh
Content-Transfer-Encoding: 7bit

#!/bin/sh
# /etc/acpi/powerbtn.sh
# suspend to ram and come back

#save the console
CONSOLE=`fgconsole`
chvt 12
VBESTATE=`tempfile`
/usr/sbin/vbetool vbestate save >$VBESTATE;

# lock the powerbutton, so pressing it once starts the suspend,
# and pressing it again to come back doesn't start this script all
# over again.
LOCK_FILE=/var/lock/powerbtn.lock

get_lock () {
dotlockfile -p -l -r 0 $LOCK_FILE
[ $? -ne 0 ] && return 1
return 0
}

release_lock () {
[ $$ -eq `cat $LOCK_FILE` ] || exit 1
dotlockfile -u $LOCK_FILE
}

trap "" 2 3 15
get_lock || exit 1

#stop the acpi daemon ... gross, but it's the easiest way
/etc/init.d/acpid stop >/dev/null 2>&1

# shut the backlight off
/usr/sbin/vbetool dpms off

#take down the network and unload the usb modules
#/etc/init.d/gdm stop >/dev/null 2>&1
ifdown eth0
#modprobe -r ehci_hcd
#modprobe -r uhci_hcd
#modprobe -r usbhid
#modprobe -r usblp
#modprobe -r nvidia
#modprobe -r ide_generic
hdparm -Y /dev/hda

# suspend to ram
echo "mem" > /sys/power/state

#reload the display module
#modprobe nvidia

# use that video post program and restore the state of the adapter
/usr/sbin/vbetool post
/usr/sbin/vbetool vbestate restore <$VBESTATE
rm $VBESTATE

# reload the usb modules, network, set the time
# and turn the backlight back on
#modprobe ehci_hcd
#modprobe uhci_hcd
#modprobe usbhid
#modprobe usblp
#modprobe ide_generic
ifup eth0
hwclock --hctosys
/usr/sbin/vbetool dpms on

# go back to the console
chvt $CONSOLE;
#chvt 12;
#chvt $CONSOLE;

# Other half of the hideous hack
/etc/init.d/acpid start >/dev/null 2>&1

# done
release_lock

--=-eA8PNvHRWSJme69yQ50e--



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Comput unicum 1114358853 (Sun, 24 Apr 2005 18:07:33 +0200),
Julien Valroff a écrit :

[...]
La mise en veille fonctionne maintenant correctement. La reprise est
plus compliquée (avec ou sans hibernate),



hibernate n'est pas obligatoire, c'est juste un script (ou plutôt une
série de scripts) qui facilite le travail.

et fonctionne uniquement si la
mise en veille est lancée depuis une console, et à ce moment, impossi ble
de reprendre la session X lancée sur un autre tty (l'écran est brouil lé,
et le système ne répond plus).



Ah, les problèmes avec X11... Personnellement, j'avais des problèmes av ec
ma radeon qui sont maintenant totalement réglés mais j'avais pu les
contourner :
- soit en enlevant toutes les options d'accélération (c'est lent ;o) ;
- soit en utilisant le pilote vesa (plus rapide que le radeon non accél éré
mais plus lent que le radeon accéléré).

À noter aussi que xscreensaver peut très bien être lancé au révei l et
qu'il peut poser des problèmes (en tout cas la veille DPMS se met souvent
en route sur le mien).

J'ai par ailleurs des problèmes liés au DMA après la reprise que je
n'arrive pas à expliquer ni à comprendre.



Tu peux lancer des commandes par hibernate (voir OnResume ...).

Le suspend-to-ram fonctionne à peu près pareil, grâce à un script que
j'ai réussi à dénicher je ne sais où (je le joins à mon message si cela
peut servir à quelqu'un).



Hibernate peut aussi le faire en modifiant PowerdownMethod.

[...]
Sur les 2 machines par contre, je n'ai aucun problème avec le swsusp
inclus dans le noyau.



Swsusp2 est plus fragile que swsusp car il veut être plus rapide.
Si swsusp fonctionne (mais pas swsusp2), il peut être suffisant si on ne
veut pas passer trop de temps à bidouiller swsusp2.

Ce sont des domaines bien compliqués en tout cas, et trop dépendants du
matériel à mon goût. Dommage car sur le papier, c'est très pratiq ue.



Oui. Il y a parfois beaucoup de tests à faire pour savoir quels pilotes
mettre en module pour pouvoir les décharger/recharger.
Encore une raison pour acheter du matériel dont les pilotes sont libres...

--
Sylvain Sauvage