WB-MIR V2 После смены адреса

Итак, устройство WB-MIR V2 hw v1.8m fw 4.16.19 - Все настроил, обучил ик командам, проверил на стенде, скопировал ик команды еще в 3 устройства.
Перед установкой в систему сменил адрес с дефолтного 183 на нужный мне 43, соответственно и на контроллере поправил адреса slave устройств и после этого пропала связь контроллера с устройством.
Есть еще 3 таких же устройства, им адреса поменял на 40 41 42 - они с контроллером работают. Меняю устройству с адресом 40 на 43 - контроллер видит его, все работает то есть проблема в конкретной железке. При этом через модбас клиент вручную читаю пишу проблемное устройство с адресом 43 - все работает. кондиционер реагирует. Пробовал менять обратно адрес на 183, соответсвенно поправлял программу в контроллере - не работает.
Есть какой то секрет? Или как откатить на заводские настройки? Обновлять пошивку?

Добрый день.
Покажите результат чтения какого-нибудь регистра с устройства 43 ну и логи из wb-mqtt-serial.
Скорость порт дефолтная или изменена? В сканировании устройство видно?

Нет у меня устройств wb кроме wb-mir. Скорость 9600, чет, 2 стопбита. В данный момент с линукса перебираются адреса и параметры связи, ибо устройство вообще перестало отвечать чему либо.

Интересно. Сбросить можно так: Modbus-адрес устройства Wiren Board — Wiren Board

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

modbus_client --debug -mrtu -b9600 -s2 /dev/ttyUSB0 -a43 -t5 -r5100 1 - параметры четности слетели. Поправил, но на контроллер по прежнему не реагирует

Пробуем обновиться:

~# wb-mcu-fw-flasher -f ./4.18.10.wbfw -a43 -D -b9600 -d /dev/ttyUSB0 -s 2 -pE
/dev/ttyUSB0 opened successfully.
./4.18.10.wbfw opened successfully, size 22608 bytes

Sending info block…[2B][10][10][00][00][10][20][E4][E8][10][2D][02][F6][90][BA][0D][39][54][B7][EF][5C][85][0D][F9][C6][28][EB][62][2E][5B][33][D2][86][01][1C][EF][4A][4E][66][68][A0]
Waiting for a confirmation…
ERROR Connection timed out: select

Error while sending info block: Connection timed out
[2B][10][10][00][00][10][20][E4][E8][10][2D][02][F6][90][BA][0D][39][54][B7][EF][5C][85][0D][F9][C6][28][EB][62][2E][5B][33][D2][86][01][1C][EF][4A][4E][66][68][A0]
Waiting for a confirmation…
^C

И вот так
ещё вот так пробовал:

root@debian:~# wb-mcu-fw-flasher -f ./1.2.2.wbfw -j -a 43 -D -b 9600 -d /dev/ttyUSB0 -s 2 -pE
/dev/ttyUSB0 opened successfully.
Send jump to bootloader command and wait 2 seconds…
[2B][06][00][81][00][01][1F][E8]
Waiting for a confirmation…
<2B><06><00><81><00><01><1F>
Ok, device will jump to bootloader.
./1.2.2.wbfw opened successfully, size 8736 bytes

Sending info block…[2B][10][10][00][00][10][20][B4][CA][6D][60][72][15][67][C0][0B][23][92][90][2E][7E][1E][5B][56][CB][8E][E4][35][75][79][C6][92][2E][F2][19][60][7D][8D][DA][E6][BF]
Waiting for a confirmation…
<2B><90><04><6C><0B>
ERROR Slave device or server failure

Error while sending info block: Slave device or server failure
Data format is invalid or firmware signature doesn’t match the device
root@debian:~# wb-mcu-fw-flasher -f ./4.18.10.wbfw -j -a 43 -D -b 9600 -d /dev/ttyUSB0 -s 2 -pE
/dev/ttyUSB0 opened successfully.
Send jump to bootloader command and wait 2 seconds…
[2B][06][00][81][00][01][1F][E8]
Waiting for a confirmation…
ERROR Connection timed out: select
Error: Connection timed out.
May be device already in bootloader, check status led
./4.18.10.wbfw opened successfully, size 22608 bytes

Sending info block…[2B][10][10][00][00][10][20][E4][E8][10][2D][02][F6][90][BA][0D][39][54][B7][EF][5C][85][0D][F9][C6][28][EB][62][2E][5B][33][D2][86][01][1C][EF][4A][4E][66][68][A0]
Waiting for a confirmation…
<2B><90><04><6C><0B>
ERROR Slave device or server failure

Error while sending info block: Slave device or server failure
Data format is invalid or firmware signature doesn’t match the device

Пытаетесь зашить прошивку от устройства с другой сигнатурой, флешер вам не дает. Инструкция.

Как не отращивая бороду понять какая прошивка нужна? Инструкцию эту читали, умнее не стали. Если возможно - ссылку на конкретный файл который зайдет

Я не знаю сигнатуру вашего устройство, узнать её можно командой из пункта 3. Могу по серийному номеру посмотреть, если напишете его.

А почему не используете автоматический обновлятор? Он умеет сам подбирать файл и качать его.

Обновили, заливаем команды и проверяем. P.S. а после обновления адрес и параметры порта какие? Как у нового устройства?

Судя по всему устройство окирпичилось после “умного” автоматического обновлятора. Продолжаем наблюдение!

Нет. Автоматический - это обертка, которая выкачивает по сигнатуре файл и отдает его флешеру. Чаще всего проблема возникает при обрыве связи (или питания) в процессе прошивки.
Ну и устройство в bootloader отдает 12 регистров holding c 290 адреса одним запросом.

Питание - от того же системника откуда и прошивка, системник запитан через UPS. Никто ничего не трогал и не прерывал. И по окончании прошивки было сообщение что все ок. Сегодня нет возможности заниматься, завтра продолжу. На случай кирпича - возможно поднять залив прошивку непосредственно в процессор программатором или по uart?

Проверим про bootloader. Какие параметры подключения если устройство осталось в буте?

Если не работает основная прошивка - то bootloader все равно остается. Нет, программатором не получится.

9600 8n2
читать именно 12 регистров одним запросом.

Бутлоадер тоже вроде как обновляли. Старый был. Коллега втыкал в консоль, я за связи с общественностью вчера был

Ну, после обновления бутлоадера на новый прошивку тоже надо перешивать.
И именно обновление бутлоадера - довольно опасно, если его прервать - то получится кирпич.

Итак. Залили прошивку, устройство ожило. Залили ик команды - все ок. При смене адреса видимо произошел какой то глюк. Перешил в версию которая на остальных трёх устройствах. Все ок, всем спасибо!

2 Likes