MSW сдох в процессе обновления из-за отключения интернета

Это какая то жесть. Обновляем прошивки на обьекте куче устройств. В процессе обновления падает интернет, и два датчика MSW превращаются в кирпичи. И поднять их мы теперь не можем.
Оставлю за скобками вопрос как такая дичь вообще может произойти. Чего делать то теперь?

В процессе обновления на двух устройствах получаем такое сообщение:

00%|####################################################################################################################################|221/221
2024-11-25 18:29:11,866 Flashing firmware to WB-MRWM2 (177, /dev/ttyRS485-2)
2024-11-25 18:29:12,940 
2024-11-25 18:29:12,940 Bootloader update (v1.3.0 -> v1.4.3) for mrwm2G /dev/ttyRS485-2:177 is available! (bootloader updates are highly recommended to install) Do a bootloader update? [Y/N]
y
2024-11-25 18:29:17,268 Flashing /var/lib/wb-mcu-fw-updater/bootloader/wb-bootloader-updater_mrwm2G__1.4.3_master_c44258d.wbfw (36 data chunks)
100%|######################################################################################################################################|36/36
2024-11-25 18:29:22,218 Temporarily trying 9600N2 in bootloader (because of some old bootloaders issues)
2024-11-25 18:29:24,046 Flashing /var/lib/wb-mcu-fw-updater/mrwm2G__1.21.1_master_f89b4fb.wbfw (221 data chunks)
100%|####################################################################################################################################|221/221
2024-11-25 18:30:13,193 Flashing firmware to WB-MAI6 (43, /dev/ttyRS485-2)
2024-11-25 18:30:16,125 Local bootloader version v1.3.0 is not found on remote! (maybe was removed manually) => Will update bootloader to latest v1.4.3 anyway!
2024-11-25 18:30:18,777 Flashing /var/lib/wb-mcu-fw-updater/bootloader/wb-bootloader-updater_wb-mai6-15__1.4.3_master_c44258d.wbfw (39 data chunks)

и все, теперь у меня два девайса вот в таком статусе:

2024-11-25 19:24:06,423 Found in bootloader: WB-MSW v.4 (42, /dev/ttyMOD1); fw_signature: msw5G
2024-11-25 19:24:10,298 Flashing /var/lib/wb-mcu-fw-updater/msw5G__4.31.11_master_c37be2e.wbfw (311 data chunks)
2024-11-25 19:24:13,726 
2024-11-25 19:24:13,841 Found in bootloader: WB-MSW v.4 (159, /dev/ttyMOD1); fw_signature: msw5G
2024-11-25 19:24:17,024 Flashing /var/lib/wb-mcu-fw-updater/msw5G__4.31.11_master_c37be2e.wbfw (311 data chunks)
2024-11-25 19:24:20,455 
2024-11-25 19:24:20,460 Now in bootloader:
2024-11-25 19:24:20,461 	WB-MSW v.4 (42, /dev/ttyMOD1); WB-MSW v.4 (159, /dev/ttyMOD1)
2024-11-25 19:24:20,462 Try wb-mcu-fw-updater recover-all

при попытке рекавера:

root@wirenboard-A74U7X7Q:~# wb-mcu-fw-updater recover /dev/ttyMOD1 -a 42
Will find bootloader port settings for (/dev/ttyMOD1 : 42; response_timeout: 0.20)... (elapsed: 00:02)
2024-11-25 19:21:54,511 Has found bootloader port settings: SerialSettings(baudrate=9600, parity='N', stopbits=2)
2024-11-25 19:21:59,674 Flashing /var/lib/wb-mcu-fw-updater/msw5G__4.31.11_master_c37be2e.wbfw (311 data chunks)
2024-11-25 19:22:02,505 Recovering (42 /dev/ttyMOD1) was not successful
2024-11-25 19:22:02,505 

при попытке флешером пройти:

root@wirenboard-A74U7X7Q:~# wb-mcu-fw-flasher -d /dev/ttyMOD1 -a 42 -f /mnt/data/etc/firmware.wbfw
/dev/ttyMOD1 opened successfully.
/mnt/data/etc/firmware.wbfw opened successfully, size 42328 bytes

Sending info block...
Error while sending info block: Resource temporarily unavailable

Error while sending info block: Resource temporarily unavailable

Error while sending info block: Connection reset by peer
Error while sending info block.
Check connection, jump to bootloader and try again.

Все, способы из вики закончились.

Добрый день.

Пока не очень понял, какое отношение имеют WB-MSW к обновлявшимся устройствам.
Обновлялись одни а в bootloder - другие?

Ну и - проверьте пожалуйста отвечают ли и какой версии загрузчик.
Да, а зачем сохраняете файл прошивки в каталоге конфигов?

В процессе обновления кучи устройств (около 30) в момент обновления двух MSW отваливался интернет. Об этом есть сообщение в логе:

2024-11-25 18:30:16,125 Local bootloader version v1.3.0 is not found on remote! (maybe was removed manually) => Will update bootloader to latest v1.4.3 anyway!

