Evitar despertado de suspension en RAM por eventos de raton o teclado

Monday, 27 August 2018

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

Coment

Anonymous Anonymous Friday, 26 April 12:59