Ранее прошивка на устройствах была 4.31.9, после обновления до 4.31.10 часть датчиков MSW отпала.
Индикация на датчиках - постоянное моргание 1-2 раза в секунду
Пробовал делать recover не помогает
root@wirenboard-A45ADSRN:~# wb-mcu-fw-updater recover -a50 /dev/ttyRS485-2 --debug
2024-10-16 11:59:08,491 Will run: fuser /dev/ttyRS485-2
2024-10-16 11:59:08,640 Clients of /dev/ttyRS485-2: 1808
2024-10-16 11:59:08,642 Will run: ps -o cmd= 1808
2024-10-16 11:59:08,720 Will run: fuser -k -STOP /dev/ttyRS485-2
2024-10-16 11:59:08,899 Reading /usr/lib/wb-release for releases info
2024-10-16 11:59:08,901 Got releases info:
2024-10-16 11:59:08,902 defaultdict(<function parse_releases.<locals>.<lambda> at 0xb6064610>, {'RELEASE_NAME': 'wb-2407', 'SUITE': 'stable', 'TARGET': 'wb7/bullseye', 'REP O_PREFIX': ''})
2024-10-16 11:59:08,903 GET: http://fw-releases.wirenboard.com/
2024-10-16 11:59:09,897 Set SerialSettings(baudrate=9600, parity='N', stopbits=2) to /dev/ttyRS485-2
2024-10-16 11:59:09,897 /dev/ttyRS485-2 response_timeout -> 0.20
2024-10-16 11:59:09,899 Set SerialSettings(baudrate=9600, parity='N', stopbits=2) to /dev/ttyRS485-2
2024-10-16 11:59:09,899 /dev/ttyRS485-2 response_timeout -> 0.20
2024-10-16 11:59:09,900 Will find bootloader port settings for (/dev/ttyRS485-2 : 50; response_timeout: 0.20)...
Will find bootloader port settings for (/dev/ttyRS485-2 : 50; response_timeout: 0.20)... (elapsed: 00:00)2024-10-16 11:59:09,939 /dev/ttyRS485-2 response_timeout -> 1.20
Will find bootloader port settings for (/dev/ttyRS485-2 : 50; response_timeout: 0.20)... (elapsed: 00:01)2024-10-16 11:59:11,252 f = write_u16_regs(<wb_modbus.bindings.WBModbusDevi ceBase object at 0xb6062718>, 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 : 50; response_timeout: 0.20)... (elapsed: 00:02)2024-10-16 11:59:12,562 f = write_u16_regs(<wb_modbus.bindings.WBModbusDevi ceBase object at 0xb6062718>, 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
2024-10-16 11:59:12,562 /dev/ttyRS485-2 response_timeout -> 0.20
Will find bootloader port settings for (/dev/ttyRS485-2 : 50; response_timeout: 0.20)... (elapsed: 00:02)
2024-10-16 11:59:12,866 f = read_u16(<wb_modbus.bindings.WBModbusDeviceBase object at 0xb6062718>, 128) not succeed (try 1/2): No communication with the instrument (no answer)
2024-10-16 11:59:13,070 f = read_u16(<wb_modbus.bindings.WBModbusDeviceBase object at 0xb6062718>, 128) not succeed (try 2/2): No communication with the instrument (no answer)
2024-10-16 11:59:13,071 Has found bootloader port settings: SerialSettings(baudrate=9600, parity='N', stopbits=2)
2024-10-16 11:59:13,072 GET: http://fw-releases.wirenboard.com/fw/by-signature/fw_signatures.txt
2024-10-16 11:59:13,898 Will ask a bootloader for fw_signature
2024-10-16 11:59:14,013 FW signature for 50 : /dev/ttyRS485-2 is msw5G
2024-10-16 11:59:14,015 FW releases files: ['http://fw-releases.wirenboard.com/fw/by-signature/release-versions.yaml']
2024-10-16 11:59:14,017 Looking to http://fw-releases.wirenboard.com/fw/by-signature/release-versions.yaml (suite: stable)
2024-10-16 11:59:14,018 GET: http://fw-releases.wirenboard.com/fw/by-signature/release-versions.yaml
2024-10-16 11:59:16,726 FW version for msw5G on release stable: 4.31.10 (endpoint: fw/by-signature/msw5G/main/4.31.10.wbfw)
2024-10-16 11:59:16,728 GET: http://fw-releases.wirenboard.com/fw/by-signature/msw5G/main/4.31.10.wbfw
2024-10-16 11:59:17,797 Trying to get fname from content-disposition
2024-10-16 11:59:17,799 Got fname: msw5G__4.31.10_master_afd91ad.wbfw
2024-10-16 11:59:17,800 http://fw-releases.wirenboard.com/fw/by-signature/msw5G/main/4.31.10.wbfw => /var/lib/wb-mcu-fw-updater/msw5G__4.31.10_master_afd91ad.wbfw
2024-10-16 11:59:17,806 Set SerialSettings(baudrate=9600, parity='N', stopbits=2) to /dev/ttyRS485-2
2024-10-16 11:59:17,807 /dev/ttyRS485-2 response_timeout -> 0.20
2024-10-16 11:59:17,808 /dev/ttyRS485-2 response_timeout -> 0.20
2024-10-16 11:59:20,326 Flashing /var/lib/wb-mcu-fw-updater/msw5G__4.31.10_master_afd91ad.wbfw (311 data chunks)
2024-10-16 11:59:20,327 /dev/ttyRS485-2 response_timeout -> 1.20
2024-10-16 11:59:21,741 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xb6987508>, 4096, [40621, 31891, 4298, 59502, 1467, 28897, 34193, 31942, 29510, 52705, 60408, 33355, 44453, 10696, 18318, 36753]) not succeed (try 1/2): Checksum error in rtu mode: 'ÀÆ' instead of '\x19\r' . The response is: '2\x10\x10\x00\x10ÀÆ' (plain response: '2\x10\x10\x00\x10ÀÆ')
2024-10-16 11:59:23,154 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xb6987508>, 4096, [40621, 31891, 4298, 59502, 1467, 28897, 34193, 31942, 29510, 52705, 60408, 33355, 44453, 10696, 18318, 36753]) not succeed (try 2/2): Checksum error in rtu mode: 'ÀÆ' instead of '\x19\r' . The response is: '2\x10\x10\x00\x10ÀÆ' (plain response: '2\x10\x10\x00\x10ÀÆ')
2024-10-16 11:59:23,155 /dev/ttyRS485-2 response_timeout -> 0.20
2024-10-16 11:59:23,155 Recovering (50 /dev/ttyRS485-2) was not successful
2024-10-16 11:59:23,156
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 1688, in _extract_payload
raise InvalidResponseError(text)
wb_modbus.minimalmodbus.InvalidResponseError: Checksum error in rtu mode: 'ÀÆ' instead of '\x19\r' . The response is: '2\x10\x10\x00\x10ÀÆ' (plain response: '2\x10\x10\x00\x10ÀÆ')
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
2024-10-16 11:59:23,175 Has saved db to /var/lib/wb-mcu-fw-updater/devices.jsondb
2024-10-16 11:59:23,177 Will run: fuser -k -CONT /dev/ttyRS485-2
root@wirenboard-A45ADSRN:~#