Forum Linux.général ACPI et Software Suspend 2

Posté par  .
Étiquettes : aucune
0
18
oct.
2005
Bonjour,
ayant des problèmes avec le dump disk de l'acpi, j'utilise software suspend 2 qui a l'avantage de marcher même lorsque j'utilise les drivers proprio de nvidia (à condition de patcher ce fameux driver).
Maintenant que la commande hibernate de software suspend marche à merveille, je voulais l'activer via l'acpi. Comme cela, lorsque je ferme l'écran de mon portable la commande hibernate met en veille mon portable.
Malheureusement j'ai un gros problème. J'ai découvert la commande acpi_listen qui permet d'écouter les messages acpi. Et j'ai découvert que lorsque j'appuyais sur le petit bouton qui est normalement actionné par la fermeture de l'écran que j'avais 4 message ACPI
button/lid LID 00000080 00000001
button/lid LID 00000080 00000002
button/lid LID 00000080 00000003
button/lid LID 00000080 00000004
les deux premiers sont envoyé lorsque le bouton est préssé, les deux seconds lorsque le bouton est relaché.
Dans /etc/acpi/events j'avais créé le fichier lid qui contenait
event=button/lid.*01$
action=hibernate
l'expression régulière qui suit le mot clé event= me permet de catcher seulement le premier évènement. Par contre c'est du one shot étant donné que le numéro de fin de message continue à s'incrémenter.
Auriez vous une autre idée, pour bypassé ce problème.
Par avance je vous remercie.
A bientôt.
  • # Hack pas bô du tout du tout du tout

    Posté par  . Évalué à 3.

    Tout d'abord je tiens à te remercier car j'ai un comportement
    similaire au tiens et je ne savais pas d'où ça venait.

    première question:
    les numéros sont toujours 00000001, 00000002, 00000003
    et 00000004?

    Chez moi, c'est un compteur qui s'incrémente.

    Enfin bon.

    Si c'est le cas, tu copies ton fichier lid
    en lid1, lid2, lid3 et lid4

    dans lid1, lid2 et lid3 tu prends comme action /bin/true
    et dans lid4, hibernate.

    Comme ça, chacun des évènement sera traité par l'un des
    4 lid. et un seul sera vraiment utilisé.

    Si, comme chez moi, c'est un compteur, tu peux essayer la chose
    suivante.

    Ton action devient
    action=toto $event
    et toto est un script qui appele hibernate si et seulement si
    son argument est un multiple de 4.

    Bisous

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.