Wb-mqtt-serial WARNING

Добрый вечер!

Wiren Board 6.9.1 (s/n AP7D7OB5), release wb-2404 (as stable), все пакеты обновлены

В логах при загрузке вот такие ошибки:

09-07-2024 19:37:43.154 [wb-mqtt-serial] WARNING: [modbus] failed to write: <modbus:86:holding: 5>: Serial protocol error: illegal data address
09-07-2024 19:37:40.381 [wb-mqtt-serial] WARNING: [serial client] </dev/ttyRS485-2 9600 8 N 2> Register read rate limit is exceeded
и соответственно WARNING: [modbus] failed to write: <modbus:86:holding: 5>: Serial protocol error: illegal data address систематически в логе

Подскажите в в чем может быть проблема?

Еще одна странность - диагностический архив из веб-интерфейса не выгружается … Пишет: Время ожидания вышло. Обновите страницу для повторной попытки

Тут тоже ошибки
root@wirenboard-AP7D7OB5:~# wb-diag-collect diag
Start data collecting
2024-07-09 20:00:56,548 [WARNING] No files for wildcard /etc/wb-mqtt-urri.conf
2024-07-09 20:00:56,812 [WARNING] No files for wildcard /var/log/z-way-server.log
2024-07-09 20:00:56,901 [WARNING] No files for wildcard /var/log/mosquitto/mosquitto.log
2024-07-09 20:00:57,244 [WARNING] No files for wildcard /mnt/data/.wb-restore/wb-console.log
2024-07-09 20:01:11,385 [WARNING] Command fdtget /mnt/data/.wb-restore/factoryreset.fit / timestamp / description / compatible / firmware-version / firmware-compatible / release-name / release-suite / release-target / release-repo-prefix didn’t finish in 10s
2024-07-09 20:01:26,940 [WARNING] Command systemctl list-unit-files --all --output=json didn’t finish in 10s
Data was collected successfully

приложен диагностический архив, доступен только сотрудникам поддержки
(373,1 КБ)

Добрый день.

Первое - совершенно не страшно.
Следствие того что в шаблоне есть запись в регистр нулевого значения.

А вот второе - указывает косвенно на неверно распределенные времена (таймеры) опросов в настройках. То есть регистры с выбранной скоростью опроса на текущей скорости шины опрошены быть не могут, не помещается опрос в тайминг. Надо пересчитать проектный план опроса или поднять времена.

На контроллере работает tailscale, nodered. Да, может не уложится в отведенное время Про это есть, кстати, исправления в актуальном testing и будут в релизе.

Соответствующие сервисы не установлены - поэтому и файлов нет.

А попробуйте несколько раз выполнить - сколько времени займет?

выполнить systemctl list-unit-files --all --output=json ?

Подскажите где об этом поподробнее почитать. Этот проект совсем маленький, сейчас скорость шины 1 и 2 9600, устройств на шине 1: MDM-3=1, MR6C=2, MR6CU=1; на шине 2 MSW-3=2. Можно сказать совсем очень мало … В настройках все времена (таймеры) опросов по умолчанию. Если поднять скорость шины до 115200 - поможет?

Да, например.

Начать можно с обзорной статьи Протокол Modbus — Wiren Board

Количество устройств - тут не особо важно. Гораздо важнее количество опрашиваемых регистров.
Один из шагов, важных, при проектировании шины - это определить как часто нужно читать регистры и их количество.
Если (для 9600 расчетное количество чтений в секунду 25-60) превышает ширину шины - то либо читать реже либо уменьшать количество либо увеличивать скорость.

root@wirenboard-AP7D7OB5:~# systemctl list-unit-files --all --output=json
Failed to list unit files: Connection timed out

На аналогичном контроллере но без стороннего ПО занимает:

time systemctl list-unit-files --all --output=json
[{"unit_file":"mnt-sdcard.automount","state":"generated","vendor_preset":null},{"unit_file":"proc-sys-fs-binfmt_misc.automount","state":"static","vendor_preset":null},{"unit_file":"-.mount","state":"generated","vendor_preset":null},{"unit_file":"dev-hugepages.mount","state":"static","vendor_preset":null},{"unit_file":"dev-mqueue.mount","st>

real	0m11.148s
user	0m0.023s
sys	0m0.046s

А насколько заняты ресурсы, CPU например в момент выполнения команды?

Не правильно писал команду (без time) … Вот результат:

root@wirenboard-AP7D7OB5:~# time systemctl list-unit-files --all --output=json
Failed to list unit files: Connection timed out

real 0m25.439s
user 0m0.019s
sys 0m0.002s

Попробуйте остановить сервисы, потребляющие ресурсы.
То что за 25 секунд не успевает отработать - не нормально, к сожалению.

Спасибо за ответ. Буду смотреть дальше …