Tout cela a commencé après la mise à niveau vers 13.10, maintenant je suis sous 14.04 et j'ai toujours le même problème.
Lorsque je ferme le couvercle ou que je fais Sudo pm-suspend
, le portable est suspendu pendant 2 à 5 secondes et se réveille tout seul.
Il en va de même si j'essaie de faire hiberner.
J'ai le pressentiment que quelque chose est en train de se réveiller/de sortir le processeur du mode suspendre, mais je ne peux pas trouver quoi.
Toute aide pour résoudre ce problème ennuyeux?
Modifier:
Grâce à @Fabian, j'ai pu comprendre qu'il semblerait que la carte Ethernet ne fonctionne pas correctement et même après l'avoir configurée pour qu'elle ne se réveille pas sur LAN (soit en faisant acpitool -W 3
ou echo disabled > /sys/bus/pci/devices/0000:00:19.0/power/wakeup
ou echo IGBE > /proc/acpi/wakeup
quand je fais acpitool -w
Device S-state Status Sysfs node
---------------------------------------
1. LID S3 *enabled
2. SLPB S3 *disabled
3. IGBE S4 *enabled pci:0000:00:19.0
4. EXP1 S4 *disabled pci:0000:00:1c.0
5. EXP2 S4 *disabled pci:0000:00:1c.1
6. EXP3 S4 *disabled
7. EXP4 S4 *disabled
8. EXP5 S4 *disabled pci:0000:00:1c.4
9. EHC1 S3 *disabled pci:0000:00:1d.0
10. EHC2 S3 *disabled pci:0000:00:1a.0
11. HDEF S4 *disabled pci:0000:00:1b.0
Une idée de comment procéder à partir de là?
Le pilote réseau utilisé par IGBE est e1000e
J'ai le noyau 13.13 et la carte mère basée sur Intel Z77X, et la commande suivante fonctionne pour moi:
Sudo sh -c "echo EHC1 > /proc/acpi/wakeup;echo EHC2 > /proc/acpi/wakeup;echo XHC > /proc/acpi/wakeup"
Ce qui suit a fonctionné pour moi:
cat /proc/acpi/wakeup
Recherchez les éléments dont l'état est activé et qui semblent ne pas appartenir à cet élément (pour moi, tout sauf LID0). Puis désactivez-les en disant, par exemple:
Sudo sh -c "echo XHC0 > /proc/acpi/wakeup"
Vérifiez que les entrées correspondantes ont bien été désactivées, envoyez le portable en suspension et attendez le meilleur :)
Vivre exactement le même problème (ThinkPad T530, Ubuntu 14.04, mais également 13.10 et 13.04, après quelques suspensions, l’ordinateur reprend immédiatement après la suspension).
Désactiver IBGE du réveil n'a pas aidé du tout.
Comme suggéré par Romano, j'ai essayé de supprimer le module e1000e et le tour est joué comme prévu.
Alors:
Sudo rmmod e1000e
avant de suspendre résout le problème.
De manière intéressante, le problème réapparaît immédiatement après avoir réinstallé le module (Sudo modprobe e1000e
) et l'avoir suspendu sans le supprimer. Donc, ça devait être quelque chose lié au matériel.
Pour l'automatiser, j'ai créé deux scripts simples de suspension/réveil (testés sur le matériel mentionné ci-dessus, Ubuntu Trusty 14.04): Sudo gedit /etc/pm/sleep.d/99_e1000e_remove
:
#!/bin/sh
# Remove e1000e kernel module prior to suspend
rmmod e1000e
et Sudo gedit /etc/pm/power.d/99_e1000e_probe
:
#!/bin/sh
# Modprobe e1000e kernel module after resume
modprobe e1000e
Les scripts doivent être exécutables (Sudo chmod +x /etc/pm/sleep.d/99_e1000e_remove /etc/pm/power.d/99_e1000e_probe
).
Remarques:
Cela a fonctionné pour moi (tiré d'un autre fil sur askubuntu):
buntu 14.04 se réveille immédiatement après la suspension
Vous pouvez essayer de le désactiver avec un script pstart à chaque démarrage automatiquement:
Créer un fichier
etc/init/disable-XHC.conf
Contenu:
start on started dbus stop on stopping dbus script Sudo -u root sh -c "echo 'XHC' > /proc/acpi/wakeup" end script
La solution systemd consiste à créer une instruction pour que systemd-tmpfiles écrive quelque chose dans un fichier lorsqu'il est appelé.
Créez un fichier dans /etc/tmpfiles.d
, par exemple. /etc/tmpfiles.d/disable-network-wake.conf
, avec le contenu suivant, selon le périphérique pour lequel vous souhaitez désactiver le réveil.
w /proc/acpi/wakeup - - - - XHC
Voir aussi systemd-tmpfiles (8) et tmpfiles.d (5).
Réf.: https://wiki.archlinux.org/index.php/Systemd#Temporary_files