Сбой модулей WB-MR6C v.3

Добрый день! Вчера по непонятным причинам произошёл сбой в 3х установленных модулях из 4х WB-MR6C v.3. Перестала читаться версия прошивки и серийный номер. Произошло это ориентировочно после того как я увидел значок, предлагающий автоматическое обновление одного из них. При этом один модуль обновился до 1.22.0, а остальные начали сбоить. При сбое отключился свет. Теперь вместо серийника я вижу постоянно увеличивающее значение. Версия прошивки нечитаема. Какая версия модулей была я не знаю, так как не обращал на это внимания. LED-модули на этой же линии опроса RS-485 впорядке. Сейчас “неисправные” модули работают, в том числе управляются с веб-интерфейса, проблема на первый взгляд только с нечитаемым серийником и прошивкой, а значит невозможность дальнейшего автоматического обновления. Что можно сделать для их восстановления? Провести ручную перепрошивку утилитой wb-mcu-fw-flasher по сигнатуре устройства? Перезагрузка ПЛК и самих модулей не помогла.

Добрый день!

Попробуйте восстановить загрузчик и прошивку в ручном режиме через wb-mcu-fw-flasher.
Предварительно скачайте файлы из репозитория по считанной из устройств сигнатуре.

Есть предположения по какой причине этот сбой может случиться?



Вот как это выглядит с серийным номером

Пока сложно предположить почему такое могло произойти.

После перепрошивки проблема осталась?

Пожалуйста, несколько раз считайте серийный номер через modbus_client.

Например:

root@wirenboard-AJBAI2J6:~# modbus_client -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a178 -t0x03 -r270 -c2
SUCCESS: read 2 of elements:
        Data: 0x0003 0x834e

0x3834e => 230222

Будут ли считываться различные значения?

Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.

Сигнатуру устройства или же версию прошивки считать невозможно. Один из повреждённых модулей выдаёт при попытке прочитать сигнатуру:

> root@wirenboard-AGPNY6O2:~# echo -e $(modbus_client -mrtu -pnone -s2 -b115200 /dev/ttyRS485-1 -a187 -t3 -r 290 -c 12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
0x5eb8 0x5eb8 0x5eb8 0x5eb8 0x5eb8 0x5eb8 0x5eb8 0x5eb8 0x5eb8 0x5eb8 0x5eb8 0x5eb8

При попытке прочитать версию прошивки:

root@wirenboard-AGPNY6O2:~# echo -e $(modbus_client -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a187 -t0x03 -r250 -c 16 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3 0x5ec3

root@wirenboard-AGPNY6O2:~# wb-mcu-fw-flasher -d /dev/ttyRS485-1 -b115200 -pN -s2 -a187 --get-device-info                                                               /dev/ttyRS485-1 opened successfully.
Bootloader version: ▒▒▒▒▒▒▒▒
Firmware version: ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
Firmware signature (fw-sig): ▒▒▒▒▒▒▒▒▒▒▒▒
Download firmwares: https://fw-releases.wirenboard.com/?prefix=fw/by-signature/▒▒▒▒▒▒▒▒▒▒▒▒/

И, наконец, по вашей инструкции прочитал серийник успешно

root@wirenboard-AGPNY6O2:~# modbus_client -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a187 -t0x03 -r270 -c2                                                              SUCCESS: read 2 of elements:
        Data: 0x0002 0xf185
root@wirenboard-AGPNY6O2:~# modbus_client -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a187 -t0x03 -r270 -c2
SUCCESS: read 2 of elements:
        Data: 0x0002 0xf185
root@wirenboard-AGPNY6O2:~# modbus_client -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a187 -t0x03 -r270 -c2
SUCCESS: read 2 of elements:
        Data: 0x0002 0xf185

Далее я перевёл в режим загрузчика и запустил recover

root@wirenboard-AGPNY6O2:~# wb-mcu-fw-flasher -d /dev/ttyRS485-1 -b115200 -pN -s2 -a187 -j
/dev/ttyRS485-1 opened successfully.
Send jump to bootloader command and wait 2 seconds...
Ok, device will jump to bootloader.
Device is in Bootloader now! To flash FW run
wb-mcu-fw-flasher -d <port> -f <firmware.wbfw>
root@wirenboard-AGPNY6O2:~# wb-mcu-fw-updater recover /dev/ttyRS485-1 -a187
Will find bootloader port settings for (/dev/ttyRS485-1 : 187; response_timeout: 0.20)... (elapsed: 00:02)
2025-12-11 21:42:37,098 Has found bootloader port settings: SerialSettings(baudrate=9600, parity='N', stopbits=2)
2025-12-11 21:42:44,331 Flashing /var/lib/wb-mcu-fw-updater/mr6cpG__1.22.0_master_3d41793.wbfw (220 data chunks)
100%|###########################################################################################################################################################|220/220|

Прошивка была автоматически скачана и прошита. Но ничего не изменилось. Что можно сделать ещё? Кстати, updater получается определил сигнатуру прошивки mr6cpG?

Перепрошивка flasher тоже ничем не помогла


root@wirenboard-AGPNY6O2:~# wb-mcu-fw-flasher -d /dev/ttyRS485-1 -b115200 -pN -s2 -a187 -j -f ./mr6cpG__1.22.0_master_3d41793.wbfw
/dev/ttyRS485-1 opened successfully.
Send jump to bootloader command and wait 2 seconds...
Ok, device will jump to bootloader.
./mr6cpG__1.22.0_master_3d41793.wbfw opened successfully, size 29952 bytes

Sending info block… OK

Sending data block 220 of 220… OK.

All done!

Диагностические данные:

приложен диагностический архив, доступен только сотрудникам поддержки
(373,0 КБ)

Пригласите пожалуйста пользователя support@wirenboard.com в организацию на облачном сервисе.
Для этого в настройках организации нажмите кнопку “Пригласить”


И укажите почтовый адрес:

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

Добрый день!
Там на объекте пока интернета ещё нет. Я контроллер подключаю к точке доступа на мобильном телефоне каждый раз. Можно ли что-то попробовать сделать ещё по инструкции? Если только через доступ вам,то только когда буду на месте.

Я бы еще попробовал считать сигнатуру, обновить загрузчик, еще раз прошивку, и сделал бы сброс настроек модуля через запись 1 в регистр 65402.

И все бы это сделал на скорости 9600.

Если нет интернета, то пожалуйста, попробуйте сами.

Добрый день!

Вам удалось восстановить прошивку?

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