Пытаюсь обновить прошивку modbus устройства за WB-MGE шлюзом. Раньше выполнял это многократно. Решил запустить обновление на контроллере с testing системой. А теперь wb-mcu-fw-updater поумнел! Он видит, что порт, через который я прошу выполнить прошивку, кем-то занят, и предлагает либо мне этот процесс завершить, либо позволить ему самому его приостановить. Выглядит это как-то так:
2023-07-27 13:28:29,279 /dev/ttyRS485-5 used by socat -d -d -d -x PTY,raw,b9600,parenb=0,cstopb=1,cs8,link=/dev/ttyRS485-5 tcp:192.168.18.73:20108; Will be paused and resumed after finish [Y/N]
А ничего, что без работающего socat не будет и (работающего, как минимум) порта? Ну, допустим, я говорю Y, переключаюсь на то окно, где socat запущен (там в это время [1]+ Остановлен socat -d -d -d -x PTY,raw,b9600,parenb=0,cstopb=1,cs8,link=/dev/ttyRS485-5 tcp:192.168.18.73:20108 ) и говорю fg %1. Иногда это помогает, иногда нет. Но, вообще, тут действительно «горе от ума». Такой умный, что сам себе сук пилит.
Это действительно так – обновлять устройства стало проще.
Достаточно ввести в терминале wb-mcu-fw-updater update-all и все обновления подтянуться в автоматическом режиме, экономя время.
Более подробное описание утилиты – Утилита обновления прошивок wb-mcu-fw-updater — Wiren Board
Можете подробнее описать, для чего стоит задача использовать socat при обновлении ПО внешних устройств?
Если ваши устройства подключены через шлюз WB-MGE или аналог, то для прошивки подключите их напрямую к контроллеру или используйте перенаправление socat, инструкция.