web-dev-qa-db-fra.com

Suspendre instantanément le redémarrage - édition acpi / wakeup avec le service systemd

Mon ordinateur de bureau 18.04 Ubuntu Ryzen va se réveiller instantanément après sa suspension. J'ai suivi le problème jusqu'à/proc/acpi/wakeup. Dans la liste des services activés, il existe deux services (étiquetés pour ce qu'ils valent: AS43 et PTXH), que je peux désactiver à l'aide des commandes Shell suivantes:

Sudo -s 
echo AS43 > /proc/acpi/wakeup
echo PTXH > /proc/acpi/wakeup

Une fois que cela est fait - le système sort du mode veille uniquement à partir du clavier - tout va bien. Cependant, je n'arrive pas à automatiser ce processus.

Une solution (et je suis ouverte aux autres) consiste à créer un service, /etc/systemd/system/suspendfix.service, comme suit:

[Unit]
Description=fix to prevent system from waking immediately after suspend

[Service]
Type=simple
ExecStartPre=/bin/sh -c '/bin/echo GPP2 > /proc/acpi/wakeup'
ExecStart=/bin/sh -c '/bin/echo AS43 > /proc/acpi/wakeup'
ExecStartPost=/bin/sh -c '/bin/echo PTXH > /proc/acpi/wakeup'
RemainAfterExit=yes
TimeoutSec=90s

[Install]
WantedBy=sleep.target
WantedBy=multi-user.target

MAIS cela ne semble pas fonctionner. Soit mon script de service est incorrect, soit quelque chose remet en service les systèmes AS43 et PTXH incriminés, quel que soit le fichier de service systemd utilisé. Toute aide, beaucoup obligé! ~
~

3
dalaeck

J'ai eu le même problème avec un Ryzen 2600 et Ubuntu 18.04.

Votre script a été très utile. Pour l'exécuter au démarrage j'ai ajouté vos lignes

echo AS43 > /proc/acpi/wakeup
echo PTXH > /proc/acpi/wakeup

dans un fichier /etc/rc.local.

Ensuite, j'ai ajouté un service systemd pour démarrer ce script. J'ai suivi ce tutoriel .

Merci d'avoir trouvé les déclencheurs de réveil!

1
user2699453

Même problème (rewaking USB) sur mon Lenovo Yoga 910. résolu avec le solution de mike-g2 (mikeg-utk) :

  1. Créez le fichier: /etc/systemd/system/toggle.XHC.to.fix.suspend.issue.service avec le contenu suivant:

    [Unit]
    Description="Make suspend ignore USB wake up."
    
    [Service]
    ExecStart=/bin/bash -c "echo XHC >> /proc/acpi/wakeup"
    
    [Install]
    WantedBy=multi-user.target
    
  2. Créez un lien symbolique vers le script ci-dessus dans /etc/systemd/system/multi-user.target.wants/

    ln -s /etc/systemd/system/toggle.XHC.to.fix.suspend.issue.service /etc/systemd/system/multi-user.target.wants/
    
  3. Service de démarrage

    Sudo systemctl daemon-reload
    Sudo systemctl start toggle.XHC.to.fix.suspend.issue.service
    
  4. Vérifier si le service a été démarré

    Sudo systemctl status toggle.XHC.to.fix.suspend.issue.service
    
  5. Activer au démarrage

    Sudo systemctl enable toggle.XHC.to.fix.suspend.issue.service
    
0
Fabian H.