Ошибки на порту /dev/ttyRS485-2 после установки Sprut Zigbee

Здравствуйте.
Модуль WBE2R-R-ZIGBEE-SH установлен в mod4
Включен в конфигураторе /etc/wb-hardware.conf, указан внутренний порт 4
Установлен спрутхаб
После того, как в нем подключаешь модуль, в логах идет вал сообщений:
WARNING: </dev/ttyRS485-2 9600 8 N 2>: closed due to repetetive errors

естественно девайс, висящий на этом порту, становится красным.
И это уже вторая попытка. Во время первой так же завалило порт /dev/ttyRS485-1. После удаления Спрутхаба все сразу приходит в норму.
Что делать?

Добрый день.

Покажите пожалуйста - действительно ли заняты порты ttyRS485-* процессом SH?
Ну и если да - то, думаю надо смотреть в его настройки.

Смотрите. Куплен новый ВБ 7. На него установлена свежая прошивка.
Больше никакого софта, вообще. Добавлены устройства, все производства ВБ, по модбасу на 485-1 и 485-2 порты.
Далее воткнули спрутовский зигби. Установили спрутхаб.
Больше никакого софта не устанавливали вообще.
В настройках ВБ указали, что в mod4 воткнут зигби девайс.
В настройках спрутхаба активировали зигби девайс.
И получили в первой попытке неработающий 485-1, а после удаления и переустановки - неработающий 485-2. Вам не кажется, что с новой чистой системой из коробки не должно быть такого глюка?

И что самое обидное, опытные люди нам сказали, что этот глюк у вас давно, но вы его упорно не чините и не добавляете в документацию как фичу.

В итоге проблему решили, переставив зигби в разьем mod3, но, повторюсь, поймать такое на чистой новой системе сразу после распаковки - это дичь. Вам не кажется, что хотя бы купленное у одного производителя железо должно базово включаться и работать без вот этих танцев? :slight_smile:

Если нужно поймать этот глюк, я могу снова переставить спрут в мод4 и дать доступ по ssh к устройству, оно пока стоит ждет монтажа освещения.

Так… То есть то что сторонний софт занимает порты - нужно чинить нам?

Это не решение, совсем.
Я не вижу даже списка портов и номеров занявших их процессов.
Тут вопросы к настройке SH - зачем-то включаете порты используемые сервисами WirenBoard для того чтобы на них запускались (параллельно?) сервися SH.

Простите, я думал, что уж если зигби модуль продаете вы - как минимум вы прокрутили его во всех позициях и знаете что с ним точно проблем нет :slight_smile:

Если спрут - существо постороннее на ВБ, значит, он может вести себя некорректно.

повторюсь, все, что делалось со спрутхабом - это его установка и активация зигби модуля на порту /dev/ttyMOD4 → ttyS3.
Предположить, что он по каким то своим причинам заблокирует /dev/ttyRS485-2 → ttyS4, я не мог. Самостоятельно выбрать ttyS4 я так же не мог, поскольку выбирал из списка именно порт ttyS3, поскольку вывод команды ls -la /dev/tty* показал, что нужный мне разьем MOD4 как раз на ttyS3 висит.

Именно модуль - да, он по сути ничем кроме используемого чипа не отличается от https://wirenboard.com/wiki/WBE2R-R-ZIGBEE_v.2_ZigBee_Extension_Moduleну и естественно занимает один порт.

SH разрабатывается совершенно отджельно, просто в коллаборации.

Там много астроек, возможно по-умолчанию включены контроллеры Modbus.

В настройках контроллеров спрута изначально чисто. Добавлен только контроллер зигби, и для теста - MQTT. Именно модбас контроллер не использовался и не создавался.

Если мне удастся повторить проблему - удалить спрут, переткнуть зигби в мод4, установить спрут заново и с нуля поймать этот глюк - вы сможете посмотреть, что вызывает проблему?

Ну… Думаю баг.

Я могу выполнить

fuser /dev/tty*

Возможно - увижу там pid процесса java.
Дальше - диагностировать нечего, Sprut - закрытое ПО, возможности дебага никак не документированы.

Если все таки баг - шансы выше что исправят если я им передам или вы?

/dev/tty1: 1513
/dev/tty6: 297
/dev/ttyS0: 1534
/dev/ttyS5: 8922
/dev/ttyS2: 14207
/dev/ttyS4: 14207
/dev/ttyS0: 1534
/dev/ttyS2: 14207
/dev/ttyS4: 14207
/dev/ttyS5: 8922

14207 это wb-mqtt-serial сечас
Получается, что при запуске спрута он каким то образом отбирает порт у вашего процесса и вешает что-то свое?

Да, вот у меня (без SH) так:

fuser -v /dev/tty*
                     USER        PID ACCESS COMMAND
/dev/tty1:           root       1519 F.... agetty
/dev/tty6:           root        292 F.... systemd-logind
/dev/ttyS0:          root       1549 F.... agetty
/dev/ttyS2:          root      22847 F.... wb-mqtt-serial
/dev/ttyS4:          root      22847 F.... wb-mqtt-serial
/dev/ttyS0:          root       1549 F.... agetty
/dev/ttyS2:          root      22847 F.... wb-mqtt-serial
/dev/ttyS4:          root      22847 F.... wb-mqtt-serial
/dev/ttyUSB1:        root      23837 F.... ModemManager
/dev/ttyUSB2:        root      23837 F.... ModemManager
                     root      27064 F.... pppd