Извиите что не выкусил именно этот момент лога а отдал более полный, дабы было видно что остальные устройства обновлялись нормально
Далее, при поторном запуске обновления эти два устройства показываются вот в таком статусе

2024-11-25 19:24:06,423 Found in bootloader: WB-MSW v.4 (42, /dev/ttyMOD1); fw_signature: msw5G
2024-11-25 19:24:10,298 Flashing /var/lib/wb-mcu-fw-updater/msw5G__4.31.11_master_c37be2e.wbfw (311 data chunks)
2024-11-25 19:24:13,726 
2024-11-25 19:24:13,841 Found in bootloader: WB-MSW v.4 (159, /dev/ttyMOD1); fw_signature: msw5G
2024-11-25 19:24:17,024 Flashing /var/lib/wb-mcu-fw-updater/msw5G__4.31.11_master_c37be2e.wbfw (311 data chunks)
2024-11-25 19:24:20,455 
2024-11-25 19:24:20,460 Now in bootloader:
2024-11-25 19:24:20,461 	WB-MSW v.4 (42, /dev/ttyMOD1); WB-MSW v.4 (159, /dev/ttyMOD1)
2024-11-25 19:24:20,462 Try wb-mcu-fw-updater recover-all

когда я запускаю обновлялку с командой recover получаю вот такой ответ

root@wirenboard-A74U7X7Q:~# wb-mcu-fw-updater recover /dev/ttyMOD1 -a 42
Will find bootloader port settings for (/dev/ttyMOD1 : 42; response_timeout: 0.20)... (elapsed: 00:02)
2024-11-25 19:21:54,511 Has found bootloader port settings: SerialSettings(baudrate=9600, parity='N', stopbits=2)
2024-11-25 19:21:59,674 Flashing /var/lib/wb-mcu-fw-updater/msw5G__4.31.11_master_c37be2e.wbfw (311 data chunks)
2024-11-25 19:22:02,505 Recovering (42 /dev/ttyMOD1) was not successful
2024-11-25 19:22:02,505 

Когда я пытаюсь прошить их локально, скачав прошивку и положив ее куда мне удобно, я получаю вот такую картину

root@wirenboard-A74U7X7Q:~# wb-mcu-fw-updater recover /dev/ttyMOD1 -a 42
Will find bootloader port settings for (/dev/ttyMOD1 : 42; response_timeout: 0.20)... (elapsed: 00:02)
2024-11-25 19:21:54,511 Has found bootloader port settings: SerialSettings(baudrate=9600, parity='N', stopbits=2)
2024-11-25 19:21:59,674 Flashing /var/lib/wb-mcu-fw-updater/msw5G__4.31.11_master_c37be2e.wbfw (311 data chunks)
2024-11-25 19:22:02,505 Recovering (42 /dev/ttyMOD1) was not successful
2024-11-25 19:22:02,505 

насколько я понял из логов - устройство в режиме бутлоадер. Подскажите куда копать. Шить ему заново бутлоадер и потом пытаться фирмварь или есть еще статьи где почитать?

Судя по логу сообщение относиться к устройству

WB-MAI6. Гораздо продуктивнее показать весь лог.

Я рекомендую:

  • проверить что устройства отвечают
  • обновить с помощью wb-mcu-fw-flasher загрузчик
  • Загрузить уже прошивку для устройств.

получилось оживить, но только при локальной загрузке файлов, никакие wb-mcu-fw-updater update-bl не сработали, именно заказчка локального файла сработала. Устройства были в бутлоадере, отзывались на чтение регистров.

Ну отлично, рад. Именно поэтому сразу и написал про wb-mcu-fw-flasher.
Для некоторых (старых) версий bootloader это возможно и описано в errata
С новыми загрузчиками - не воспроизводится.
Отсутствие интернета на любом этапе не может быть причиной так как если файл не скачан и не проверен локально - то процесс для него и не начинается.

Для некоторых (старых) версий bootloader это возможно и описано в errata
С новыми загрузчиками - не воспроизводится.

что-то не бьется. Смотрите, до прошивки локально бутлоадером:

root@wirenboard-A74U7X7Q:~# echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyMOD1 -a42 -t0x03 -r330 -c8 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
1.4.3

То есть версия последняя получается?

Отсутствие интернета на любом этапе не может быть причиной так как если файл не скачан и не проверен локально - то процесс для него и не начинается.

Меня смутила вот эта надпись:

2024-11-25 18:48:41,671 Local bootloader version v1.3.0 is not found on remote! (maybe was removed manually) => Will update bootloader to latest v1.4.3 anyway!

Тогда можно прямо с помощью wb-mcu-fw-flasher и прошивку сразу заливать.

Тут написано что такого же как установленный на устройстве версии на сервере уже нет (удален) То есть на сервере лежат только, в основном, актуальные версии bootloader.
1.3.0 на сервере уже нету.

1 лайк