o laptop falha ao suspender ou hibernar (acorda após 2-5 segundos sem interação do usuário)

22

Tudo isso começou a acontecer após a atualização para a 13.10, agora estou executando o 14.04 e ainda tenho o mesmo problema.

Quando fecho a tampa ou o faço, sudo pm-suspendo laptop fica em suspensão por 2-5 segundos e acorda sozinho.

O mesmo acontece se eu tentar hibernar.

Tenho a sensação de que algo está despertando / tirando a CPU do modo de suspensão, mas não consigo descobrir o que.

Alguma ajuda para solucionar esse problema irritante?

Editar:

Graças ao @Fabian, eu pude descobrir que parece que a placa ethernet está se comportando mal e mesmo depois de configurá-la para não acordar na lan (seja fazendo acpitool -W 3ou echo disabled > /sys/bus/pci/devices/0000:00:19.0/power/wakeupou echo IGBE > /proc/acpi/wakeup, o laptop continua acordando e mostrando isso quando eu o 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 idéia de como proceder a partir daí?

O driver de rede que o IGBE usa é e1000e

feniix
fonte
3
use dmesgpara ver as mensagens mais recentes do kernel, algo que possa lhe dar uma pista do que está acontecendo.
roadmr
Você desabilitou o recurso Wake-On-Lan no BIOS?
Mitch
Sim, foi a primeira coisa que tentei.
Feniix 29/04

Respostas:

10

Eu tenho o kernel 13.13 e a placa-mã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"
hóspede
fonte
11

O seguinte funcionou para mim:

cat /proc/acpi/wakeup

Procure por itens com status ativado que pareçam não pertencer a ele (para mim, qualquer coisa, exceto LID0). Desative-os dizendo, por exemplo:

sudo sh -c "echo XHC0 > /proc/acpi/wakeup"

Verifique se as entradas correspondentes foram realmente desabilitadas, envie o laptop para suspensão e espere o melhor :)

Fabian
fonte
Muito boa vantagem, agora eu preciso descobrir por que a placa de rede integrada mantém acordar mesmo que eu definir o wake up modo para que pessoas com deficiência
feniix
1
Boa sorte com isso :)
Fabian
1
Você já tentou rmmodo driver antes de suspender? (Apenas um tiro no escuro)
Rmano 16/05
O mesmo problema irritante no Ubuntu 16.04.1. Esta resposta não ajudou, infelizmente.
Dan Dascalescu
+1 Esta é a única solução que funcionou para mim.
precisa saber é o seguinte
7

Experimentando exatamente o mesmo problema (ThinkPad T530, Ubuntu 14.04, mas também 13.10 e 13.04, após algumas suspensões, o computador continua imediatamente após a suspensão).

Desabilitar o IBGE da ativação não ajudou em nada.

Conforme sugerido por Romano, tentei remover o módulo e1000e e suspender conforme o esperado.

Tão:

sudo rmmod e1000e

antes da suspensão resolve o problema.

Curiosamente, o problema reaparece imediatamente após a instalação do módulo back ( sudo modprobe e1000e) e a suspensão sem 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, 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:

  • Presumo que os scripts sejam bastante seguros, mesmo quando não solucionam o seu problema.
  • Não estou usando a ativação da LAN, então não sei como ele se comporta com a correção.
sopvkore
fonte
O laptop tem o mesmo problema usando o Windows (eu instalei o Windows 7 para minha esposa no computador porque recebi um novo) e ele faz exatamente o mesmo. Assim pode ser hardware / firmware relacionado
feniix
1
Oi. Estou usando o Ubuntu 14.04 LTS com um Thinkpad X201s. Essa solução que remove o e1000e com os pequenos scripts auxiliares ajudou a suspender o trabalho novamente. Muito obrigado !
apos
1
Posso confirmar que a mesma solução funciona em um Thinkpad T540p e no Ubuntu 14.04. Algo parece dar errado dentro do e1000emódulo. Isso só acontece ocasionalmente para começar, na maioria das vezes a suspensão funciona bem. Se o problema aparecer, rmmod e1000eeu posso suspender com êxito. No entanto, se eu fizer modprobeisso novamente depois de reiniciar, a próxima suspensão funcionará mesmo com o módulo presente. Então, "redefinir" o e1000emódulo parece fazer o truque para mim.
mindriot
1

Isso funcionou para mim (tirado de outro tópico no askubuntu):

Ubuntu 14.04 acorda imediatamente após a suspensão

Você pode tentar desativá-lo com um script Upstart automaticamente a cada inicialização:

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
Ilian
fonte
0

A solução systemd é criar uma instrução para systemd-tmpfiles gravar algo em um arquivo quando ele é chamado.

Crie um arquivo /etc/tmpfiles.d, por exemplo /etc/tmpfiles.d/disable-network-wake.conf, com o seguinte conteúdo, dependendo de qual dispositivo você deseja desativar a ativação.

w /proc/acpi/wakeup - - - - XHC

Veja também systemd-tmpfiles (8) e tmpfiles.d (5).

Ref: https://wiki.archlinux.org/index.php/Systemd#Temporary_files

FichteFoll
fonte