Итак, устройство 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_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 регистров одним запросом.
Бутлоадер тоже вроде как обновляли. Старый был. Коллега втыкал в консоль, я за связи с общественностью вчера был
Ну, после обновления бутлоадера на новый прошивку тоже надо перешивать.
И именно обновление бутлоадера - довольно опасно, если его прервать - то получится кирпич.
Итак. Залили прошивку, устройство ожило. Залили ик команды - все ок. При смене адреса видимо произошел какой то глюк. Перешил в версию которая на остальных трёх устройствах. Все ок, всем спасибо!