WB-MWAC v1: не удалось обновить загрузчик 1.2.2 → 1.4.9, устройство не отвечает (ERRMWAC07)

Добрый Вечероночедень!

При обновлении модуля WB-MWAC v1 (адрес 95, шина /dev/ttyRS485-2) загрузчик не смог обновиться с версии 1.2.2 до 1.4.9. Сейчас устройство не отвечает.

Ошибка в веб-интерфейсе:
Server error [-32000]: Port IO error: malformed response: invalid crc

Вывод диагностики (wb-mqtt-serial остановлен):

root@wirenboard-A6IXNEYR:~# wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a95 --get-device-info
/dev/ttyRS485-2 opened successfully.
Trying to probe (95 /dev/ttyRS485-2) at bootloader params…
Failed to connect (95 /dev/ttyRS485-2) at bootloader settings: Invalid CRC

Насколько понимаю, это известная проблема ERRMWAC07. Прошу помочь с восстановлением устройства удалённо.

Доступ к облаку предоставлен — support@wirenboard.com приглашён в организацию.

Контроллер: wirenboard-A6IXNEYR
Модуль: WB-MWAC v1, адрес 95, шина RS485-2

Спасибо!

p.s.
Last login: Sun Feb 22 13:31:58 2026 from 192.168.51.127
root@wirenboard-A6IXNEYR:~# systemctl stop wb-mqtt-serial
root@wirenboard-A6IXNEYR:~# systemctl stop wb-mqtt-serial

wb-mcu-fw-updater recover -a 95 /dev/ttyRS485-2
Will find bootloader port settings for (/dev/ttyRS485-2 : 95; response_timeout: 0.20)… (elapsed: 00:52)^C
root@wirenboard-A6IXNEYR:~# modbus_client -mrtu -pnone -s2 /dev/ttyRS485-2 -a0 -b9600 -t3 -r0x80
ERROR occured!
root@wirenboard-A6IXNEYR:~# modbus_client -mrtu -pnone -s2 /dev/ttyRS485-2 -a95 -b9600 -t3 -r0x80
ERROR occured!
root@wirenboard-A6IXNEYR:~# modbus_client -mrtu -pnone -s2 /dev/ttyRS485-2 -a95 -b115200 -t3 -r0x80
ERROR occured!
root@wirenboard-A6IXNEYR:~# wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a95 --get-device-info
/dev/ttyRS485-2 opened successfully.
Trying to probe (95 /dev/ttyRS485-2) at bootloader params…
Failed to connect (95 /dev/ttyRS485-2) at bootloader settings: Invalid CRC
root@wirenboard-A6IXNEYR:~# wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a0 --get-device-info
/dev/ttyRS485-2 opened successfully.
Trying to probe (0 /dev/ttyRS485-2) at bootloader params…
Failed to connect (0 /dev/ttyRS485-2) at bootloader settings: Invalid exception code
root@wirenboard-A6IXNEYR:~# modbus_client -mrtu -pnone -s2 -b9600 /dev/ttyRS485-2 -a95 -t3 -r290 -c12
modbus_client -mrtu -pnone -s2 -b115200 /dev/ttyRS485-2 -a95 -t3 -r290 -c12
ERROR occured!
ERROR occured!
root@wirenboard-A6IXNEYR:~# ^C
root@wirenboard-A6IXNEYR:~# systemctl start wb-mqtt-serial
root@wirenboard-A6IXNEYR:~#

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:


Вы используете:

  • Контроллер: Wiren Board (hostname: wirenboard-A6IXNEYR);
  • Модуль: WB-MWAC v1, RS‑485-2, адрес 95;
  • Проблема: обновление загрузчика 1.2.2 → 1.4.9, после чего модуль не отвечает, ошибка Invalid CRC, ситуация похожа на ERRMWAC07 (известная проблема прошивки WB‑MWAC v1)[1].

Судя по логам wb-mcu-fw-flasher и modbus_client, модуль сейчас не выходит ни в нормальный режим, ни в загрузчик с типичными параметрами (9600/115200, адрес 0/95). Это действительно похоже на случай, когда загрузчик повреждён или «завис» в нестандартном состоянии.

