1. Peculiaridades?
Primeiro, confirmo que sua suspensão está funcionando corretamente. Dê uma olhada na página quirks e confirme que sua suspensão está funcionando corretamente e não apenas parecendo que está funcionando corretamente.
2. Seu script 001 é algo executável?
Verifique se o seu script 001_something
é executável!
% chmod +x 001_something
3. Seu script 001_something parece correto?
Verifique se seu script está de acordo com o que o pm-utils
está esperando.
Exemplo de script
#!/bin/bash
case "$1" in
hibernate|suspend)
ACTION BEFORE SUSPEND/HIBERNATE
;;
thaw|resume)
ACTION AFTER RESUME
;;
*)
;;
esac
exit $?
OBSERVAÇÃO: Você está colocando suas tentativas de usar a rede na parte hibernate|suspend
correta da instrução case / switch?
4. arquivo no diretório .d funcionando (/etc/pm/suspend.d/ ou /usr/lib/pm-utils/sleep.d/)?
Em seguida, eu confirmaria que o seu script 001_something
está, de fato, sendo escolhido pelo suspend / hibernate corretamente, fazendo com que ele simplesmente faça um eco em um arquivo, apenas para que você saiba que está funcionando.
echo "yup I'm working" > /tmp/pmck_'date +%Y-%T'.log
Você deverá ver arquivos como pmck_2013-16:08:11.log
in /tmp
.
5. / var / log?
Se o diretório .d acima estiver funcionando, eu faria um 001_something
e copiei o arquivo /var/log/pm-suspend.log
que você acha que está sendo substituído por algum outro arquivo em /tmp
, Assim, você pode pelo menos confirmar que o registro está correto. Isso pode te dar uma ideia do que está acontecendo.
cp /var/log/pm-suspend.log /tmp/pmlg_'date +%Y-%T'.log
6. Número do gancho do sono?
Você também pode alterar o nome do seu arquivo de gancho para 00-something
em vez de 001_something
? Não tenho certeza, mas a página man indica esses valores.
SLEEP HOOK ORDERING CONVENTION
00 - 49
User and most package supplied hooks. If a hook assumes that all of the usual services and userspace infrastructure
is still running, it should be here.
50 - 74
Service handling hooks. Hooks that start or stop a service belong in this range. At or before 50, hooks can assume
that all services are still enabled.
75 - 89
Module and non-core hardware handling. If a hook needs to load/unload a module, or if it needs to place non-video
hardware that would otherwise break suspend or hibernate into a safe state, it belongs in this range. At or before
75, hooks can assume all modules are still loaded.
90 - 99
Reserved for critical suspend hooks.
7. Conectividade de rede?
Adicione o seguinte ao seu script 001_something
:
TMP=/tmp/pmip_'date +%Y-%T'.log
# network status?
ip link show > $TMP
# dns working?
dig google.com +answer >> $TMP
# can we ping google?
ping -c 5 www.google.com >> $TMP
8. Bug com pm-utils, HAL e Wheezy?
Eu encontrei este relatório de bug debian e me pergunto se isso pode ser a causa do seu problema. O bug descreve um problema com o HAL e o pm-utils. Parece que a remoção do HAL corrige o problema de rede.
9. Depuração mais detalhada do pm-utils
Além disso, há este link que oferece conselhos para questões de suspensão / retomada específicas do Debian. Há menção a uma maneira de aumentar o log de pm-utils definindo uma variável, PM_DEBUG=true
no arquivo /usr/lib/pm-utils/pm-functions
.
trecho
Enabling Debugging for pm-utils
The log of suspend and resume processes are in file /var/log/pm-suspend.log. It contains moderately verbose information by default. More information can be enabled for debugging by inserting line export PM_DEBUG=true into the beginning of file /usr/lib/pm-utils/pm-functions.
Talvez isso possa ser útil para dar mais informações sobre o que está acontecendo com o pm-utils!
10. ACPI desligando a rede antes de pm-utils
?
Se o problema não parece estar com pm-utils
, pode ser por causa de acpi
. Quando você fecha a tampa do laptop, um evento acpi
é acionado e esse evento tem uma ação associada a ele.
Arquivo de EVENTO
% more /etc/acpi/events/lm_lid
event=button[ /]lid
action=/etc/acpi/actions/lm_lid.sh %e
Arquivo de ação
% more /etc/acpi/actions/lm_lid.sh
#! /bin/sh
test -f /usr/sbin/laptop_mode || exit 0
# lid button pressed/released event handler
/usr/sbin/laptop_mode auto
Olhando mais de perto o laptop_mode
, você verá que essa ferramenta é responsável por fazer várias coisas, uma das quais é gerenciar o status de seus dispositivos de rede.
O modo laptop mantém um diretório, /etc/laptop-mode/conf.d
, semelhante a outras ferramentas unix. Existem arquivos relacionados aos dispositivos de rede ethernet e wireless.
Na configuração principal. arquivo, /etc/laptop-mode/laptop-mode.conf
, é a capacidade de ativar mensagens mais detalhadas. Talvez isso lance alguma luz adicional sobre o que está acontecendo?
VERBOSE_OUTPUT=1
Resumo das coisas acima para testar com base no feedback do OP
1: A suspensão depende do uso da bateria e do LED de suspensão do meu notebook. Caso contrário, não entendo como a página da Web mencionada me ajudará a descobrir.
2: É.
3: Parece correto.
4: eu recebo esses arquivos.
5: Eu recebo os arquivos de log correspondentes, mas eles não são úteis para mim.
6: 00 em vez de 001 não mostra nenhuma diferença.
7: As coisas nesta seção apenas testam a conectividade de rede. Como disse na minha pergunta, eu não tenho conectividade de rede assim que o script é executado. O dispositivo wlan0 está inativo. Os arquivos de log: link .
OBSERVAÇÃO: Eu não tinha dig instalado (erro msg. no paste.debian.net log), no entanto, é claro que não há acesso à rede disponível (como foi dito). Eu posso ver que está baixo, inspecionando a saída do iwconfig, ip link show, ping, ... O script perl é o script em questão.
BTW, assim que a primeira linha de /usr/lib/pm-utils/bin/pm-action
é executada (de upowerd), a rede já está inativa.
8: hal foi instalado, removê-lo não altera nada.