Cai fora da rede ("Host de destino inacessível")

15

Estou executando meu Pi sem cabeça, conectando-me via SSH pela rede. Estou tendo um problema que posso reproduzir consistentemente. Deixarei um script Python em execução no meu Pi e voltarei algumas horas depois e as conexões SSH ao Pi expirarão.

Se eu fizer o ping, obtenho o seguinte:

C:\Users\andrew>ping 192.168.1.42

Pinging 192.168.1.42 with 32 bytes of data:
Reply from 192.168.1.46: Destination host unreachable.

A única maneira de recuperá-lo na rede é reiniciá-lo (retire a energia).

Alguém já passou por isso? Existem arquivos de log que posso analisar para diagnosticar o problema?

Andy Smith
fonte
11
Em uma framboesa, eu tenho apenas um cronjob executando um script python, e ele também morre após algumas horas até 2 dias. Não consigo mais usar o SSH, apenas uma reinicialização cortando a energia ajudará.
K0pernikus
@ k0pernikus interessante! Agora estou tentando executá-lo com o scren anexado, até agora (4 horas e contando) e ele não falhou. Você está usando a tela?
Andy Smith
o que há no seu / etc / network / interfaces? Algo assustador dmesg? Como o RPI está conectado à rede? Via um roteador? O que há nos logs do roteador? Se você reconectar o cabo Ethernet ao RPI, ele o trará de volta à rede?
abolotnov
@abolotnov Na verdade, estou encontrando isso agora se executar o RPI com um monitor conectado - parece demorar mais, mas quando voltar depois de seis horas ou mais, ele não responderá. dmesg parece claro.
Andy Smith

Respostas:

9

O dispositivo sem fio entra em suspensão após um período sem atividade. É um esquema de economia de energia.

Você precisa desativar o recurso de economia de energia da wlan0.

Estou usando um receptor usb sem fio edimax:

Bus 001 Device 005: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]

Ele usa o módulo 8192cu no kernel.

Para desativar o powersave, adicione o seguinte a / etc / modules ou crie um arquivo (8192cu.conf) em /etc/modprobe.d/ com a (s) linha (s):

# prevent power down of wireless when idle
options 8192cu rtw_power_mgnt=0 rtw_enusbss=0

Na próxima reinicialização (ou rmmod / insmod), ele deve desativar o modo sonolento e seu pi estará acessível o tempo todo.

Crio o arquivo para /etc/modprobe.d e faz parte de um script que criei para fazer a instalação preliminar em uma nova compilação.

lornix
fonte
11
Este foi em uma rede com fio
Andy Smith
Infelizmente, tenho o mesmo problema com esses recursos desativados. O adaptador sem fio ainda é desligado após várias horas de inação.
StasM
Estou curioso para saber se eles estão realmente desligados. Os arquivos modprobe.d devem ser nomeados particularmente (x.conf) e contagens de ortografia (como sempre). O seu adaptador sem fio é uma unidade de 8192cu? talvez você precise de um módulo diferente?
Lornix
@lornix: Que comando você usou para imprimir o tipo de receptor sem fio que está usando?
David Norman
lsusbe lsusb -vsão muito úteis. Descobrir qual módulo nem sempre é fácil. Existem maneiras de comparar a saída do modinfo 8192cufornecedor: números do produto na lsusbsaída.
Lornix 15/08/14
2

É comum que um roteador desconecte clientes inativos para liberar recursos do roteador. Isso pode acontecer em momentos aleatórios, se o cliente não estiver ativo.

Pete Cranwell
fonte
1

O problema para mim era o gerenciamento de energia no wifi também, mas eu não estava usando um chipset 8192cu, portanto as instruções na outra resposta não funcionaram para mim.

Corre iwconfig e procure a linha que começa compower management

Se indicar que o gerenciamento de energia está ativado, você pode desativá-lo com:

iwconfig wlan0 power off

N Reed
fonte
0

Eu descobri que extensivamente ping-ing traz a conexão wifi novamente no meu caso. Observei que após o ping 70-100, o Pi começa a responder e depois que uma sshconexão-pode ser iniciada com sucesso.

Editar Desativar economia de energia

iw wlan0 set power_save off

Clique aqui para detalhes .

participante
fonte