Обновление прошивок устройств на Bullseye WB6

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

Цитата2023-03-08 19:14:59,239 Unhandled exception!
Traceback (most recent call last):
File “/usr/bin/wb-mcu-fw-updater”, line 517, in
args.func(args)
File “/usr/bin/wb-mcu-fw-updater”, line 208, in update_all
update_monitor._update_all(
File “/usr/lib/python3/dist-packages/wb_mcu_fw_updater/update_monitor.py”, line 637, in _update_all
probing_result = probe_all_devices(
File “/usr/lib/python3/dist-packages/wb_mcu_fw_updater/update_monitor.py”, line 596, in probe_all_devices
modbus_connection=get_correct_modbus_connection(
File “/usr/lib/python3/dist-packages/wb_mcu_fw_updater/update_monitor.py”, line 232, in get_correct_modbus_connection
check_device_is_a_wb_one(modbus_connection)
File “/usr/lib/python3/dist-packages/wb_mcu_fw_updater/update_monitor.py”, line 184, in check_device_is_a_wb_one
sn = modbus_connection.get_serial_number() # Will raise NoResponseError, if disconnected
File “/usr/lib/python3/dist-packages/wb_modbus/bindings.py”, line 611, in get_serial_number
device_signature = str(self.get_device_signature())
File “/usr/lib/python3/dist-packages/wb_modbus/bindings.py”, line 704, in get_device_signature
return self.read_string(self.COMMON_REGS_MAP[“device_signature”], self.DEVICE_SIGNATURE_LENGTH)
File “/usr/lib/python3/dist-packages/wb_modbus/bindings.py”, line 42, in wrapper
return f(self, *args, **kwargs)
File “/usr/lib/python3/dist-packages/wb_modbus/bindings.py”, line 69, in wrapper
raise thrown_exc
File “/usr/lib/python3/dist-packages/wb_modbus/bindings.py”, line 63, in wrapper
return f(*args, **kwargs)
File “/usr/lib/python3/dist-packages/wb_modbus/bindings.py”, line 486, in read_string
ret = minimalmodbus._hexlify(self.device.read_string(addr, regs_lenght, 3))
File “/usr/lib/python3/dist-packages/wb_modbus/minimalmodbus.py”, line 743, in read_string
return 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: ‘7þ’ instead of ‘0Ú’ . The response is: ‘\n\x837þ' (plain response: '\n\x837þ’)
root@wirenboard-A7X3X6OF:~#

Цитата

Добрый день. А что за устройство отвечает такой “сигнатурой”?

Цитата root@wirenboard-A7X3X6OF:~# wb-mcu-fw-updater update-all

2023-03-08 19:24:16,304 Will probe all devices on enabled serial ports of /etc/wb-mqtt-serial.conf:

2023-03-08 19:24:16,334 Probing WB-MR6C (port: /dev/ttyRS485-1, slaveid: 131, uart_params: 9600N2, response_timeout: 0.50)…

2023-03-08 19:24:17,180 Probing WB-MRGBW-D_fw3_nosubdev (port: /dev/ttyRS485-1, slaveid: 97, uart_params: 9600N2, response_timeout: 0.50)…

2023-03-08 19:24:18,029 Probing WB-MDM3 (port: /dev/ttyRS485-1, slaveid: 25, uart_params: 9600N2, response_timeout: 0.50)…

2023-03-08 19:24:18,841 Probing mercury230 (port: /dev/ttyRS485-2, slaveid: 31, uart_params: 9600N1, response_timeout: 0.50)…

2023-03-08 19:24:31,712 Probing WBE2-I-OPENTHERM (port: /dev/ttyMOD1, slaveid: 11, uart_params: 19200N1, response_timeout: 0.50)…

2023-03-08 19:24:37,332 Probing danfoss_fc_51 (port: /dev/ttyMOD2, slaveid: 10, uart_params: 9600N2, response_timeout: 0.50)…

Цитата

Проверьте журнал, если при обемене есть ошибки, чаще чем одна раз в пару минут - обновление прошивок на такой шине лучше не запускать…
Ну или порт чем-то занят. Нет стороннего ПО?

Из стороннего - спрут.
На ошибки посмотрю.

Удалил частотник Данфосс, началось обновление.

Спасибо!

1 лайк

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