Мы проанализировали архив и установили причину сбоя. Проблема программная, с подключением проводов она не связана.
При рестарте службы wb-mqtt-serial модуль 150:2 (WBIO-DI-WD-14) периодически пропускается в ходе инициализации: служба не записывает регистры конфигурации и не переходит к опросу этого модуля, хотя соседние модули того же WB-MGE (150:1, 150:3–150:6) инициализируются штатно. После этого MQTT-топики входов 150:2 остаются в последнем известном состоянии — «все входы = 1» — и не обновляются до следующего успешного подключения.
Вероятная причина — кратковременная перегрузка TCP-канала к WB-MGE в момент рестарта: модуль не успевает ответить в отведённый таймаут и пропускается. Это подтверждается предупреждением «Register read rate limit is exceeded» на порту 192.168.30.50:23, которое фиксируется сразу после каждого рестарта.
Обесточивание модуля на 20–30 секунд перезагружает его, после чего при следующем опросе wb-mqtt-serial видит устройство и инициализирует корректно — отсюда и эффект временного исправления.
Отдельно по записям в системном журнале вида:
i2c i2c-2: mv64xxx_i2c_fsm: Ctlr Error — state: 0x7, status: 0x0, addr: 0x60, flags: 0x1
Эти записи с описанной проблемой не связаны. Они появляются на внутренней шине i2c-2 контроллера и относятся к периодическому опросу embedded controller (EC) по адресу 0x60 — компонента, который присутствует не на всех ревизиях платформы. Когда EC недоступен, драйвер шины фиксирует ошибку в журнале, однако на работу WBIO-модулей, wb-mqtt-serial и MQTT-брокера это никак не влияет. Эти записи носят исключительно информационный характер и не требуют каких-либо действий с вашей стороны.
Прежде чем мы передадим информацию о найденном баге разработчикам, просим вас обновить программное обеспечение контроллера, прошивку WB-MGE v.2 и прошивки модулей WBIO до актуальных версий. Это важно: баги значительно проще воспроизвести и исправить на актуальной версии прошивки, и не исключено, что часть поведения уже изменилась в новых релизах. На контроллере сейчас установлен релиз wb-2507, актуальный стабильный релиз — wb-2602.
Обновление ПО контроллера — через веб-интерфейс (Настройки → Обновление ПО) или по SSH:
apt update && apt upgrade
Прошивки модулей обновляются через wb-cli. Для устройств за WB-MGE потребуется socat-переброс порта — инструкция: Обновление прошивки Modbus-устройств Wiren Board — Wiren Board
Если после обновления проблема повторится — пожалуйста, соберите новый диагностический архив в момент сбоя и приложите к этому обращению, мы передадим баг-репорт разработчикам.