Немного поторопился. Stable тоже не очень. Он изначально в конфигах вообще все устройства на первом порту помечает восклицательным знаком. Хотя некоторые устройства при этом управляются из интерфейса.
Проверили занятость порта на котором установлен WB-LED? Для этого:
- Остановите
wb-mqtt-serial
:
systemctl stop wb-mqtt-serial
- Проверьте командой:
fuser -v /dev/tty*
Пришлите вывод команды.
Если скажите их серийные номера - вероятнее всего, смогу сказать вам их сигнатуры прошивки.
Вот результаты команд:
root@wirenboard-AIVY6QRV:~# systemctl stop wb-mqtt-serial
root@wirenboard-AIVY6QRV:~# fuser -v /dev/tty*
USER PID ACCESS COMMAND
/dev/tty1: root 1629 F… agetty
/dev/tty6: root 286 F… systemd-logind
/dev/ttyS0: root 1652 F… agetty
/dev/ttyS0: root 1652 F… agetty
Сигнатуры я уже выяснил, опрашивая живые устройства того же типа.
Результат одной из попыток прошивки я присылал выше. Сейчас попробовал ещё, результат тот же.
root@wirenboard-AIVY6QRV:~# wb-mcu-fw-flasher -j -b115200 -d /dev/ttyRS485-1 -a 142 -f /home/ledG__3.5.1_master_cf2e899.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
/home/ledG__3.5.1_master_cf2e899.wbfw opened successfully, size 32808 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.
root@wirenboard-AIVY6QRV:~#
если пытаться почитать регистры, пишет вот
root@wirenboard-AIVY6QRV:~# modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a142 -t3 -r 290 -c12
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[8E][03][01][22][00][0C][FB][06]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!
root@wirenboard-AIVY6QRV:~#
Сколько по итогу таких устройств, которые никак не взаимодействуют по Modbus?
Которых никак не взаимодействуют сейчас один WB-LED 142. Остальные с переменным успехом. Они могут отвечать на команды из wb-rules и из интерфейса, но стоять с восклицательным знаком в настройках.
Благодарю за ожидание. Попробуйте прочитать версию загрузчика на WB-LED:
modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 -a142 -t3 -r330 -c8
Всё починилось. Теперь что происходило, как мне видится:
- Датчик. Он висит на конце шлейфа свои показания худо-бедно передаёт. Периодически вылезает ошибка crc, но обычной жизни не особо мешает. А вот обновление прошивки его ушатало. И перезалить прошивку не синимая его не возможно. Снял, подключил по короткому проводу, залил прошивку принудительно. Повесил назад и всё как раньше.
- Про устройства в шкафу на отдельном порту. При заливке прошивки два из них тоже встали колом (причину не знаю). Дальше в попытках диагностики разъёмы многократно дёргались, и один из проводов (вроде А) переломился у контроллерного разъёма. И появилась новая плавающая ошибка, которая и пила кровь несколько дней. После того, как шлейф был полностью перебран, оба проблемные устройства нашлись на частоте 9600 (штатно работают на 115200) в полуживом состоянии, приняли новую прошивку принудительно и вернулись к нормальной работе.
Благодарю за обратную связь.
Действительно, в первую очередь следует проверять физическое подключение.