О! Не знал, что устройство в этом режиме может откликаться по 1 адресу. Остановил wb-mqtt-serial и попробовал следующее:
# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyMOD2 -a1 -t0x03 -r290 -c12
Opening /dev/ttyMOD2 at 9600 bauds (N, 8, 2)
[01][03][01][22][00][0C][E4][39]
Waiting for a confirmation...
<01><03><18><00><00><00><00><00><00><00><00><00><00><00><01><00><01><00><00><00><00><00><8C><00><EF><00><8E><CA><C7>
SUCCESS: read 12 of elements:
Data: 0x0000 0x0000 0x0000 0x0000 0x0000 0x0001 0x0001 0x0000 0x0000 0x008c 0x00ef 0x008e
# wb-mcu-fw-flasher -d /dev/ttyMOD2 -a1 --get-device-info
/dev/ttyMOD2 opened successfully.
Bootloader version: 1.4.5
Firmware version read error: Connection timed out; Maybe device is in bootloader?
Firmware signature (fw-sig):
Download firmwares: https://fw-releases.wirenboard.com/?prefix=fw/by-signature//
# wb-mcu-fw-flasher -d /dev/ttyMOD2 -b9600 -a1 -f /var/lib/wb-mcu-fw-updater/bootloader/wb-bootloader-updater_wbmwacG__1.4.3_master_c44258d.wbfw -j
/dev/ttyMOD2 opened successfully.
Send jump to bootloader command and wait 2 seconds...
Error: Connection timed out.
May be device already in bootloader, check status led
/var/lib/wb-mcu-fw-updater/bootloader/wb-bootloader-updater_wbmwacG__1.4.3_master_c44258d.wbfw opened successfully, size 4928 bytes
Sending info block...
Error while sending info block: Slave device or server failure
Data format is invalid or firmware signature doesn't match the device
# wb-mcu-fw-updater recover /dev/ttyMOD2 -a 1 --fw-sig wbmwacG
Will find bootloader port settings for (/dev/ttyMOD2 : 1; response_timeout: 0.20)... (elapsed: 00:02)
2025-02-09 19:52:31,026 Has found bootloader port settings: SerialSettings(baudrate=9600, parity='N', stopbits=2)
2025-02-09 19:52:34,214 Flashing /var/lib/wb-mcu-fw-updater/wbmwacG__1.21.4_main_fff1f42.wbfw (218 data chunks)
2025-02-09 19:52:36,840 Recovering (1 /dev/ttyMOD2) was not successful
2025-02-09 19:52:36,841
Убедиться, что на шине RS-485, где физически находится WB-MWAC больше нет других устройство с modbus адресом 1.
Предоставить доступ к облаку. Пригласите пожалуйста пользователя support@wirenboard.com в организацию на облачном сервисе.
Для этого в настройках организации нажмите кнопку “Пригласить”
Похоже, что проблема еще возможна.
Обновил WB-MR6C на другом WB, еще на 2401.
Он в бутлоадер, правда, не выпал, но в UI не отзывался и --get-device-info тоже молчало:
# echo -e $(modbus_client -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a44 -t0x03 -r250 -c 16 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
1.21.4
# echo -e $(modbus_client -mrtu -pnone -s2 -b115200 /dev/ttyRS485-1 -a 44 -t3 -r 290 -c 12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
mr6cG
# modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a44 -t0x03 -r290 -c12
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[2C][03][01][22][00][0C][E2][44]
Waiting for a confirmation...
<2C><03><18><00><6D><00><72><00><36><00><63><00><47><00><00><00><00><00><00><00><00><00><00><00><00><00><00><1A><D3>
SUCCESS: read 12 of elements:
Data: 0x006d 0x0072 0x0036 0x0063 0x0047 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
# wb-mcu-fw-flasher -d /dev/ttyRS485-1 -a 44 --get-device-info
/dev/ttyRS485-1 opened successfully.
Trying to probe (44 /dev/ttyRS485-1) at bootloader params...
Failed to connect (44 /dev/ttyRS485-1) at bootloader settings: Connection timed out
# wb-mcu-fw-flasher -j -d /dev/ttyRS485-1 -a44 -f /root/mr6cG__1.21.5_master_aae30f7.wbfw
/dev/ttyRS485-1 opened successfully.
Send jump to bootloader command and wait 2 seconds...
Error: Connection timed out.
May be device already in bootloader, check status led
/root/mr6cG__1.21.5_master_aae30f7.wbfw opened successfully, size 29272 bytes
Sending info block...
Error while sending info block: Connection timed out
Error while sending info block: Connection timed out
Error while sending info block: Connection timed out
Error while sending info block.
Check connection, jump to bootloader and try again.
Заработал после перезагрузки WB. Больше ничего не делал.