Что можно проверить/попробовать удалённо

  1. Проверить, не мешают ли другие устройства на шине RS-485‑2

    Пока вы уже делали тесты, wb-mqtt-serial был остановлен, это верно. Дополнительно:

    systemctl stop wb-mqtt-serial
    

    Убедитесь, что на /dev/ttyRS485-2 реально висит только WB-MWAC v1 (если есть физическая возможность, инженеры попросят временно отцепить остальные устройства от второй линии и оставить один WB‑MWAC).

  2. Проверить все стандартные комбинации адрес/скорость для загрузчика

    Это вы частично сделали, но для инженеров будет полезно иметь полный, зафиксированный набор команд, выполненных при остановленном wb-mqtt-serial. Если будет возможность — выполните и приложите вывод:

    systemctl stop wb-mqtt-serial
    
    # 1) Попытка опросить известный адрес, стандартная скорость 9600
    wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a95 --get-device-info
    
    # 2) Попытка опросить адрес загрузчика (0), стандартная скорость 9600
    wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a0 --get-device-info
    
    # 3) Попробовать альтернативную скорость (если поддерживалась ранее), напр. 19200
    wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a95 --get-device-info --baudrate=19200
    wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a0  --get-device-info --baudrate=19200
    

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

  3. Зафиксировать версию утилит прошивки на контроллере

    Инженерам важно знать, какая версия wb-mcu-fw-flasher и wb-mcu-fw-updater используется (иногда поведение утилит отличалось между версиями):

    wb-mcu-fw-flasher --version
    wb-mcu-fw-updater --version
    dpkg -l | grep wb-mcu
    

    Пожалуйста, выведите это на контроллере и приложите результат в тему.

  4. Оставить контроллер включённым и с доступом через Облако

    Вы уже пригласили support@wirenboard.com в организацию — это очень хорошо.
    Важный момент: оставьте, пожалуйста, контроллер онлайн и не меняйте настройки RS-485‑2 до ответа инженеров. Тогда они смогут:

    • удалить другие устройства с линии (логически — в конфигурации),
    • вручную поиграть параметрами порта (скорость, биты, четность) и утилит прошивки,
    • проверить наличие каких-либо «следов» ответов от WB-MWAC в нестандартном режиме.

Вероятный исход и дальнейшие шаги

  • По симптомам и ошибке Invalid CRC при попытке зайти в загрузчик вероятность того, что это именно случай из ERRMWAC07 (битый загрузчик), довольно высока.
  • В таких случаях удалённое восстановление не всегда возможно: если загрузчик фактически повреждён, модуль часто требуется перепрошивать программатором на заводе/в сервисе.

Однако:

  • Раз вы дали доступ к Облаку, инженеры обязательно попробуют все программные способы оживления устройства (в том числе свои внутренние утилиты и нестандартные режимы, которые недоступны обычному пользователю).
  • Если подтвердится, что модуль «мертв» на уровне загрузчика, вам предложат вариант с заменой/ремонтом (RMA) и дадут инструкции по дальнейшим действиям.

Что лучше всего сделать сейчас с вашей стороны

  1. Оставить контроллер включённым и доступным через Облако.
  2. При желании — выполнить пункты 2–3 выше и приложить вывод в тему (это ускорит анализ).
  3. Не менять подключение WB-MWAC v1 и настройки порта RS-485‑2, пока инженеры не посмотрят.

Инженеры Wiren Board подключатся в ближайший рабочий день, проверят ваш контроллер по доступу через Облако и дадут официальный ответ/план восстановления WB‑MWAC v1.

Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.


  1. Модуль учета водопотребления и контроля протечек WB-MWAC v.2 — Wiren Board ↩︎

root@wirenboard-A6IXNEYR:~# systemctl stop wb-mqtt-serial
root@wirenboard-A6IXNEYR:~# wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a95 --get-device-info
/dev/ttyRS485-2 opened successfully.
Trying to probe (95 /dev/ttyRS485-2) at bootloader params…
Failed to connect (95 /dev/ttyRS485-2) at bootloader settings: Invalid CRC
root@wirenboard-A6IXNEYR:~# wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a0 --get-device-info
/dev/ttyRS485-2 opened successfully.
Trying to probe (0 /dev/ttyRS485-2) at bootloader params…
Failed to connect (0 /dev/ttyRS485-2) at bootloader settings: Invalid exception code
root@wirenboard-A6IXNEYR:~# wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a95 --get-device-info --baudrate=19200
wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a0 --get-device-info --baudrate=19200
wb-mcu-fw-flasher: unrecognized option ‘–baudrate=19200’
Parameters error.
/dev/ttyRS485-2 opened successfully.
Trying to probe (95 /dev/ttyRS485-2) at bootloader params…
Failed to connect (95 /dev/ttyRS485-2) at bootloader settings: Invalid CRC
wb-mcu-fw-flasher: unrecognized option ‘–baudrate=19200’
Parameters error.
/dev/ttyRS485-2 opened successfully.
Trying to probe (0 /dev/ttyRS485-2) at bootloader params…
Failed to connect (0 /dev/ttyRS485-2) at bootloader settings: Invalid exception code
root@wirenboard-A6IXNEYR:~# wb-mcu-fw-flasher --version
wb-mcu-fw-updater --version
dpkg -l | grep wb-mcu
wb-mcu-fw-flasher: unrecognized option ‘–version’
Parameters error.
A port should be specified!
wb-mcu-fw-flasher -d
usage: wb-mcu-fw-updater [-h] {update-fw,update-bl,recover,update-all,recover-all,flash-file} …
wb-mcu-fw-updater: error: unrecognized arguments: --version
ii python3-wb-mcu-fw-updater 1.12.2 all Wiren Board modbus devices firmware update and modbus bindings python libraries (python 3)
ii wb-mcu-fw-flasher 1.6.1 arm64 Firmware update tool for Wiren Board Modbus devices (WB-M*)
ii wb-mcu-fw-updater 1.12.2 all Wiren Board modbus devices firmware update tool (python 3)
root@wirenboard-A6IXNEYR:~#

