Проблемы при обновлении устройств

Добрый день.

Уже пару раз сталкивался с проблемой при обновлении новых устройств, решил написать репорт.

Установил WB-MAI6 + WB-MDM3 (на шине еще пара других устройств), при обновлении через консоль на первой попытке процесс падает с ошибкой, со второго раза продолжается. Обновлял через консоль, т.к. через веб интерфейс как-то через раз работает.

Питание 12V, шина на витой паре и спец. кабеле под rs485, HW 8.5.1, обновлен до последнего ПО через apt.

systemctl stop wb-mqtt-serial
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a63 -t0x06 -r110 1152
modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a30 -t0x06 -r110 1152

root@wirenboard-AHXOYVVR:~# wb-mcu-fw-updater  update-fw -a 63 /dev/ttyRS485-2
Will find serial port settings for (/dev/ttyRS485-2 : 63; response_timeout: 0.20)... (elapsed: 00:03)
2025-08-16 19:29:51,745 Has found serial port settings: SerialSettings(baudrate=115200, parity='N', stopbits=2)
2025-08-16 19:29:55,297 fw (wb-mai6-15 63 on /dev/ttyRS485-2):
2025-08-16 19:29:55,298 Update: 2.1.3 -> 2.1.4 (wb-mai6-15 63 /dev/ttyRS485-2)
2025-08-16 19:29:56,344 
2025-08-16 19:29:56,345 Bootloader update (v1.4.8 -> v1.4.9) for wb-mai6-15 /dev/ttyRS485-2:63 is available! (bootloader updates are highly recommended to install) Do a bootloader update? [Y/N]
y
2025-08-16 19:30:01,305 Flashing /var/lib/wb-mcu-fw-updater/bootloader/wb-bootloader-updater_wb-mai6-15__1.4.9_master_4617288.wbfw (39 data chunks)
100%|###########################################################################################################################################################################################################################################################################################################################################################################################################################|39/39
2025-08-16 19:30:04,103 Temporarily trying 9600N2 in bootloader (because of some old bootloaders issues)
2025-08-16 19:30:05,879 Device (63, /dev/ttyRS485-2) has too old bootloader to save user data!
2025-08-16 19:30:05,880 
2025-08-16 19:30:05,880 User data (such as ir commands) will be erased. Are you sure? (do a backup if not!) [Y/N]
y
2025-08-16 19:30:08,940 Flashing /var/lib/wb-mcu-fw-updater/wb-mai6-15__2.1.4_main_84d7f68.wbfw (288 data chunks)
2025-08-16 19:30:11,370 Flashing fw to (/dev/ttyRS485-2 63; response_timeout: 0.20s) has failed!
2025-08-16 19:30:11,371 
root@wirenboard-AHXOYVVR:~# wb-mcu-fw-updater  update-fw -a 63 /dev/ttyRS485-2
Will find serial port settings for (/dev/ttyRS485-2 : 63; response_timeout: 0.20)... (elapsed: 00:19)
Will find bootloader port settings for (/dev/ttyRS485-2 : 63; response_timeout: 0.20)... (elapsed: 00:19)
2025-08-16 19:30:54,407 Has found bootloader port settings: SerialSettings(baudrate=115200, parity='N', stopbits=2)
2025-08-16 19:30:54,515 Device (/dev/ttyRS485-2 63; response_timeout: 0.20s) supposed to be alive, but found in bootloader 1.4.9
2025-08-16 19:30:57,159 Will flash fw v:2.1.4 to bring wb-mai6-15 (/dev/ttyRS485-2 63; response_timeout: 0.20s) alive
2025-08-16 19:30:58,629 Flashing /var/lib/wb-mcu-fw-updater/wb-mai6-15__2.1.4_main_84d7f68.wbfw (288 data chunks)
100%|####################################################################


