большое спасибо, думаю это пригодится другим клиентам.
Не могли бы вы рассказать подробнее про изменения, которые вносили в исходные коды knxd?
Правильно ли я понимаю, что изменеия в основном касались сборки и юнита для systemd, а исходынй код - от последнего knxd без изменений?
а зачем? Он же заброшен много нет назад, а knxd - это единственный живой проект на его основе.
Моя сборка из последнего knxd + правка timeout сервера. Это помогло прогрузить проект через tunneling ETS. Но все равно есть ошибки и ресет чипа, хотя теперь это не приводит к разрыву сессии. Очевидно, что надо ковырять драйвер ncn5120. Сейчас это заплатка к tpuart, в которой поменяли только baudrate и U_SetAddress.req. Надо пробовать поменять U_SetRepetition.req и таймауты драйвера. Возможно, проблеммы из за скорости 38400. Тайминги драйвера рассчитаны под 19200.
eibd хоть и старый код, меня никогда не подводил. Работает стабильно годами, компилируется на всем что угодно. Хоть на i386, хоть на Allwinner. На knxd давно хотел пересесть, но каждый раз какие то баги.
Добрый день!
Попробовал увеличить интервалы отправки и таймауты ожидания в драйвере ncn5120. Теперь при загрузке через ETS шина нагружается менее агрессивно и никаких ошибок драйвер не генерирует. Но вот некоторые устройства с большой программой все равно грузятся через раз. Стал разбираться - ошибку генерит серверный модуль. Иногда “неавторизированный клиент”, иногда “таймаут сокета”. В результате ETS пишет “устройство не ответило”. Работать можно, но надо бы разобраться.
Времени пока нет… На карантине решили весь свой софт перебрать и обновить.
Не могли бы вы ещё посмотреть маркировку чипа на вашем WBE2-I-KNX? На нём написано NCN5120 или NCN5121? Мы тут, кажется, нашли аппаратную проблему, возможно дело в ней.
С knxd разобрался. Из последней сборки, если ничего не менять все работает, включая tunneling. Надо бы ее в выложить в репозиторий.
Проблемы были из за:
на загруженной шине при загрузке ETS ошибки вызывает драйвер ncn5120 - лечится увеличением таймингов и retry. На пустой шине все ок.
если по wifi иногда отваливается загрузка ETS даже на пустой шине. Но это уже не драйвер ncn5120, а модуль сервера. Как это вылечить пока не знаю. Но может и не надо. Все таки большая загрузка ETS один раз, можно и по проводу. Потом только частями.
Со старым eibd никогда такого не было. Если будет время, попробую драйвер ncn5120 для eibd написать…
Проверьте systemctl status knxd на корректность запуска
Параметры должны быть -e 0.0.1 -E 0.0.2:30 -b ncn5120:/dev/ttyMOD1 -D -T -R -S
Ну или -e 0.0.1 -E 0.0.2:30 -b ncn5120:/dev/ttyMOD1 -D -S, если ETS не нужен
Да, дело не в чипе. Наверное разработчик knxd хотел выжать максимум скорости, поэтому все так критично к сети и загрузке шины. Но это касается только ETS. Что касается обмена через /var/run/knx (и соответственно порт 6720) все ОК. Телеграммы короткие. Ваш мост knx-mqtt наверное через 6720 и работает.
Я наверное буду использовать knxd только для загрузки, а для своего софта напишу модуль прямого обмена с ncn5120. Только опрос и управление задача примитивная. В tpuart.cpp весь необходимый код есть.
А какие проблемы с 5121? Новые платы будут с ним? У меня там вроде в заказе 175750 недопоставленные остались. Ncn5120 были в предыдущем заказе 175581. И то я пока только 2 из 5 проверил.
Евгений, добрый день! Вскрыл все 5 контроллеров из последней поставки - все на 5120. Но у меня еще 3 шт. остались не отгружены. Как бы проверить, чтобы с ними проблем не было? Заказ 175750. Спасибо!
У меня тоже была проблема с удалённым подключением ETS через Wbe2-i-knx. После обновления knxd_0.14.35-1_armhf.deb knxd-tools_0.14.35-1_armhf.deb ETS проблема решилась.
Вопрос остается про удаленное подключение через ETS, возможно ли пробросить порты необходимые ETS для работы, через SSH или NAT, что подключиться удаленно без использования VPN?
Евгений, добрый день!
У меня в одном старом заказе (март или апрель) оказалась плата на ncn5121. Пока не запускали. Просто посмотрел что за модуль внутри. Как понять требуется ли ее замена, или с ней все ОК.