web-dev-qa-db-fra.com

Parfois, la suspension de Gnome reprend immédiatement, ubuntu 18.04 sur un ordinateur portable Intel pur

J'ai Ubuntu 18.04 sur un Thinkpad T480 purement intellectuel. Il est généralement connecté à deux moniteurs externes. Si je choisis de suspendre depuis l'icône d'alimentation (en maintenant la touche Alt enfoncée), l'ordinateur portable lance le processus de suspension et les deux moniteurs externes passent en mode de suspension. Le voyant de l'ordinateur portable commence le cycle de clignotement pour indiquer la suspension. Mais une seconde plus tard, le voyant de l'ordinateur portable revient à ON. L'écran ne redémarre pas, mais dès que vous déplacez la souris sans fil, les écrans externes s'allument. Donc, il n'entre pas en suspension.

Mise à jour:

La plupart du temps ça marche. Je pense que je vais devoir regarder cela et essayer de trouver une connexion quand cela ne fonctionne pas

Mise à jour: journalctl | grep suspend:

 pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -16
Jun 17 16:57:46 moncrief kernel: dpm_run_callback(): pci_pm_suspend+0x0/0x150 returns -16
Jun 17 16:57:46 moncrief kernel: PM: Device 0000:00:14.0 failed to suspend async: error -16
Jun 17 16:57:46 moncrief kernel: PM: Some devices failed to suspend, or early wake event detected

gracieuseté de lspci, le périphérique est

00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
2
Tim Richardson

Basé sur ce problème similaire avec un Dell Inspiron

https://Gist.github.com/ioggstream/8f380d398aef989ac455b93b92d42048

J'ai installé dans

/lib/systemd/system-sleep

le script ici: https://Gist.github.com/timrs2998/77b3c2c2567cbd38f38cde64f1155956#file-system-sleep-xhci-sh

auteur: Roberto Polli (ioggstream)

Après avoir créé le fichier, n'oubliez pas

Sudo chmod u+x

...

#!/bin/sh
# 
# This script should prevent the following suspend errors
#  which block suspend on Dell Inspiron laptop & Thinkpad T480. 
#
# Put it in /usr/lib/systemd/system-sleep/xhci.sh
#
# The PCI 00:14.0 device is the usb xhci controller.
#
#    kernel: [67445.560610] pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -16
#    kernel: [67445.560619] dpm_run_callback(): pci_pm_suspend+0x0/0x150 returns -16
#    kernel: [67445.560624] PM: Device 0000:00:14.0 failed to suspend async: error -16
#    kernel: [67445.886961] PM: Some devices failed to suspend, or early wake event detected

if [ "${1}" == "pre" ]; then
  # Do the thing you want before suspend here, e.g.:
  echo "Disable broken xhci module before suspending at $(date)..." > /tmp/systemd_suspend_test
  grep XHC.*enable /proc/acpi/wakeup && echo XHC > /proc/acpi/wakeup
Elif [ "${1}" == "post" ]; then
  # Do the thing you want after resume here, e.g.:
  echo "Enable broken xhci module at wakeup from $(date)" >> /tmp/systemd_suspend_test
  grep XHC.*disable /proc/acpi/wakeup && echo XHC > /proc/acpi/wakeup
fi
1
Tim Richardson