root@wirenboard-AHXOYVVR:~# wb-mcu-fw-updater  update-fw -a 30 /dev/ttyRS485-2
Will find serial port settings for (/dev/ttyRS485-2 : 30; response_timeout: 0.20)... (elapsed: 00:03)
2025-08-16 19:28:03,612 Has found serial port settings: SerialSettings(baudrate=115200, parity='N', stopbits=2)
2025-08-16 19:28:07,109 fw (mdm3G26 30 on /dev/ttyRS485-2):
2025-08-16 19:28:07,111 Update: 2.9.1 -> 2.9.3 (mdm3G26 30 /dev/ttyRS485-2)
2025-08-16 19:28:08,271 
2025-08-16 19:28:08,272 Bootloader update (v1.4.8 -> v1.4.9) for mdm3G26 /dev/ttyRS485-2:30 is available! (bootloader updates are highly recommended to install) Do a bootloader update? [Y/N]
y
2025-08-16 19:28:12,643 Flashing /var/lib/wb-mcu-fw-updater/bootloader/wb-bootloader-updater_mdm3G26__1.4.9_master_4617288.wbfw (36 data chunks)
100%|###########################################################################################################################################################################################################################################################################################################################################################################################################################|36/36
2025-08-16 19:28:14,502 Temporarily trying 9600N2 in bootloader (because of some old bootloaders issues)
2025-08-16 19:28:16,048 Device (30, /dev/ttyRS485-2) has too old bootloader to save user data!
2025-08-16 19:28:16,049 
2025-08-16 19:28:16,049 User data (such as ir commands) will be erased. Are you sure? (do a backup if not!) [Y/N]
y
2025-08-16 19:28:20,757 Flashing /var/lib/wb-mcu-fw-updater/mdm3G26__2.9.3_master_6512ec4.wbfw (235 data chunks)
2025-08-16 19:28:23,186 Flashing fw to (/dev/ttyRS485-2 30; response_timeout: 0.20s) has failed!
2025-08-16 19:28:23,187 
root@wirenboard-AHXOYVVR:~# wb-mcu-fw-updater  update-fw -a 30 /dev/ttyRS485-2
Will find serial port settings for (/dev/ttyRS485-2 : 30; response_timeout: 0.20)... (elapsed: 00:19)
Will find bootloader port settings for (/dev/ttyRS485-2 : 30; response_timeout: 0.20)... (elapsed: 00:19)
2025-08-16 19:29:29,113 Has found bootloader port settings: SerialSettings(baudrate=115200, parity='N', stopbits=2)
2025-08-16 19:29:29,225 Device (/dev/ttyRS485-2 30; response_timeout: 0.20s) supposed to be alive, but found in bootloader 1.4.9
2025-08-16 19:29:32,009 Will flash fw v:2.9.3 to bring mdm3G26 (/dev/ttyRS485-2 30; response_timeout: 0.20s) alive
2025-08-16 19:29:33,208 Flashing /var/lib/wb-mcu-fw-updater/mdm3G26__2.9.3_master_6512ec4.wbfw (235 data chunks)
100%|#########################################################################################################################################################################################################################################################################################################################################################################################################################|235/235

Добрый день.
А покажите пожалуйста ошибку на которой “падает” обновление?

Из лога первого сообщения, других нет:

2025-08-16 19:30:11,370 Flashing fw to (/dev/ttyRS485-2 63; response_timeout: 0.20s) has failed!
2025-08-16 19:28:23,186 Flashing fw to (/dev/ttyRS485-2 30; response_timeout: 0.20s) has failed!

Ага, увидел.
Пробую воспроизвести, пока не получается.

wb-mcu-fw-updater  update-fw -a 42 /dev/ttyRS485-1 -f
Will find serial port settings for (/dev/ttyRS485-1 : 42; response_timeout: 0.20)... (elapsed: 00:03)
2025-08-18 13:25:47,014 Has found serial port settings: SerialSettings(baudrate=115200, parity='N', stopbits=2)
2025-08-18 13:25:51,703 fw (mdm3 42 on /dev/ttyRS485-1):
2025-08-18 13:25:51,705 Force update: 2.6.6 -> 2.6.6 (mdm3 42 /dev/ttyRS485-1)
2025-08-18 13:25:55,332 Flashing /var/lib/wb-mcu-fw-updater/bootloader/wb-bootloader-updater_mdm3__1.4.9_master_4617288.wbfw (39 data chunks)
100%|###########################################################################################################################################################################################################################################################################################################################################|39/39
2025-08-18 13:26:05,273 Flashing /var/lib/wb-mcu-fw-updater/mdm3__2.6.6_master_ff07c8a.wbfw (157 data chunks)
100%|#########################################################################################################################################################################################################################################################################################################################################|157/157
2025-08-18 13:26:38,471 Done

Ну и между версиями загрузчика - изменений для устройств нет.

Возможно, в Вашем случае обновление идет как принудительное и проблема не проявляется, в моему случае устройство “новое из коробки” с чуть устаревшей версии. Или, возможно, дело в запросе на сброс данных:

2025-08-16 19:28:16,049 User data (such as ir commands) will be erased. Are you sure? (do a backup if not!) [Y/N]

Вероятно - да, но формат хранения был изменен сильно раньше чем установленный загрузчик. Ну и у сея я загрузчик менял на более ранний - с труктура уже была создана.

Планируется ли исправление проблемы?
Сейчас достал из коробки WB-MR6C v2, та же проблема при обновлении.