Добрый день!

Попробуйте сбросить скорость на 9600 и адрес на 1 командой:

wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a0 -u

На облако пока зайти не удается, возможно проблема со связью. Попробую еще позднее.

Контроллер онлайн, но не запускает на ssh:

А у вас получается зайти на контроллер? Интернет в том месте стабильный?

У меня есть внутренний доступ к контроллеру, могу и вам в личке скинуть прямой вход на SSH открою, для вас специально. То что вы не можете зайти в контроллер, это скорее всего не обновленное ПО в контроллере, все обновил и перезапустил контроллер. Да и сейчас у меня не только 1 устройство на линнии висит, я на выходные не мог все остальное отключить. так что там все девайсы на 2 шине на месте.

После обновления облако заработало как надо.

На вашу команду ответ ниже:

Last login: Mon Mar 2 13:07:18 2026 from 10.10.10.50
root@wirenboard-A6IXNEYR:~# wb-mcu-fw-flasher -d /dev/ttyRS485-2 -a0 -u
/dev/ttyRS485-2 opened successfully.
Send reset UART settings and modbus address command…
Error: Connection reset by peer.
To flash FW on running device, run
wb-mcu-fw-flasher -d -a <modbus_addr> -j -f <firmware.wbfw>
root@wirenboard-A6IXNEYR:~#

Благодарю, доступ появился.

Для восстановления модуля обязательно нужно оставить WB-MWAC единственным на шине. Когда сможете собрать такую конфигурацию? Или подключить его через ноутбук работа с Modbus-устройствами Wiren Board без контроллера

все кроме 95 модуля убрали с линии

1 Like

Так и не удалось наладить связь с модулем.
ERRMWAC07 касается только устройств с версией загрузчика 1.4.5.
Уточните серийный номер устройства для определения возможной скидки.

Скидки чего?

Увидел серийный номер: 159017

К сожалению, срок гарантийного обслуживания уже истек.

Так как с момента продажи прошло от двух до трёх лет, то готов предложить вам купон на скидку 30 % на приобретение новой модели взамен вышедшего из строя устройства:

WB-MWAC v1 - 1 шт.

Кроме того, при наличии аналогичных устройств из категории «восстановленных» вы также сможете воспользоваться этой скидкой.

Для получение скидки напишите, пожалуйста, письмо на info@wirenboard.com.
В письме укажите:

  • ссылку на эту тему
  • серийный номер 159017

Купил в прок устройство, оно пролежало на полочке, сейчас появилось, где его использовать, установил, все заработало, прилетел запрос по обновлению, выполнил :slight_smile: . Теперь должен купить новое устройство, мне кажется не очень правильно, что по вашим нативным действиям, умирает устройство, кажется это не должна быть проблема клиента? Я просто с ужасом думаю об основном доме, где у меня 12 таких модулей стоит, правда версии 2. Я бы после обновления должен был бы купить 12 новых модулей? Мне кажется имеет место для обмена, или отремонтируйте мне его….

давайте заплачу за новый чип, или что там навернулось при вашей прошивке… так будет правильно.

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

Стоимость ремонта будет сопоставима с покупкой нового устройства, поэтому оптимальным решением станет приобретение аналогичного.
К тому же вы получите новую гарантию на новое устройство - 2 года.

Работы с попыткой восстановления закончил, из облака вышел.

Уточните, пожалуйста, выполнение этой команды делали по инструкции с перезагрузкой по питанию?

Восстановил! отключил все устройства с шины, остановил wb-mqtt-serial, выполнил сброс через wb-mcu-fw-flasher -d /dev/ttyRS485-1 -a0 -u. С первого раза, когда писал вам, команда не сработала — похоже, не успел выполнить в течение двух секунд после подачи питания на модуль. Со второй попытки модуль отозвался, после чего залил прошивку через wb-mcu-fw-updater recover — успешно встала wbmwacG 1.23.0. Сменил адрес обратно на 95, всё работает.

Загрузчик остался на версии 1.2.2. Веб-интерфейс продолжает предлагать обновить до 1.4.9, а для перфекциониста это уведомление — настоящий ад :slight_smile:

Вопрос: безопасно ли обновлять загрузчик на WB-MWAC v1 с 1.2.2 до 1.4.9 с учётом известной проблемы ERRMWAC07? Может быть, нужна промежуточная версия или какая-то особая процедура для этой ревизии? Как правильно это сделать, чтобы не окирпичить модуль повторно?

Спасибо!

При обновлении на 1.4.9 известных проблем не выявлено. Должен обновиться. Если пойдет что-то не по плану, то пишите.

так ведь выше весь пост, про то как и пошло все не по плану :slight_smile: . Это была случайность, и можно спокойно обновляться?

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