Отключается от сети («Узел назначения недоступен»)

15

Я запускаю свой Pi без головы, подключаясь через SSH по сети. У меня проблема, которую я могу постоянно воспроизводить. Я оставлю скрипт Python на моем Pi и вернусь через несколько часов, и соединения SSH с Pi истечут.

Если я пингую это, я получаю следующее:

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.

Единственный способ вернуть его в сеть - это перезапустить его (отключить питание).

Кто-нибудь испытывал это? Есть ли какие-либо файлы журналов, на которые я могу посмотреть, чтобы диагностировать проблему?

Энди Смит
источник
1
На малине у меня есть только cronjob, выполняющий скрипт на python, и он тоже умрет через несколько часов до 2 дней. Я больше не могу SSH, только перезапуск с отключением питания поможет.
k0pernikus
@ k0pernikus интересно! Сейчас я пытаюсь запустить его с прикрепленным скреном (4 часа и считая), и он не потерпел неудачу. Вы используете экран вообще?
Энди Смит,
что находится в вашем / etc / network / interfaces? Что-нибудь страшное dmesg? Как RPI подключен к сети? Через роутер? Что в логах роутера? Если вы снова подключите кабель Ethernet к RPI, он вернет его в сеть?
Аболотнов
@abolotnov На самом деле я нахожу это сейчас, если я запускаю RPI с подключенным монитором - кажется, это займет больше времени, но когда я вернусь через 6 часов или около того, он не будет отвечать. Dmesg кажется ясно.
Энди Смит

Ответы:

9

Беспроводное устройство переходит в спящий режим после периода бездействия. Это энергосберегающая схема.

Вам нужно отключить функцию энергосбережения в wlan0.

Я использую беспроводной приемник edimax:

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

Он использует модуль 8192cu в ядре.

Чтобы отключить powersave, добавьте следующее в / etc / modules или создайте файл (8192cu.conf) в /etc/modprobe.d/ со следующими строками:

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

При следующей перезагрузке (или rmmod / insmod) он должен отключить спящий режим, и ваш пи будет доступен постоянно.

Я создаю файл для /etc/modprobe.d и он является частью скрипта, который я создал для предварительной настройки новой сборки.

lornix
источник
1
Это было в проводной сети
Энди Смит
К сожалению, у меня та же проблема с выключенными этими функциями. Беспроводной адаптер по-прежнему отключается после нескольких часов бездействия.
StasM
Мне любопытно, действительно ли они выключены. Файлы modprobe.d имеют много имен, в частности (x.conf) и количество написаний (как всегда). Является ли ваш беспроводной адаптер устройством 8192cu? возможно вам нужен другой модуль?
lornix
@lornix: Какую команду вы использовали для распечатки типа используемого вами беспроводного приемника?
Дэвид Норман
lsusbи lsusb -vочень полезны. Выяснить, какой модуль не всегда легко, есть способы сопоставить выходные данные modinfo 8192cuс поставщиком: номера продуктов в lsusbвыходных данных.
lornix
2

Обычно маршрутизатор отключает неактивных клиентов для освобождения ресурсов маршрутизатора. Это может произойти в случайное время, если клиент не был активным.

Пит Кранвелл
источник
1

Проблемой для меня было также управление питанием на Wi-Fi, но я не использовал чипсет 8192cu, поэтому инструкции в другом ответе не работали для меня.

Запустите iwconfigи найдите строку, которая начинается сpower management

Если это говорит о том, что управление питанием включено, вы можете отключить его с помощью:

iwconfig wlan0 power off

Рид
источник
0

Я обнаружил, что экстенсивно ping-ing снова устанавливает Wi-Fi-соединение в моем случае. Я заметил, что после 70-100-го пинга Pi начинает отвечать, и после этого ssh-соединение может быть успешно инициировано.

Изменить Выключить энергосбережение

iw wlan0 set power_save off

Нажмите здесь для подробностей .

участник
источник