Tenho uma motherboard baseada em kernel 13.13 e Intel Z77X, e o seguinte comando funciona para mim:
sudo sh -c "echo EHC1 > /proc/acpi/wakeup;echo EHC2 > /proc/acpi/wakeup;echo XHC > /proc/acpi/wakeup"
Tudo isso começou depois da atualização para o 13.10, agora estou rodando o 14.04 e ainda tenho o mesmo problema.
Quando fecho a tampa ou faço sudo pm-suspend
, o laptop fica suspenso por 2 a 5 segundos e acorda sozinho.
O mesmo acontece se eu tentar fazer o hibernate.
Eu tenho uma sensação de que algo está despertando / tirando o cpu do modo de suspensão, mas não consigo descobrir o que.
Alguma ajuda para solucionar esse problema irritante?
Editar:
Graças a @Fabian, consegui descobrir que parece que a placa ethernet está se comportando mal e mesmo depois de configurar o cartão para não acordar na lan (fazendo acpitool -W 3
ou echo disabled > /sys/bus/pci/devices/0000:00:19.0/power/wakeup
ou echo IGBE > /proc/acpi/wakeup
, o laptop continua acordando e mostrando isso quando eu faço acpitool -w
Device S-state Status Sysfs node
---------------------------------------
1. LID S3 *enabled
2. SLPB S3 *disabled
3. IGBE S4 *enabled pci:0000:00:19.0
4. EXP1 S4 *disabled pci:0000:00:1c.0
5. EXP2 S4 *disabled pci:0000:00:1c.1
6. EXP3 S4 *disabled
7. EXP4 S4 *disabled
8. EXP5 S4 *disabled pci:0000:00:1c.4
9. EHC1 S3 *disabled pci:0000:00:1d.0
10. EHC2 S3 *disabled pci:0000:00:1a.0
11. HDEF S4 *disabled pci:0000:00:1b.0
Alguma ideia de como proceder a partir daí?
O driver de rede usado pelo IGBE é e1000e
Tenho uma motherboard baseada em kernel 13.13 e Intel Z77X, e o seguinte comando funciona para mim:
sudo sh -c "echo EHC1 > /proc/acpi/wakeup;echo EHC2 > /proc/acpi/wakeup;echo XHC > /proc/acpi/wakeup"
O seguinte funcionou para mim:
cat /proc/acpi/wakeup
Procure por itens com status ativado que pareçam não pertencer lá (para mim, qualquer coisa, exceto LID0). Em seguida, desative-os dizendo, por exemplo:
sudo sh -c "echo XHC0 > /proc/acpi/wakeup"
Verifique se as entradas correspondentes foram de fato desativadas, envie o laptop para suspensão e espere pelo melhor:)
Experimentando exatamente o mesmo problema (ThinkPad T530, Ubuntu 14.04, mas também 13.10 e 13.04, após alguns suspendos, o computador é retomado imediatamente após a suspensão).
Desabilitar o IBGE da ativação não ajudou em nada.
Como sugerido por Romano, tentei remover o módulo e1000e, e suspender como esperado.
Então:
sudo rmmod e1000e
antes de suspender resolve o problema.
Curiosamente, o problema reaparece imediatamente após a instalação do módulo de volta ( sudo modprobe e1000e
) e a suspensão sem a sua remoção. Então, deve ter sido algo relacionado ao hardware.
Para automatizá-lo, criei dois scripts simples de suspensão / ativação (testados no hardware mencionado acima, o Ubuntu Trusty 14.04): sudo gedit /etc/pm/sleep.d/99_e1000e_remove
:
#!/bin/sh
# Remove e1000e kernel module prior to suspend
rmmod e1000e
e
sudo gedit /etc/pm/power.d/99_e1000e_probe
:
#!/bin/sh
# Modprobe e1000e kernel module after resume
modprobe e1000e
Os scripts devem ser executáveis ( sudo chmod +x /etc/pm/sleep.d/99_e1000e_remove /etc/pm/power.d/99_e1000e_probe
).
Notas:
Isso funcionou para mim (tirado de outro thread no askubuntu):
O Ubuntu 14.04 acorda imediatamente após a suspensão
Você pode tentar desativá-lo com um script Upstart a cada inicialização automaticamente:
Crie um arquivo
etc/init/disable-XHC.conf
Conteúdo:
start on started dbus stop on stopping dbus script sudo -u root sh -c "echo 'XHC' > /proc/acpi/wakeup" end script
A solução systemd é criar uma instrução para systemd-tmpfiles para gravar algo em um arquivo quando ele é invocado.
Crie um arquivo em /etc/tmpfiles.d
, por exemplo /etc/tmpfiles.d/disable-network-wake.conf
, com o seguinte conteúdo, dependendo do dispositivo para o qual você deseja desativar o despertador.
w /proc/acpi/wakeup - - - - XHC
Veja também systemd-tmpfiles (8) e tmpfiles.d (5).
Ref: link