Проблема обновления прошивки WB-MRGBW-D на WB7

При попытке обновления прошивки WB-MRGBW-D на актуальную версию посыпались ошибки:

root@wirenboard-AUX3DZHR:~# wb-mcu-fw-updater update-all
2022-02-23 15:34:05,299 Will probe all devices defined in /etc/wb-mqtt-serial.conf
2022-02-23 15:34:09,088 Update skipped: WB-MSW v.3 (port: /dev/ttyRS485-2; slaveid: 106) (has already latest fw 4.16.19)
2022-02-23 15:34:10,186 Update available: WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 59) (from 1.3.2 to 3.0.0)
2022-02-23 15:34:11,290 Update available: WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 38) (from 1.3.2 to 3.0.0)
2022-02-23 15:34:12,396 Update available: WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 43) (from 1.3.2 to 3.0.0)
2022-02-23 15:34:13,512 Update skipped: WB-MDM3 (port: /dev/ttyRS485-1; slaveid: 165) (has already latest fw 2.3.0)
2022-02-23 15:34:13,513 Flashing firmware to WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 59)

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

2022-02-23 15:34:18,507 Command '['/usr/bin/wb-mcu-fw-flasher', '-d', '/dev/ttyRS485-1', '-a', '59', '-f', '/var/lib/wb-mcu-fw-updater/mrgbw__3.0.0_master_4e4db99.wbfw', '-t', '2.0']' returned non-zero exit status 1
2022-02-23 15:34:18,516 Flashing firmware to WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 38)

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

2022-02-23 15:34:23,537 Command '['/usr/bin/wb-mcu-fw-flasher', '-d', '/dev/ttyRS485-1', '-a', '38', '-f', '/var/lib/wb-mcu-fw-updater/mrgbw__3.0.0_master_4e4db99.wbfw', '-t', '2.0']' returned non-zero exit status 1
2022-02-23 15:34:23,541 Flashing firmware to WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 43)

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

2022-02-23 15:34:28,492 Command '['/usr/bin/wb-mcu-fw-flasher', '-d', '/dev/ttyRS485-1', '-a', '43', '-f', '/var/lib/wb-mcu-fw-updater/mrgbw__3.0.0_master_4e4db99.wbfw', '-t', '2.0']' returned non-zero exit status 1
2022-02-23 15:34:28,495 The following devices were not updated:
	WB-MSW v.3 (port: /dev/ttyRS485-2; slaveid: 106)
	WB-MDM3 (port: /dev/ttyRS485-1; slaveid: 165)
You may try to:
	run with "-f" arg to force reflash devices
	run with "--allow-downgrade" arg to flash devices to released FWs
	switch to newer release to get support of new devices
2022-02-23 15:34:28,497 No answer from the following devices:
	WB-MR6C (port: /dev/ttyRS485-1; slaveid: 34)
Devices are possibly disconnected.
2022-02-23 15:34:28,499 The following devices are in bootloader mode.
Try "wb-mcu-fw-updater recover-all":
	WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 59)
	WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 38)
	WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 43)
2022-02-23 15:34:28,501 0 upgraded, 2 skipped upgrade, 3 stuck in bootloader, 1 disconnected and 0 too old for any updates

восстановление командой wb-mcu-fw-updater recover-all
не помогло:

2022-02-23 15:37:13,237 Will probe all devices defined in /etc/wb-mqtt-serial.conf
2022-02-23 15:37:18,804 Known fw_signature: WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 43)
2022-02-23 15:37:18,872 Known fw_signature: WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 59)
2022-02-23 15:37:18,940 Known fw_signature: WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 38)
2022-02-23 15:37:18,941 Flashing the most recent stable firmware:

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

2022-02-23 15:37:23,071 Command '['/usr/bin/wb-mcu-fw-flasher', '-d', '/dev/ttyRS485-1', '-a', '43', '-f', '/var/lib/wb-mcu-fw-updater/mrgbw__3.0.0_master_4e4db99.wbfw', '-t', '2.0']' returned non-zero exit status 1

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

2022-02-23 15:37:27,233 Command '['/usr/bin/wb-mcu-fw-flasher', '-d', '/dev/ttyRS485-1', '-a', '59', '-f', '/var/lib/wb-mcu-fw-updater/mrgbw__3.0.0_master_4e4db99.wbfw', '-t', '2.0']' returned non-zero exit status 1

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Connection timed out

Error while sending data block: Invalid CRC

Error while sending data block: Invalid CRC

2022-02-23 15:37:31,349 Command '['/usr/bin/wb-mcu-fw-flasher', '-d', '/dev/ttyRS485-1', '-a', '38', '-f', '/var/lib/wb-mcu-fw-updater/mrgbw__3.0.0_master_4e4db99.wbfw', '-t', '2.0']' returned non-zero exit status 1
2022-02-23 15:37:31,352 Done
2022-02-23 15:37:31,353 Could not recover:
	WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 43)
	WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 59)
	WB-MRGBW-D fw3 (port: /dev/ttyRS485-1; slaveid: 38)
Try again or launch single recover with --fw-sig <fw_signature> key for each device!
2022-02-23 15:37:31,354 0 recovered, 2 was already working, 3 not recovered and 1 not answered to recover cmd.

Пытался восстановить прошивку вручную, скачал ее из репозитория:

root@wirenboard-AUX3DZHR:~# systemctl stop wb-mqtt-serial 
root@wirenboard-AUX3DZHR:~# wb-mcu-fw-flasher -d /dev/ttyRS485-1 -a 43 -f /mnt/data/mrgbw__3.0.0_master_4e4db99.wbfw 
/dev/ttyRS485-1 opened successfully.
/mnt/data/mrgbw__3.0.0_master_4e4db99.wbfw opened successfully, size 20704 bytes

Sending info block... OK

Sending data block 1 of 152...
Error while sending data block: Invalid CRC
Sending data block 1 of 152...
Error while sending data block: Connection timed out
Sending data block 1 of 152...
Error while sending data block: Invalid CRC
Sending data block 1 of 152...
Error while sending data block: Connection timed out
Sending data block 2 of 152...
Error while sending data block: Invalid CRC
Sending data block 2 of 152...
Error while sending data block: Connection timed out
Sending data block 2 of 152...
Error while sending data block: Invalid CRC

Вижу, что помогло использование другого wb-mcu-fw-flasher.

1 лайк

Да, пока так, временный костыль.