¿Cómo evito que el despertador inmediato se suspenda y / o hiberne?

35

Durante unos días, mi computadora de escritorio Ubuntu 12.04 ha estado misteriosamente despertando inmediatamente después de pasar al modo de suspensión.

Desde la instalación, mi computadora portátil Ubuntu 12.10 también se ha reanudado inmediatamente después de la suspensión e hibernación.

¿Cómo prevenirlos?

Bazon
fuente

Respuestas:

35

Este problema probablemente fue causado por extrañas señales USB. gedit /proc/acpi/wakeupme mostró que ese despertador estaba habilitado para USB0 y USB2.

sudo -s
echo USB0 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup

los cambió a deshabilitado (revisado gedit /proc/acpi/wakeupnuevamente o actualizando la vista de archivo) , y después de eso, la computadora permanece suspendida como debería. :-)

Bazon
fuente
Esta solución no me funcionó. PS2K estaba habilitado (activación del teclado) pero cambiarlo no hizo ninguna diferencia.
Bryce
44
En mi caso, no había dispositivos USB *, parece que estaban conectados internamente a través de un concentrador USB: agregar EHC1, EHC2 y XHC a / proc / acpi / wakeup me ayudó.
Vladimir Rutsky
2
En mi caso fue XHCI para USB 3
Andy
@Bazon, ¿puedes echar un vistazo http://askubuntu.com/questions/852600/ubuntu-16-04-wakes-up-immediately-from-suspend-after-installing-fprint-in-lenovoy ayudarme a resolverlo
Kasun Siyambalapitiya
Para mí, la desactivación IGBEfuncionó
Kasun Siyambalapitiya
22

Recientemente tuve el mismo síntoma en Asus Zenbook Pro UX501 en Ubuntu 15.04. La solución exacta de Bazon no funcionó, pero la variación de Vladimir Rutsky sí. Específicamente:

Si se ejecuta desde el terminal cat /proc/acpi/wakeupmuestra las siguientes líneas

EHC1      S3    *enabled  pci:0000:00:xx.x
EHC2      S3    *enabled  pci:0000:00:xx.x
XHC       S3    *enabled  pci:0000:00:xx.x

(las direcciones pci pueden ser diferentes)

luego cambie estos tres a deshabilitado emitiendo los siguientes comandos:

sudo -s
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHC > /proc/acpi/wakeup
ilikerobots
fuente
Hacer lo anterior no resolvió mi problema :(
Kasun Siyambalapitiya
Para mí, la desactivación IGBEfuncionó, más de tres no
Kasun Siyambalapitiya
@ilikerrobots Esto no lo arregla permanentemente, cómo arreglarlo permanentemente
Kasun Siyambalapitiya
GLAN vuelve rápidamente a habilitado. ¿Alguna idea de por qué?
Alfred M.
Para que persista, colóquelo en una entrada cron programada para @reboot. Me pareció útil solo ejecutar el eco si de hecho estaba habilitado al poner una prueba en un script de shell como este egrep -q '^XHC1\s+S[0-9]\s+\*enabled' /proc/acpi/wakeup && echo XHC1 > /proc/acpi/wakeup(mi dispositivo con problemas era XHC1, un conjunto de chips USB).
David Schoen
15

Si sabe qué dispositivo reactiva su PC, vaya al primer paso para seguir la guía. Si no lo hace, abra la terminal y haga:

cat /var/log/syslog

Y encuentre qué dispositivo está despertando su PC.

Y ahora:

  1. golpe en la terminal:

    grep . /sys/bus/usb/devices/*/power/wakeup
    

Para enumerar todos los puertos usb que activan nuestra pc.

sudo su

ahora tenemos privilegios de raíz.

2.Tengo 8 puertos USB y, en este ejemplo, digamos que quiero deshabilitar usb8, entonces:

echo disabled > /sys/bus/usb/devices/usb8/power/wakeup

Adelante, pruébalo. Ahora ese dispositivo específico en el puerto USB 8 no activará la PC.

Siguiente paso, para que el cambio sea permanente después de cada arranque:

3)

sudo nano /etc/rc.local

Y pegamos el comando del paso 2. Ahí (antes de la salida 0, por supuesto).

Eso es.

opcional Solo si después del proceso de suspensión / activación el dispositivo USB 8, en mi ejemplo, vuelve a estar habilitado.

  1. Escriba una udevregla también para ejecutar el comando después de cada arranque, suspensión, activación.

Abra una terminal y haga:

lsusb

En la información de identificación del dispositivo del teclado, los 4 primeros dígitos son la identificación del proveedor y los 4 dígitos siguientes son la identificación del producto captura de pantalla

Siguiente hacer:

sudo nano /etc/udev/rules.d/10-wakeup.rules

Donde "wakeup" ingrese su nombre deseado de la secuencia de comandos. El número 10 es la prioridad en caso de que tenga muchas otras reglas de udev, cuanto menor sea el número, la 'regla' se ejecutará antes que las demás.

Copie y pegue esto y reemplace la identificación del proveedor y la identificación del producto con su propia identificación del proveedor del teclado inalámbrico y la identificación del producto.

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo disabled > /sys/bus/usb/devices/usb8/power/wakeup'"

* usb8 para mí es mi teclado inalámbrico (también puede verlo en la captura de pantalla (Bus 008)), reemplácelo con el suyo.

Ctrl+ Opara guardar, Ctrl+ Xpara salir y reiniciar.

Pavlos Theodorou
fuente
¡Gracias! Esto se ve interesante. ¿le importaría añadir su guía aquí (cambiándola por lo que se refiere a la cuestión específica de esta pregunta)
Geoffrey
Gracias. esto no es exactamente lo que quería, pero me ayudó a solucionar el problema modificando el archivo rc.local (mi problema no es específico de los puertos USB). He publicado mi propia solución, pero obtendrás la recompensa (aunque no puedo otorgarla antes de mañana)
geoffrey
¿Cuáles son seguros para deshabilitar? ¿Tendré problemas si desactivo todo? Lo único habilitado para mí es / sys / bus / usb / devices / 1-2 / power / wakeup: enabled
Alfred M.
syslog ni siquiera menciona lo que está despertando la computadora
Ken Sharp
5

Para que la solución sea permanente

(Estoy compilando las soluciones proporcionadas por Bazon, Ilikerobots y Pavlos Theodorou; juntos abordan mi problema específico)

Para solucionar el problema de forma permanente, ya sea un puerto USB que activa el sistema o algo más:

  1. Descubra qué está permitido para activar su sistema:

gedit / proc / acpi / wakeup

Puede obtener estas o líneas similares:

EHC1 S3 * activado pci: 0000: 00: xx.x

EHC2 S3 * activado pci: 0000: 00: xx.x

XHC S3 * pci habilitado: 0000: 00: xx.x

Luego abra:

sudo gedit /etc/rc.local

y agregue estas líneas (o similar, dependiendo de los resultados anteriores) antes exit 0

echo EHC1> / proc / acpi / wakeup

echo EHC2> / proc / acpi / wakeup

echo XHC> / proc / acpi / wakeup

geoffrey
fuente
Oh, no lo pensé. por supuesto, podría ser otro puerto además de un usb. Me alegra que lo hayas resuelto.
Pavlos Theodorou