Solía tener instalado Fedora 14 en este HP Compaq 610, y la función de suspensión funcionó bien. Ahora que he instalado Scientific Linux 6.1, suspender ya no funciona. ¿Cómo lo depuro / soluciono?
Solía tener instalado Fedora 14 en este HP Compaq 610, y la función de suspensión funcionó bien. Ahora que he instalado Scientific Linux 6.1, suspender ya no funciona. ¿Cómo lo depuro / soluciono?
Respuestas:
Hay muchas formas de manejar las capacidades de suspensión e hibernación, muchos de los métodos antiguos están en desuso. Esto ha dificultado la búsqueda de soluciones, ya que parece que cada solución no tiene relación alguna con la siguiente. Con eso dicho...
El método actualmente recomendado, recomendado en http://pm-utils.freedesktop.org/wiki/ , debería estar disponible para las distribuciones más recientes. Primero verificaría si ha pm-utils
instalado, y si los comandos incluidos están funcionando como se esperaba.
Ver si el paquete está instalado, ingrese este comando en la terminal
rpm -qa | grep pm-utils
Esto debería mostrar la versión que ha instalado. Si no obtiene el resultado esperado, debe instalar el paquete.
sudo yum install pm-utils
Una vez que lo verifique, pruebe su capacidad de suspender.
sudo pm-suspend
Si no suspende, y no obtiene salida por qué, verifique su salida dmesg reciente
dmesg | tail -50
Esto debería ayudarlo a comenzar, una vez que obtenga algunas pistas, es mucho más fácil avanzar por el camino. Regrese con comentarios sobre sus resultados, puedo ayudarlo con el resto.
dmesg
salida le dirá lo que está sucediendo detrás de escena. Más importante aún, lo que en particular podría estar fallando. O y, por cierto, no necesita el paquete de desarrollo. Solo los necesita al compilar código, así que no dude en purgarlos. Hay muchas direcciones a seguir desde aquí, solo que no debo enviarte ladrando al árbol equivocado.
pm-suspend
comandos desde un shell y no a través del menú GNOME? Prueba echo -n "mem" >/sys/power/state
como root. Además, si está utilizando acpi
, puede acpi_listen
ver qué eventos se generan, por ejemplo, al cerrar la tapa.
Prueba esto como root:
PM_DEBUG=true pm-suspend
Luego revise /var/log/pm-suspend.log
si hay pistas sobre lo que podría salir mal.
Si puede suspender, pero no reanudar, hay un buen artículo en el wiki de Ubuntu sobre cómo depurar este problema.
Si solo desea obtener cuando suspendió / reanudó el sistema, puede intentar esto:
cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed";
Feb 7 10:44:23 dmatej-lenovo systemd-sleep[19900]: Suspending system...
Feb 7 10:44:33 dmatej-lenovo systemd-sleep[19900]: System resumed.
Feb 7 10:45:35 dmatej-lenovo systemd-sleep[20707]: Suspending system...
Feb 7 12:58:39 dmatej-lenovo systemd-sleep[20707]: System resumed.
Feb 7 14:42:55 dmatej-lenovo systemd-sleep[24690]: Suspending system...
Feb 7 16:31:57 dmatej-lenovo systemd-sleep[24690]: System resumed.
Como lo sugiere Mika, como raíz:
PM_DEBUG=true pm-suspend
Detalles dentro de:
/var/log/pm-suspend.log
En este caso estás buscando dónde
[...] service [servicename] suspend suspend success
termina y
[...] service [servicename] suspend resume success
comienza En algún punto intermedio puede encontrar llamadas que devuelven un error, en cuyo punto se suspende la suspensión. En este caso, es posible que tenga que suspender los cambios revertidos. Averigua qué llamada de servicio arroja el error, ábrelo en vi y échale un vistazo.
Tuve el mismo problema cuando, después de instalar xboxdrv
en un Ubuntu 12.04, una llamada realizada en una regla en /etc/pm/sleep.d/
estaba tratando de detener un servicio que nunca se inició o que no existe, en este caso xboxdrv
,. Resulta que nunca podría iniciarse en primer lugar, porque no había ningún /lib/modules/uinput.ko
módulo, porque ese módulo está fusionado con el núcleo. Esto provocó que la declaración del caso /etc/pm/sleep.d/xboxdrv
arroje un error cuando el caso coincide con "suspender" a la llamada service xboxdrv stop
. Al anteponer la línea, se #
omite la declaración, a expensas de tener que desconectar y volver a enchufar el controlador al suspender y luego reanudar.