Suspend / Wakeup
Problème
Les MacBooks ont la fâcheuse tendance à se relancer d'eux-même lorsqu'on vient de les mettre en veille. J'avais pensé aux ports USB et au réseau mais même en débranchant tout, je retrouvais ma machine allumée sur mon bureau chaque matin.
Diagnostique
Il est possible d'obtenir rapidement la liste des éléments qui peuvent remettre l'ordinateur en activité avec la commande suivante.
$ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
PEG0 S3 *disabled pci:0000:00:01.0
GFX0 S3 *disabled pci:0000:01:00.0
PEG1 S3 *disabled pci:0000:00:01.1
PEG2 S3 *disabled pci:0000:00:01.2
EC S4 *disabled platform:PNP0C09:00
GMUX S3 *disabled pnp:00:03
HDEF S3 *disabled pci:0000:00:1b.0
RP03 S3 *disabled pci:0000:00:1c.2
ARPT S4 *enabled pci:0000:04:00.0
RP04 S3 *disabled pci:0000:00:1c.3
XHC1 S3 *enabled pci:0000:00:14.0
ADP1 S4 *disabled platform:ACPI0003:00
LID0 S4 *enabled platform:PNP0C0D:00
XHC1
correspond aux ports USB et LID0
à l'ouverture/fermeture de l'écran. Je n'ai encore pas trouvé à quoi correspondait ARPT
mais dans le doute, je vais essayer de tous les désactiver.
Solution
Pour désactiver les éléments il suffit d'envoyer un echo correspondant au fichier proc mais ceci ne dure que le temps d'un démarrage. Vous pouvez donc ajouter un service dans systemd (par exemple dans /etc/systemd/system/acpi-wakeup.service
) pour automatiser cette configuration.
[Unit]
Description=ACPI wakeup settings
[Service]
ExecStart=/bin/bash -c "echo LID0 > /proc/acpi/wakeup; echo XHC1 > /proc/acpi/wakeup; echo ARPT > /proc/acpi/wakeup"
[Install]
WantedBy=multi-user.target
N'oubliez pas de mettre à jour les services avec la commande sudo systemctl daemon-reload
, de le démarrer sudo systemctl start acpi-wakeup
et de l'activer au prochain démarrage sudo systemctl enable acpi-wakeup
.