O conselho dado por Jos e Rinzwind me deu um começo, mas não resolveu o problema. Eu não tenho um cabo Ethernet conectado, nem tenho WOL na verdade não existia como uma opção no BIOS) ou o Wake On Keyboard ativado.
Eu tentei desconectar o mouse, um Logitech sem fio com um receptor USB, antes colocando o computador em suspensão durante a noite - sem wakeups!
Por que não pensei nisso antes? Eu sempre desligo o mouse ao suspender o pc. Eu não achei que isso causaria mais problemas.
Então, como se pode evitar que o mouse / receptor cause os acordes? Primeira corrida
o comando cat /proc/acpi/wakeup
. Isso listará os dispositivos que podem causar um despertar.
$ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
P0P1 S4 *disabled pci:0000:00:1e.0
USB1 S3 *disabled
USB2 S3 *disabled
USB3 S3 *disabled
USB4 S3 *disabled
USB5 S3 *disabled
USB6 S3 *disabled
USB7 S3 *disabled
RP01 S4 *disabled pci:0000:00:1c.0
PXSX S4 *disabled pci:0000:01:00.0
RP02 S4 *disabled
PXSX S4 *disabled
RP03 S4 *disabled
PXSX S4 *disabled
RP04 S4 *disabled
PXSX S4 *disabled
RP05 S4 *disabled pci:0000:00:1c.4
PXSX S4 *enabled pci:0000:02:00.0
RP06 S4 *disabled
PXSX S4 *disabled
RP07 S4 *disabled
PXSX S4 *disabled
RP08 S4 *disabled
PXSX S4 *disabled
PEG0 S4 *disabled
PEGP S4 *disabled
PEG1 S4 *disabled
PEG2 S4 *disabled
PEG3 S4 *disabled
GLAN S4 *disabled
EHC1 S4 *enabled pci:0000:00:1d.0
EHC2 S4 *enabled pci:0000:00:1a.0
XHC S4 *enabled pci:0000:00:14.0
HDEF S4 *disabled pci:0000:00:1b.0
PWRB S3 *enabled
No campo Status
, você pode ver se eles podem ativar o computador
( enabled
) ou não ( disabled
).
EHC1
, EHC2
e XHC
representam controladores USB. Obivously USB1 - USB7
também,
mas todos eles são deficientes no meu caso. Eu não posso entrar em detalhes porque eu
não sei muito sobre isso.
Eu acho que PWRB
(última linha) representa o botão de energia. Seria uma boa idéia deixá-lo ativado, já que você provavelmente deseja ativar seu computador usando o botão liga / desliga.
Ao atribuir o comando sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
, você alterna a configuração para EHC1
. Se você executar o comando para listar os dispositivos novamente, verá que a configuração de EHC1
foi alterada.
Eu tentei isso com os controladores EHC1
, EHC2
, XHC
desde que eu não sei
qual controlador controla qual dispositivo USB.
Para mim, deixar EHC1
e XHC
ativado e desativar EHC2
me dá o
resultado que eu queria. Agora nem o teclado nem o mouse (mesmo se ligados) podem
causar um despertar. Eu tenho que pressionar o botão de energia física no computador
em si.
Infelizmente, a configuração será redefinida quando você reiniciar. Para combater isso, você pode colocar o código abaixo no seu /etc/rc.local
. Ele deve ser editado usando privilégios elevados: sudo gedit /etc/rc.local
, por exemplo.
for device in EHC2
do
if grep -q "$device.*enabled" /proc/acpi/wakeup
then
echo $device > /proc/acpi/wakeup
fi
done
Você pode adicionar mais dispositivos alterando a primeira linha do código: for device in EHC1 EHC2 XHC USB1
e assim por diante. Eu encontrei o script, escrito pelo usuário toojays .
Isso resolveu meu problema.