Evitar despertado de suspension en RAM por eventos de raton o teclado
Para evitar que el equipo salga de la suspensión accidentalmente por el movimiento de algún ratón o pulsación de teclado.
Lo primero es identificar que dispositivos despiertan el equipo:
cat /proc/acpi/wakeup | sort
La salida es por ejemplo:
Device S-state Status Sysfs node
P0PC S4 *disabled pci:0000:00:14.4
PC02 S4 *disabled pci:0000:00:02.0
PC03 S4 *disabled
PWRB S4 *enabled platform:PNP0C0C:00
SBAZ S4 *disabled pci:0000:00:14.2
UAR1 S4 *disabled pnp:00:06
UHC1 S4 *enabled pci:0000:00:12.0
UHC2 S4 *enabled pci:0000:00:12.2
UHC4 S4 *enabled pci:0000:00:13.2
UHC6 S4 *enabled pci:0000:00:16.2
UHC7 S4 *enabled pci:0000:00:14.5
USB3 S4 *enabled pci:0000:00:13.0
USB5 S4 *enabled pci:0000:00:16.0
Por lo que, en mi ejemplo, deberia desactivar todos los elementos "enabled", excepto PWRB que deducimos que seria el boton de encendido.
sudo sh -c "echo UHC1 > /proc/acpi/wakeup"
sudo sh -c "echo UHC2 > /proc/acpi/wakeup"
sudo sh -c "echo UHC4 > /proc/acpi/wakeup"
sudo sh -c "echo UHC6 > /proc/acpi/wakeup"
sudo sh -c "echo UHC7 > /proc/acpi/wakeup"
sudo sh -c "echo USB3 > /proc/acpi/wakeup"
sudo sh -c "echo USB5 > /proc/acpi/wakeup"
Pero como deseamos esto cada vez que se arranque el equipo.
Creando script de inicio
Para poder lanzar un script al inicio del sistema, debemos primero crear el script que deseamos lanzar. En nuestro caso, seria lo anterior teniendo en cuenta que se ejecuta como root:
#!/bin/sh
echo UHC1 > /proc/acpi/wakeup
echo UHC2 > /proc/acpi/wakeup
echo UHC4 > /proc/acpi/wakeup
echo UHC6 > /proc/acpi/wakeup
echo UHC7 > /proc/acpi/wakeup
echo USB3 > /proc/acpi/wakeup
echo USB5 > /proc/acpi/wakeup
Guardamos esto en un fichero en el directorio de scripts de inicio: "/etc/init.d/disable_acpiwakeup". Y le damos permisos de ejecucion:
chmod +x /etc/init.d/disable_acpiwakeup
Por ultimo agregamos el script al nivel de ejecucion por defecto:
update-rc.d disable_acpiwakeup defaults