После обновления слетел файл конфигурации модбас устройств (wb-mqtt-serial.conf) и когда я заново добавлял устройства то случайно выбрал неправитьный профиль вместо WB-MR6C v2 поставил WB-MR6C-NC и после этого реле начало постоянно щелкать, при этом мигает зеленый индикатор, как я понял это режим загрузчика. Я исправил ошибку в файле конфигурации, но это не помогло, утилита scan в веб интерфейсе не находит его (очевидно потому что оно не может загрузиться в нормальный режим). Попробовал восстановить прошивку и загрузчик с помощью wb-mcu-fw-updater update-bl
и wb-mcu-fw-updater recover
прошивка проходит успешно, на время прошивки реле перестает щелкать, но затем начинает снова. Вот лог прошивки:
wirenboard-ACLK65DN# wb-mcu-fw-updater recover /dev/ttyRS485-2 -a 214 --debug
2023-10-06 22:31:50,339 Will run: fuser /dev/ttyRS485-2
2023-10-06 22:31:50,512 Clients of /dev/ttyRS485-2: 10167
2023-10-06 22:31:50,516 Will run: ps -o cmd= 10167
2023-10-06 22:31:50,621 Will run: fuser -k -STOP /dev/ttyRS485-2
2023-10-06 22:31:50,872 Reading /usr/lib/wb-release for releases info
2023-10-06 22:31:50,877 Got releases info:
2023-10-06 22:31:50,881 defaultdict(<function parse_releases.<locals>.<lambda> at 0xa5f526a0>, {'RELEASE_NAME': 'wb-2307', 'SUITE': 'stable', 'TARGET': 'wb6/bullseye', 'REPO_PREFIX': ''})
2023-10-06 22:31:50,887 GET: http://fw-releases.wirenboard.com/
2023-10-06 22:31:51,426 Set {'baudrate': 9600, 'parity': 'N', 'stopbits': 2} to /dev/ttyRS485-2
2023-10-06 22:31:51,432 /dev/ttyRS485-2 response_timeout -> 0.20
2023-10-06 22:31:51,643 f = read_u16(<wb_modbus.bindings.WBModbusDeviceBase object at 0xa5fccb38>, 128) not succeed (try 1/5)
2023-10-06 22:31:51,860 f = read_u16(<wb_modbus.bindings.WBModbusDeviceBase object at 0xa5fccb38>, 128) not succeed (try 2/5)
2023-10-06 22:31:52,072 f = read_u16(<wb_modbus.bindings.WBModbusDeviceBase object at 0xa5fccb38>, 128) not succeed (try 3/5)
2023-10-06 22:31:52,279 f = read_u16(<wb_modbus.bindings.WBModbusDeviceBase object at 0xa5fccb38>, 128) not succeed (try 4/5)
2023-10-06 22:31:52,491 f = read_u16(<wb_modbus.bindings.WBModbusDeviceBase object at 0xa5fccb38>, 128) not succeed (try 5/5)
2023-10-06 22:31:52,495 Setting params 9600-N-2 to port /dev/ttyRS485-2
2023-10-06 22:31:52,498 Set {'baudrate': 9600, 'parity': 'N', 'stopbits': 2} to /dev/ttyRS485-2
2023-10-06 22:31:52,504 /dev/ttyRS485-2 response_timeout -> 1.20
2023-10-06 22:31:53,824 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xa5fccb38>, 4096, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) not succeed (try 1/5)
2023-10-06 22:31:55,155 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xa5fccb38>, 4096, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) not succeed (try 2/5)
2023-10-06 22:31:56,388 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xa5fccb38>, 4096, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) not succeed (try 3/5)
2023-10-06 22:31:57,703 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xa5fccb38>, 4096, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) not succeed (try 4/5)
2023-10-06 22:31:59,033 f = write_u16_regs(<wb_modbus.bindings.WBModbusDeviceBase object at 0xa5fccb38>, 4096, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) not succeed (try 5/5)
2023-10-06 22:31:59,037 Setting params to port /dev/ttyRS485-2 back
2023-10-06 22:31:59,041 /dev/ttyRS485-2 response_timeout -> 0.20
2023-10-06 22:31:59,045 GET: http://fw-releases.wirenboard.com/fw/by-signature/fw_signatures.txt
2023-10-06 22:31:59,477 Will ask a bootloader for fw_signature
2023-10-06 22:31:59,485 Set {'baudrate': 9600, 'parity': 'N', 'stopbits': 2} to /dev/ttyRS485-2
2023-10-06 22:31:59,487 /dev/ttyRS485-2 response_timeout -> 0.20
2023-10-06 22:31:59,604 FW signature for 214 : /dev/ttyRS485-2 is mr6cG
2023-10-06 22:31:59,609 FW releases files: ['http://fw-releases.wirenboard.com/fw/by-signature/release-versions.yaml']
2023-10-06 22:31:59,615 Looking to http://fw-releases.wirenboard.com/fw/by-signature/release-versions.yaml (suite: stable)
2023-10-06 22:31:59,624 GET: http://fw-releases.wirenboard.com/fw/by-signature/release-versions.yaml
2023-10-06 22:32:01,573 FW version for mr6cG on release stable: 1.20.3 (endpoint: fw/by-signature/mr6cG/main/1.20.3.wbfw)
2023-10-06 22:32:01,580 GET: http://fw-releases.wirenboard.com/fw/by-signature/mr6cG/main/1.20.3.wbfw
2023-10-06 22:32:02,086 Trying to get fname from content-disposition
2023-10-06 22:32:02,090 Got fname: mr6cG__1.20.3_master_301e2de.wbfw
2023-10-06 22:32:02,097 http://fw-releases.wirenboard.com/fw/by-signature/mr6cG/main/1.20.3.wbfw => /var/lib/wb-mcu-fw-updater/mr6cG__1.20.3_master_301e2de.wbfw
2023-10-06 22:32:02,107 Set {'baudrate': 9600, 'parity': 'N', 'stopbits': 2} to /dev/ttyRS485-2
2023-10-06 22:32:02,112 /dev/ttyRS485-2 response_timeout -> 0.20
2023-10-06 22:32:02,119 /dev/ttyRS485-2 response_timeout -> 5.00
2023-10-06 22:32:04,948 Flashing /var/lib/wb-mcu-fw-updater/mr6cG__1.20.3_master_301e2de.wbfw
2023-10-06 22:32:04,961 /dev/ttyRS485-2 response_timeout -> 6.00
2023-10-06 22:32:05,179 /dev/ttyRS485-2 response_timeout -> 5.00
100%|###############################################################################################################################################################################################|193/193
2023-10-06 22:32:53,307 Done (214 /dev/ttyRS485-2)
2023-10-06 22:32:53,318 Has saved db to /var/lib/wb-mcu-fw-updater/devices.jsondb
2023-10-06 22:32:53,323 Will run: fuser -k -CONT /dev/ttyRS485-2
Так же приложу лог wb-mqtt-serial.service.
wb-mqtt-serial_20231006T223308.log (101,0 КБ)
Пожалуйста помогите разобраться с проблемой, скоро холода, а это реле управляет батареями