Odpada z sieci („Host docelowy nieosiągalny”)

15

Używam mojego Pi bez głowy, łącząc się przez SSH przez sieć. Mam problem, który mogę konsekwentnie odtwarzać. Zostawię skrypt Pythona działający na moim Pi i wrócę kilka godzin później, a połączenia SSH z Pi zakończą się.

Jeśli go pinguję, otrzymuję:

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.

Jedynym sposobem na odzyskanie go w sieci jest ponowne uruchomienie (wyciągnięcie zasilania).

Czy ktoś tego doświadczył? Czy są jakieś pliki dziennika, na których mogę sprawdzić diagnozę problemu?

Andy Smith
źródło
1
Na malinie mam tylko cronjoba, który uruchamia skrypt w Pythonie, i on też umrze po kilku godzinach do 2 dni. Nie mogę już tego robić SSH, pomoże tylko ponowne uruchomienie przez odcięcie zasilania.
k0pernikus
@ k0pernikus ciekawe! Próbuję teraz uruchomić go z dołączoną scren, jak dotąd (4 godziny i wciąż się liczę) i to się nie udało. Czy w ogóle używasz ekranu?
Andy Smith
co jest w twoim / etc / network / interfaces? Czy jest coś przerażającego dmesg? W jaki sposób RPI jest podłączone do sieci? Przez router? Co jest w logach routera? Jeśli ponownie podłączysz kabel Ethernet do RPI, czy wróci on do sieci?
abolotnov
@abolotnov Tak naprawdę znajduję to teraz, jeśli uruchamiam RPI z podłączonym monitorem - wydaje się, że zajmuje to więcej czasu, ale kiedy wrócę po około 6 godzinach, przestanie odpowiadać. dmesg wydaje się jasne.
Andy Smith

Odpowiedzi:

9

Urządzenie bezprzewodowe przechodzi w tryb uśpienia po okresie braku aktywności. To schemat oszczędzania energii.

Musisz wyłączyć funkcję powerave wlan0.

Używam bezprzewodowego odbiornika USB edimax:

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

Wykorzystuje moduł 8192cu w jądrze.

Aby wyłączyć powersave, dodaj następujące pliki do / etc / modules lub utwórz plik (8192cu.conf) w /etc/modprobe.d/ za pomocą linii:

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

Następny restart (lub rmmod / insmod) powinien wyłączyć tryb uśpienia, a twoje pi będzie dostępne przez cały czas.

Tworzę plik dla /etc/modprobe.d i jest on częścią skryptu, który zbudowałem w celu przeprowadzenia wstępnej konfiguracji nowego kompilacji.

lornix
źródło
1
To było w sieci przewodowej
Andy Smith
Niestety mam ten sam problem z wyłączonymi tymi funkcjami. Karta sieci bezprzewodowej nadal wyłącza się po kilku godzinach bezczynności.
StasM
Jestem ciekawy, czy faktycznie są wyłączone. Pliki modprobe.d należy nazwać szczególnie (x.conf) i liczy się pisownia (jak zawsze). Czy twój adapter bezprzewodowy to urządzenie 8192cu? może potrzebujesz innego modułu?
lornix,
@lornix: Jakiego polecenia użyłeś do wydrukowania typu używanego odbiornika bezprzewodowego?
David Norman
lsusbi lsusb -vsą bardzo pomocni. Ustalenie, który moduł nie zawsze jest łatwy. Istnieją sposoby dopasowania produkcji modinfo 8192cudo dostawcy: numery produktów w lsusbprodukcji.
lornix
2

Router często odłącza nieaktywnych klientów, aby zwolnić zasoby routera. Może się to zdarzyć losowo, jeśli klient nie był aktywny.

Pete Cranwell
źródło
1

Problemem było dla mnie także zarządzanie zasilaniem przez Wi-Fi, ale nie korzystałem z chipsetu 8192cu, więc instrukcje w drugiej odpowiedzi nie działały dla mnie.

Uruchom iwconfigi poszukaj linii, która zaczyna się odpower management

Jeśli napisane jest, że zarządzanie energią jest włączone, możesz je wyłączyć za pomocą:

iwconfig wlan0 power off

N Reed
źródło
0

Odkryłem, że intensywne ping-ingowanie ponownie powoduje połączenie Wi-Fi w moim przypadku. Zauważyłem, że po 70-100-tym pingu Pi zaczyna odpowiadać, a następnie sshmożna pomyślnie zainicjować połączenie.

Edytuj Wyłącz oszczędzanie energii

iw wlan0 set power_save off

Kliknij tutaj po szczegóły .

uczestnik
źródło