Добрый день.
Проблема:
- зависли в загрузчике датчики msw v4
- не передают в спрут состояние реле mr6cu
- на модулях wb-led поменялись modbus адреса
Анамнез
- вчера проводил обновление через ssh apt update &&& apt upgrade
- после обновления пропали все настроенные устройства - msw, mwac, mr6cu, ecodim Dali gw, wb-led. Остались только relay&FETs.
- Поиском удалось найти msw и mr6cu. MWAC - добавлял в ручную после добавления появилась индикация, что требуется обновление бутлоадера и прошивок mr6cu, wb-led, msw.
- На вкладке «устройства» происходило мерцание - устройства появлялись и пропадали. На вкладке «правила» список правил не подгружался.
- через интерфейс попытался обновить бутлоадер у устройств, где это указала система - попытка обновления проходила не успешно.
- для восстановления устройств, как указано было в инструкции, проводил прошивку через ssh. Команда recovery не проходила, но через upgrade-bl удавалось прошить бутлоадер. В некоторых случаях со второго раза, тк первая попытка крашилась.
- накатив на несколько устройств новый бутлоадер «колбасня» на вкладке «устройства прекратилась».
- обновив 1 mr6cu и все wb-led попробовал обновить msw, но они не прошивались и зависли в статусе «в загрузчике».
- попробовал накатить последний стэйбл образ системы - не помогло (до этого была осенняя прошивка)
Вопрос, как поднять железки?
Здравствуйте.
Пришлите, пожалуйста, диагностический архив. Создание архива описано в документации.
Проверьте также качество электропитания для контроллера и периферийных устройств.
Какие либо физические манипуляции проводились? С шиной, например?
Добрый день. Архив приложил.
diag_output_AYVLJB5N_2025-03-17-08.52.37.zip (200,1 КБ)
До обновления - нет, шину физически не трогал.
Кстати, ещё пропал один wb-led, с адресом 29 - в ручную не добавляется и не находится поиском устройств.
Нужно некоторое время для анализа вашего архива. Пожалуйста, ожидайте.
Давайте поэтапно решать задачу.
Вижу одно проблемное устройство с адресом 21 - “ecodim_dali_gw2”.
Для проверки попробуйте отключить его физически из шины. Что то изменится после этого?
Прочтите (не забудьте остановить wb-mqtt-serial), пожалуйста, версию загрузчика.
Аналогично для:
Добрый день.
Исключать ecodim пока не стал, т.к.:
- Он стоит в щите, с коммутацией пока не хотел бы
- Проблема была всегда, я так понимаю это особенность работы этого шлюза, т.к. где-то тут была тема, где он так же себя вёл
- На работоспособность ранее это не влияло.
Логи загрузчика я считал:
Спойлер
root@wirenboard:~# systemctl stop wb-mqtt-serial
root@wirenboard:~# echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a29 -t0x03 -r330 -c8 | grep Data | sed -e ‘s/.*Data://’ -e ‘s/ 0x00/\x/g’)30 -c8 | grep Data | sed -e ‘s/.*Data://’ -e ‘s/ 0x00/\x/g’)
root@wirenboard:~# echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-2 -a46 -t0x03 -r330 -c8 | grep Data | sed -e ‘s/.*Data://’ -e ‘s/ 0x00/\x/g’)
1.4.8
root@wirenboard:~# echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-2 -a69 -t0x03 -r330 -c8 | grep Data | sed -e ‘s/.*Data://’ -e ‘s/ 0x00/\x/g’)
1.4.8
root@wirenboard:~# echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-2 -a49 -t0x03 -r330 -c8 | grep Data | sed -e ‘s/.*Data://’ -e ‘s/ 0x00/\x/g’)
1.4.8
root@wirenboard:~# echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-2 -a117 -t0x03 -r330 -c8 | grep Data | sed -e ‘s/.*Data://’ -e ‘s/ 0x00/\x/g’)
1.2.2
root@wirenboard:~# echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a129 -t0x03 -r330 -c8 | grep Data | sed -e ‘s/.*Data://’ -e ‘s/ 0x00/\x/g’)
1.4.8
root@wirenboard:~# echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a119 -t0x03 -r330 -c8 | grep Data | sed -e ‘s/.*Data://’ -e ‘s/ 0x00/\x/g’)
1.4.8
root@wirenboard:~# systemctl start wb-mqtt-serial
- 29 - это пропавший с радаров wb-led
- a49, 69 - датчики msw, которые висят в загрузчике
- а46 - датчик msw, где обновился загрузки у меня
- а117 - это датчик msw до обновления (у меня есть ещё 4, которые я после отвала первых двух не трогал)
- a129, a119 - это mr6cu, которые работают, но их состояние не пробрасывается в Sprut
Дополню по поводу wb-led на 29 адресе - индикация “S” примерно раз в секунду. Поиском не находится, поиском устройств в режиме загрузчика так же не нашёлся, по SSH тоже ничего не вернул по поводу bootloader
Благодарю за ожидание.
-
Тем устройствам, которые ответили корректно, восстановите прошивку.
-
Те устройства, которые не ответили, установите по одному на отдельный порт. Желательно по одному. И повторите запрос.
Прошу поделиться результатом.
Попробовал.
Датчик с адресом а69, который висел в загрузчике - поднялся.
Датчик с адресом а49 падает с ошибкой:
Спойлер
root@wirenboard:~# wb-mcu-fw-updater recover /dev/ttyRS485-2 -a 49
Will find bootloader port settings for (/dev/ttyRS485-2 : 49; response_timeout: 0.20)… (elapsed: 00:02)
2025-03-18 18:18:46,149 Has found bootloader port settings: SerialSettings(baudrate=9600, parity=‘N’, stopbits=2)
2025-03-18 18:18:57,570 Flashing /var/lib/wb-mcu-fw-updater/msw5G__4.31.13_master_e4dd903.wbfw (312 data chunks)
2025-03-18 18:19:00,398 Recovering (49 /dev/ttyRS485-2) was not successful
2025-03-18 18:19:00,399
root@wirenboard:~#
WB-Led, который никак не определяется перекомутирую позднее - жду, когда приедут клемники, что бы собрать временную линию и не потребовалось разбирать пол щита
Добрый день.
Тогда попробуйте для датчика WB-MSW c номером 49 восстановить прошивку через flasher, подробнее здесь. Кстати, для WB-LED тоже.
Спасибо.
Датчик MSW удалось завести, а вот с wb-led выходит ошибку.
У меня не получилось считать сигнатуру - возвращает после пустое поле, и прошить не удалось
Спойлер
Last login: Wed Mar 19 17:55:13 2025 from 192.168.0.17
root@wirenboard:~# ls
dead.letter ledG__3.5.3_master_616ca5a.wbfw
root@wirenboard:~# systemctl stop wb-mqtt-serial
root@wirenboard:~# wb-mcu-fw-flasher -d /dev/ttyRS485-1 -a 29 -f ./ledG__3.5.3_master_616ca5a.wbfw
/dev/ttyRS485-1 opened successfully.
./ledG__3.5.3_master_616ca5a.wbfw opened successfully, size 32944 bytes
Sending info block…
Error while sending info block: Connection timed out
Error while sending info block: Connection timed out
Error while sending info block: Connection timed out
Error while sending info block.
Check connection, jump to bootloader and try again.
root@wirenboard:~# systemctl start wb-mqtt-serial
root@wirenboard:~#
Здравствуйте.
Если не удается прочитать сигнатуру - не получится и прошить.
Подключите, пожалуйста, WB-LED единственным устройством на шине и выполните присвоение 29-го адреса:
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a0 -t0x06 -r128 29
Затем повторите попытку восстановления:
Прошу поделиться результатом.
Ок, давайте тогда этот вопрос до выходных захолдим - я соберу временную линию, для того что бы перешить это устройство.
Добрый день .
Я присвоил адрес и восстановил прошивку устройства - теперь работает корректно.
Точнее, если быть точным, то пришлось у 2 wb-led править адреса, т.к. во время сбоя устройство с адресом 149, потеряло адрес, а устройство с адресом 29 каким-то образом присвоило себе адрес 149. Соответственно вернув всем адреса и накатив прошивку на 149 удалось восстановить всё.
Здравствуйте. Рад что получилось.
Если возникнут еще какие-либо вопросы - не стесняйтесь обращаться.