• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Ping - отвечает не всем

Adoliks

New member
Доброго дня, форумчане!
Столкнулся вот с какой странностью:
Есть несколько разных модулей ESP8266 (для примера возьму два: WeMos D1 mini и esp-12f - оба 4 Mb).
Прошивка от wifi-iot c SDK 2.0.0.
Модули с некоторым обвесом (сенсор температуры/влажности DHT22, сенсор давления BMP280). Второй модуль для тестов вообще пока голый, чтоб не вносил дополнительные погрешности в тест.
Оба заведены на Заббикс (трапом) для снятия показаний и сбора статистики.

Так вот, Заббикс их видит постоянно, без каких-либо проблем, включая доступность модулей по icmp ping.
При этом другие устройства в сети (ноутбук, компьютер, например - операционки разные) пингом то видят модули, то нет (соответственно и недоступен WEB интерфейс модуля для конфигурирования). Заббикс и прочая сетевая инфраструктура при этом на пинг отвечают. Закономерностей отваливания выявить не удалось.
Сетевые настройки модули получают по DHCP с постоянной фиксацией адреса.

Кто-нить сталкивался с подобной странностью? В какую сторону копать?
Спасибо за любые дельные советы!
 

pvvx

Активный участник сообщества
Так вот, Заббикс их видит постоянно, без каких-либо проблем, включая доступность модулей по icmp ping.
При этом другие устройства в сети (ноутбук, компьютер, например - операционки разные) пингом то видят модули, то нет (соответственно и недоступен WEB интерфейс модуля для конфигурирования).
Т.е. вопрос о route и прочем в данных ОС.
Тогда следует указать тип ОС, включенные в ней сервисы и подобное... + реакцию роутера на UDP запрос "спящего" устройства на WiFi в DTIM().
Broadcast и Multicast в WiFi практически не применяется и ретранслируется в конкретные запросы...
 

Adoliks

New member
Т.е. вопрос о route и прочем в данных ОС.
Тогда следует указать тип ОС, включенные в ней сервисы и подобное... + реакцию роутера на UDP запрос "спящего" устройства на WiFi в DTIM().
Broadcast и Multicast в WiFi практически не применяется и ретранслируется в конкретные запросы...
Сеть плоская, одноранговая, так что вопрос не в маршрутизации. От ОС не зависит. Модуль wi-fi в "сон" не загоняю.
 

Adoliks

New member
Похоже нашёл проблему, только не понимаю причину её возникновения пока.

На одном из модулей сменил SDK на версию 1.3.0 (до этого была 2.0.0) - модуль с сетью стал работать стабильно (правда начал отваливаться сенсор (сборка) BMP280, софт ресет не помогает, только перезагрузка по питанию). Модуль с SDK 2.0.0 продолжает вести себя по прежнему.
Попробую разные SDK и понаблюдаю.

Всем откликнувшимся спасибо за помощь!
 

Adoliks

New member
Похоже нашёл проблему, только не понимаю причину её возникновения пока.

На одном из модулей сменил SDK на версию 1.3.0 (до этого была 2.0.0) - модуль с сетью стал работать стабильно (правда начал отваливаться сенсор (сборка) BMP280, софт ресет не помогает, только перезагрузка по питанию). Модуль с SDK 2.0.0 продолжает вести себя по прежнему.
Попробую разные SDK и понаблюдаю.

Всем откликнувшимся спасибо за помощь!

Проблема не ушла. С SDK 1.3.0 также проявилась.
Вопрос в решении остаётся открытым...
 

pvvx

Активный участник сообщества
Модуль wi-fi в "сон" не загоняю.
Это точно? В ПО модуля поставили команду отключения режима Ligh и Modem на None? По умолчанию DTIM(1) включен.
Если отключили DTIM() в модуле, тогда роутер меняли при тесте?
 

Adoliks

New member
Это точно? В ПО модуля поставили команду отключения режима Ligh и Modem на None? По умолчанию DTIM(1) включен.
Если отключили DTIM() в модуле, тогда роутер меняли при тесте?
Через кастомизаию конструктора прошивки в сон не уводил (wifi-iot), но сон в расчёт всё же не беру и вот почему:
- Есть сервер Zabbix на Debian Jessie - с него 1 раз в минуту идут опросы обоих модулей - сбоев нет.
- Есть 2 ноута с MacOS High Sierra и стационарный комп с Win10 - на них картина одинаковая, пинги то есть, то нету, причём показания совпадают. Если при этом зайти на Zabbix-server по ssh и с него пингануть - пинги есть (отметаем вариант про невыход или лаг при выходе из режима сна - если не прав, поправьте, пожалуйста, в микроконтроллерном мире я совсем недавно).
Сеть:
- Ноуты подключены к Wi-Fi сети (той же, что и модули) - используются несколько точек доступа, но подключаются все почти всегда к одной и той же в этой локации.
- Комп и Zabbix-server подключены к свитчу, к нему же подключены и Wi-Fi точки доступа.
- По Wi-Fi бриджу, подключенному к тому же свитчу LAN стороной, и по радио к роутеру, получаем доступ во внешний мир и DHCP с фиксацией лизы по MAC. (кстати, видимость с роутера по аналогии компу и ноутам: то вижу, то не вижу, при этом на WEB-морде отражает, что модуль подключен - но её я часто ловил на лжи ))).
- Использовать другой роутер не пробовал.

Мысли:
- Ноуты и комп периодически уходят в сон, после чего модули либо видятся, либо нет. Без выявленной закономерности. Грешить на конкретную железку (здесь не про ESP) или ОС не приходится - разные.
- Заббикс сервер периодически опрашивает модули и видит их постоянно. Может потому и видит, что постоянно включен и стучится в модули? В принципе, для мониторинга мне этого достаточно, но при необходимости оперативного вмешательства или обновления придётся лезть хрен знает куда, что б по питанию сбросить модуль.
- При ребуте модуля по питанию пингуется отовсюду какое-то время.
- Пока писал этот текст, один из модулей пинговался, второй нет. Под конец ожил и он. Проверил аптайм - 23 с лишним часа после последних пыток (откидываем ребут модуля)

Дальнейшие шаги:
- Подключу к наблюдениям ещё один модуль esp-12f - голый, с НЕ wifi-iot прошивкой (посоветуйте что-нить стабильное для теста плз)
- IP выставлю принудительно, исключив влияние DHCP
-- Если не поможет - вся сеть в ребут
--- Если и это не поможет, Wireshark мне в помощь, но ох как не хотелось бы, времени слишком много отнимает.

Ребят, если есть мысли, пусть самые бредовые, присоединяйтесь (вдруг упустил что-нить).

@pvvx отдельное спасибо за направление действий - погуглю как это работает. Пока этими параметрами самому управлять не приходилось. Если не сложно, бросьте в меня полезными ссылками по этой теме если под рукой таковые есть.

Всем добра!
 

pvvx

Активный участник сообщества
Может потому и видит, что постоянно включен и стучится в модули?
Может у него другой тайм-аут ожидания ответа и/или он делает перезапрос.
Гарантии, что UDP пакет пройдет (будет храниться на роутере до просыпания устройства) на спящее (DTIM()) устройство нет никаких. Разбудить - разбудит. Последующий UDP пройдет с большей вероятность, что не будет отброшен или потерян.
Все green режимы страдают задержками и потерями при возобновлении связи...
В роутере и компе так-же бывают опции отключения всяких green режимов и на каждый канал LAN ...

USB Selective Suspend у WiFi-адаптера - что это и зачем? | Как настроить?
 
Последнее редактирование:
Сверху Снизу