Comment déboguer un problème de suspension?

J'avais l'habitude d'avoir Fedora 14 installé sur ce HP Compaq 610, et la fonction de suspension fonctionnait bien. Maintenant que j'ai installé Scientific Linux 6.1, la suspension ne fonctionne plus. Comment déboguer / réparer le problème?

    Il existe plusieurs façons de gérer les capacités de suspension et de mise en veille prolongée, de nombreuses methods obsolètes sont obsolètes. Cela a rendu la search de solutions difficile, car il semble que chaque solution est complètement indépendante de la suivante. Ceci étant dit…

    La méthode actuellement recommandée, préconisée depuis http://pm-utils.freedesktop.org/wiki/ , devrait être disponible pour les dissortingbutions les plus récentes. Je voudrais d'abord vérifier si vous avez pm-utils installé, et si les commands incluses fonctionnent comme prévu.

    Voir si le package est installé, entrez cette command dans le terminal

     rpm -qa | grep pm-utils 

    Cela devrait produire la version que vous avez installée. Si vous n'obtenez pas la sortie attendue, vous devez installer le package.

     sudo yum install pm-utils 

    Une fois que vous avez vérifié, testez votre capacité à suspendre.

     sudo pm-suspend 

    Si vous ne suspendez pas et n'obtenez pas de résultat pourquoi, vérifiez votre sortie dmesg récente

     dmesg | tail -50 

    Cela devrait vous aider à démarrer, une fois que vous avez des indices, il est beaucoup plus facile de descendre la piste. Revenez avec des commentaires sur vos résultats, je peux vous faire passer en revue le rest.

    Essayez ceci en tant que root:

     PM_DEBUG=true pm-suspend 

    Ensuite, vérifiez /var/log/pm-suspend.log pour des conseils sur ce qui pourrait mal se passer.

    Si vous pouvez suspendre, mais ne pas reprendre, il y a un bon article sur le wiki Ubuntu sur la façon de déboguer ce problème.

    Comme suggéré par Mika, en tant que root:

     PM_DEBUG=true pm-suspend 

    Détails dans:

     /var/log/pm-suspend.log 

    Dans ce cas, vous cherchez où

     [...] service [servicename] suspend suspend success 

    se termine et

     [...] service [servicename] suspend resume success 

    commence. Quelque part entre les deux, vous pouvez find des appels qui returnnent des erreurs, à quel point la suspension est inhibée. Dans ce cas, vous pouvez faire en sorte que les modifications suspendues soient annulées. Découvrez ce que l'appel de service lance l'erreur, ouvrez-le dans vi et jetez un coup d'oeil dessus.

    J'ai eu le même problème où après l'installation de xboxdrv sur un Ubuntu 12.04, un appel fait dans une règle dans /etc/pm/sleep.d/ essayait d'arrêter un service qui n'a jamais été démarré ou inexistant, dans ce cas, xboxdrv . Il s'avère qu'il ne pourrait jamais être démarré en premier lieu, car il n'y avait pas de module /lib/modules/uinput.ko , car ce module est fusionné dans le kernel. Cela a causé l'instruction case dans /etc/pm/sleep.d/xboxdrv pour lancer une erreur quand la casse correspond à "suspendre" au service xboxdrv stop appel service xboxdrv stop . Ajouter la ligne au préfixe # contourne la déclaration, au risque de devoir détwigr et retwigr votre controller en mode suspendu, puis reprendre.