Обновлялся через Веб, была версия bootloader’a ~1.0.1, сейчас показывается 1.4.3 и устройство в бутлоадере
обновить бутлоадер или саму прошивку в т.ч. через recover не получается
HW 1.1
SN 4267669534
root@wirenboard:~#
root@wirenboard:~# wb-mcu-fw-updater update-bl --force -a 17 /dev/ttyRS485-2
Will find serial port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:19)
Will find bootloader port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:02)
2025-01-22 08:37:17,101 Has found bootloader port settings: SerialSettings(baudrate=9600, parity='N', stopbits=2)
2025-01-22 08:37:17,212 Device (/dev/ttyRS485-2 17; response_timeout: 0.20s) supposed to be alive, but found in bootloader 1.4.3
2025-01-22 08:37:17,907 Will flash bootloader v:1.4.3 to bring mcm8 (/dev/ttyRS485-2 17; response_timeout: 0.20s) alive
2025-01-22 08:37:18,141 Flashing /var/lib/wb-mcu-fw-updater/bootloader/wb-bootloader-updater_mcm8__1.4.3_master_c44258d.wbfw (39 data chunks)
2025-01-22 08:37:20,766 Flashing bootloader to (/dev/ttyRS485-2 17; response_timeout: 0.20s) has failed!
2025-01-22 08:37:20,767
root@wirenboard:~# systemctl stop wb-mqtt-serial
root@wirenboard:~# wb-mcu-fw-updater update-bl --force -a 17 /dev/ttyRS485-2
Will find serial port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:19)
Will find bootloader port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:02)
2025-01-22 08:38:28,522 Has found bootloader port settings: SerialSettings(baudrate=9600, parity='N', stopbits=2)
2025-01-22 08:38:28,633 Device (/dev/ttyRS485-2 17; response_timeout: 0.20s) supposed to be alive, but found in bootloader 1.4.3
2025-01-22 08:38:29,385 Will flash bootloader v:1.4.3 to bring mcm8 (/dev/ttyRS485-2 17; response_timeout: 0.20s) alive
2025-01-22 08:38:29,595 Flashing /var/lib/wb-mcu-fw-updater/bootloader/wb-bootloader-updater_mcm8__1.4.3_master_c44258d.wbfw (39 data chunks)
2025-01-22 08:38:32,220 Flashing bootloader to (/dev/ttyRS485-2 17; response_timeout: 0.20s) has failed!
2025-01-22 08:38:32,221
root@wirenboard:~# wb-mcu-fw-updater update-fw /dev/ttyRS485-2 -a17
Will find serial port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:20)
Will find bootloader port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:02)
2025-01-22 08:40:30,360 Has found bootloader port settings: SerialSettings(baudrate=9600, parity='N', stopbits=2)
2025-01-22 08:40:30,471 Device (/dev/ttyRS485-2 17; response_timeout: 0.20s) supposed to be alive, but found in bootloader 1.4.3
2025-01-22 08:40:32,291 Will flash fw v:1.6.6 to bring mcm8 (/dev/ttyRS485-2 17; response_timeout: 0.20s) alive
2025-01-22 08:40:33,189 Flashing /var/lib/wb-mcu-fw-updater/mcm8__1.6.6_master_dee0fe9.wbfw (186 data chunks)
2025-01-22 08:40:35,811 Flashing fw to (/dev/ttyRS485-2 17; response_timeout: 0.20s) has failed!
root@wirenboard:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-2 -a17 -t0x03 -r290 -c12
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 2)
[11][03][01][22][00][0C][E6][A9]
Waiting for a confirmation...
<11><03><18><00><6D><00><63><00><6D><00><38><00><FF><00><FF><00><FF><00><FF><00><FF><00><FF><00><FF><00><FF><2B><73>
SUCCESS: read 12 of elements:
Data: 0x006d 0x0063 0x006d 0x0038 0x00ff 0x00ff 0x00ff 0x00ff 0x00ff 0x00ff 0x00ff 0x00ff
root@wirenboard:~# wb-mcu-fw-updater recover -a 17 /dev/ttyRS485-2
root@wirenboard:~# wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a17 --get-device-info
/dev/ttyRS485-2 opened successfully.
Bootloader version: 1.4.3
Firmware version read error: Connection timed out; Maybe device is in bootloader?
Firmware signature (fw-sig): mcm8▒▒▒▒▒▒▒▒
Download firmwares: https://fw-releases.wirenboard.com/?prefix=fw/by-signature/mcm8▒▒▒▒▒▒▒▒/
root@wirenboard:~# echo -e $(modbus_client -mrtu -pnone -s2 -b9600 /dev/ttyRS485-2 -a 17 -t3 -r 290 -c 12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
mcm8▒▒▒▒▒▒▒▒
root@wirenboard:~# wb-mcu-fw-updater update-fw -a 17 /dev/ttyRS485-2
Will find serial port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:19)
Will find bootloader port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:02)
root@wirenboard:~# wb-mcu-fw-updater recover -a 17 /dev/ttyRS485-2 --debug
2025-01-22 08:29:06,570 Will run: fuser /dev/ttyRS485-2
2025-01-22 08:29:06,648 No clients for /dev/ttyRS485-2 found
2025-01-22 08:29:06,651 Reading /usr/lib/wb-release for releases info
2025-01-22 08:29:06,652 Got releases info:
2025-01-22 08:29:06,652 defaultdict(<function parse_releases.<locals>.<lambda> at 0xffffb0d46b80>, {'RELEASE_NAME': 'wb-2410', 'SUITE': 'stable', 'TARGET': 'wb8/bullseye', 'REPO_PREFIX': ''})
2025-01-22 08:29:06,653 GET: http://fw-releases.wirenboard.com/
2025-01-22 08:29:06,965 Set SerialSettings(baudrate=9600, parity='N', stopbits=2) to /dev/ttyRS485-2
2025-01-22 08:29:06,966 /dev/ttyRS485-2 response_timeout -> 0.20
2025-01-22 08:29:06,968 Set SerialSettings(baudrate=9600, parity='N', stopbits=2) to /dev/ttyRS485-2
2025-01-22 08:29:06,968 /dev/ttyRS485-2 response_timeout -> 0.20
2025-01-22 08:29:06,969 Will find bootloader port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)...
Will find bootloader port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:00)2025-01-22 08:29:07,013 /dev/ttyRS485-2 response_timeout -> 1.20
Will find bootloader port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:01)2025-01-22 08:29:08,322 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xffffb0d533d0>, 4096, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) not succeed (try 1/2): Slave reported device failure
Will find bootloader port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:02)2025-01-22 08:29:09,636 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xffffb0d533d0>, 4096, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) not succeed (try 2/2): Slave reported device failure
2025-01-22 08:29:09,636 /dev/ttyRS485-2 response_timeout -> 0.20
Will find bootloader port settings for (/dev/ttyRS485-2 : 17; response_timeout: 0.20)... (elapsed: 00:02)
2025-01-22 08:29:09,860 f = read_u16(<wb_modbus.bindings.WBModbusDeviceBase object at 0xffffb0d533d0>, 128) not succeed (try 1/2): No communication with the instrument (no answer)
2025-01-22 08:29:10,068 f = read_u16(<wb_modbus.bindings.WBModbusDeviceBase object at 0xffffb0d533d0>, 128) not succeed (try 2/2): No communication with the instrument (no answer)
2025-01-22 08:29:10,070 Has found bootloader port settings: SerialSettings(baudrate=9600, parity='N', stopbits=2)
2025-01-22 08:29:10,072 GET: http://fw-releases.wirenboard.com/fw/by-signature/fw_signatures.txt
2025-01-22 08:29:10,374 Will ask a bootloader for fw_signature
2025-01-22 08:29:10,486 FW signature for 17 : /dev/ttyRS485-2 is mcm8
2025-01-22 08:29:10,488 FW releases files: ['http://fw-releases.wirenboard.com/fw/by-signature/release-versions.yaml']
2025-01-22 08:29:10,490 Looking to http://fw-releases.wirenboard.com/fw/by-signature/release-versions.yaml (suite: stable)
2025-01-22 08:29:10,491 GET: http://fw-releases.wirenboard.com/fw/by-signature/release-versions.yaml
2025-01-22 08:29:11,401 FW version for mcm8 on release stable: 1.6.6 (endpoint: fw/by-signature/mcm8/main/1.6.6.wbfw)
2025-01-22 08:29:11,402 GET: http://fw-releases.wirenboard.com/fw/by-signature/mcm8/main/1.6.6.wbfw
2025-01-22 08:29:11,673 Trying to get fname from content-disposition
2025-01-22 08:29:11,674 Got fname: mcm8__1.6.6_master_dee0fe9.wbfw
2025-01-22 08:29:11,675 http://fw-releases.wirenboard.com/fw/by-signature/mcm8/main/1.6.6.wbfw => /var/lib/wb-mcu-fw-updater/mcm8__1.6.6_master_dee0fe9.wbfw
2025-01-22 08:29:11,678 Set SerialSettings(baudrate=9600, parity='N', stopbits=2) to /dev/ttyRS485-2
2025-01-22 08:29:11,679 /dev/ttyRS485-2 response_timeout -> 0.20
2025-01-22 08:29:11,679 /dev/ttyRS485-2 response_timeout -> 0.20
2025-01-22 08:29:12,556 Flashing /var/lib/wb-mcu-fw-updater/mcm8__1.6.6_master_dee0fe9.wbfw (186 data chunks)
2025-01-22 08:29:12,557 /dev/ttyRS485-2 response_timeout -> 1.20
2025-01-22 08:29:13,867 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xffffb0d53610>, 4096, [15168, 50866, 18369, 4484, 848, 26798, 36361, 59225, 60218, 1359, 18170, 963, 62384, 54328, 28236, 1448]) not succeed (try 1/2): Slave reported device failure
2025-01-22 08:29:15,178 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xffffb0d53610>, 4096, [15168, 50866, 18369, 4484, 848, 26798, 36361, 59225, 60218, 1359, 18170, 963, 62384, 54328, 28236, 1448]) not succeed (try 2/2): Slave reported device failure
2025-01-22 08:29:15,179 /dev/ttyRS485-2 response_timeout -> 0.20
2025-01-22 08:29:15,179 Recovering (17 /dev/ttyRS485-2) was not successful
2025-01-22 08:29:15,180
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/wb_mcu_fw_updater/fw_flasher.py", line 127, in _send_info
self.instrument.write_u16_regs(self.INFO_BLOCK_START, regs_row)
File "/usr/lib/python3/dist-packages/wb_modbus/bindings.py", line 45, in wrapper
return f(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/wb_modbus/bindings.py", line 72, in wrapper
raise thrown_exc
File "/usr/lib/python3/dist-packages/wb_modbus/bindings.py", line 66, in wrapper
return f(*args, **kwargs)
File "/usr/lib/python3/dist-packages/wb_modbus/bindings.py", line 291, in write_u16_regs
self.device.write_registers(beginning, values)
File "/usr/lib/python3/dist-packages/wb_modbus/minimalmodbus.py", line 885, in write_registers
self._generic_command(
File "/usr/lib/python3/dist-packages/wb_modbus/minimalmodbus.py", line 1139, in _generic_command
payload_from_slave = self._perform_command(functioncode, payload_to_slave)
File "/usr/lib/python3/dist-packages/wb_modbus/minimalmodbus.py", line 1206, in _perform_command
payload_from_slave = _extract_payload(response, self.address, self.mode, functioncode)
File "/usr/lib/python3/dist-packages/wb_modbus/minimalmodbus.py", line 1701, in _extract_payload
_check_response_slaveerrorcode(response)
File "/usr/lib/python3/dist-packages/wb_modbus/minimalmodbus.py", line 3281, in _check_response_slaveerrorcode
raise error
wb_modbus.minimalmodbus.SlaveReportedException: Slave reported device failure
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/bin/wb-mcu-fw-updater", line 170, in recover_fw
update_monitor.recover_device_iteration(args.known_signature, device)
File "/usr/lib/python3/dist-packages/wb_mcu_fw_updater/update_monitor.py", line 394, in recover_device_iteration
direct_flash(downloaded_fw, device, force=force)
File "/usr/lib/python3/dist-packages/wb_mcu_fw_updater/update_monitor.py", line 449, in direct_flash
flasher.flash_in_bl(parsed_wbfw)
File "/usr/lib/python3/dist-packages/wb_mcu_fw_updater/fw_flasher.py", line 193, in flash_in_bl
self._send_info(parsed_wbfw.info)
File "/usr/lib/python3/dist-packages/wb_mcu_fw_updater/fw_flasher.py", line 131, in _send_info
six.raise_from(FlashingError, e)
File "<string>", line 3, in raise_from
wb_mcu_fw_updater.fw_flasher.FlashingError
2025-01-22 08:29:15,196 Has saved db to /var/lib/wb-mcu-fw-updater/devices.jsondb
2025-01-22 08:29:15,198 Will run: fuser -k -CONT /dev/ttyRS485-2
root@wirenboard:~# modbus_client -mrtu -pnone -s2 /dev/ttyRS485-2 -a17 -t3 -r290 -c12
SUCCESS: read 12 of elements:
Data: 0x006d 0x0063 0x006d 0x0038 0x00ff 0x00ff 0x00ff 0x00ff 0x00ff 0x00ff 0x00ff 0x00ff