Проверяем связь чтением регистра скорости:

 # modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a245 -t0x03 -r110
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[F5][03][00][6E][00][01][F0][A3]
Waiting for a confirmation...
<F5><03><02><00><60><09><B9>
SUCCESS: read 1 of elements:
	Data: 0x0060 

Переводим на 115200:

# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a245 -t0x06 -r110 1152
Data to write: 0x480
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[F5][06][00][6E][04][80][FE][03]
Waiting for a confirmation...
<F5><06><00><6E><04><80><FE><03>
SUCCESS: written 1 elements!

Проверяем связь на 115200:

# modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-2 -a245 -t0x03 -r110
Opening /dev/ttyRS485-2 at 115200 bauds (N, 8, 2)
[F5][03][00][6E][00][01][F0][A3]
Waiting for a confirmation...
<F5><03><02><04><80><0A><F1>
SUCCESS: read 1 of elements:
	Data: 0x0480 

Обновляем, первая попытка обновляет загрузчик, но далее падает с ошибкой:

# wb-mcu-fw-updater  update-fw -a 245 /dev/ttyRS485-2
Will find serial port settings for (/dev/ttyRS485-2 : 245; response_timeout: 0.20)... (elapsed: 00:03)
2025-08-25 16:22:02,596 Has found serial port settings: SerialSettings(baudrate=115200, parity='N', stopbits=2)
2025-08-25 16:22:06,100 fw (mr6cG 245 on /dev/ttyRS485-2):
2025-08-25 16:22:06,101 Update: 1.21.4 -> 1.21.7 (mr6cG 245 /dev/ttyRS485-2)
2025-08-25 16:22:07,245 
2025-08-25 16:22:07,247 Bootloader update (v1.4.8 -> v1.4.9) for mr6cG /dev/ttyRS485-2:245 is available! (bootloader updates are highly recommended to install) Do a bootloader update? [Y/N]
y
2025-08-25 16:22:11,829 Flashing /var/lib/wb-mcu-fw-updater/bootloader/wb-bootloader-updater_mr6cG__1.4.9_master_4617288.wbfw (36 data chunks)
100%|###########################################################################################################################################################################################################################################################################################################################################################################################################################|36/36
2025-08-25 16:22:13,586 Temporarily trying 9600N2 in bootloader (because of some old bootloaders issues)
2025-08-25 16:22:15,046 Device (245, /dev/ttyRS485-2) has too old bootloader to save user data!
2025-08-25 16:22:15,047 
2025-08-25 16:22:15,047 User data (such as ir commands) will be erased. Are you sure? (do a backup if not!) [Y/N]
y
2025-08-25 16:22:18,308 Flashing /var/lib/wb-mcu-fw-updater/mr6cG__1.21.7_master_ae27a9c.wbfw (217 data chunks)
2025-08-25 16:22:20,736 Flashing fw to (/dev/ttyRS485-2 245; response_timeout: 0.20s) has failed!
2025-08-25 16:22:20,738 

Обновляем, попытка номер два. Успешное обновление основной прошивки:

# wb-mcu-fw-updater  update-fw -a 245 /dev/ttyRS485-2
Will find serial port settings for (/dev/ttyRS485-2 : 245; response_timeout: 0.20)... (elapsed: 00:19)
Will find bootloader port settings for (/dev/ttyRS485-2 : 245; response_timeout: 0.20)... (elapsed: 00:19)
2025-08-25 16:23:04,761 Has found bootloader port settings: SerialSettings(baudrate=115200, parity='N', stopbits=2)
2025-08-25 16:23:04,872 Device (/dev/ttyRS485-2 245; response_timeout: 0.20s) supposed to be alive, but found in bootloader 1.4.9
2025-08-25 16:23:09,576 Will flash fw v:1.21.7 to bring mr6cG (/dev/ttyRS485-2 245; response_timeout: 0.20s) alive
2025-08-25 16:23:10,722 Flashing /var/lib/wb-mcu-fw-updater/mr6cG__1.21.7_master_ae27a9c.wbfw (217 data chunks)
100%|#########################################################################################################################################################################################################################################################################################################################################################################################################################|217/217

Попробую воспроизвести. Это (реле) новое устройство?
А при обновлении из веб-интерфейса - воспроизводится?

Да, новое, как и все устройства из первого поста.

Потенциально еще есть 3 попытки (3 запечатанные коробки).

Через веб интерфейс так же были ошибки, но не было времени разбираться/писать репорты и перешел на консоль.

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

Здравствуйте! А есть ли у вас возможность подключить еще необновленное, новое устройство коротким кабелем и единственным устройством на шине к тому же порту и проверить механизм обновления?

Добрый день! Сохраняется ли проблема?