Запуск RS485

Добрый день,

WB 8.5.1. testing latest
После обновления apt update && apt upgrade и reboot не запустился опрос RS-485. Далее была сделана перезагрузка контроллера кнопкой - опрос отсутствовал. Далее был обесточен контроллер и все устройства на шинах - опрос отсутствовал. После этого контроллер был обесточен на более длительное время (секунд 30). После включения опрос шин возобновился.

Подобное поведение уже случалось неделю-полторы назад, сегодня повторилось.

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

Добрый день.

Диагностический архив разобрали. Вероятная причина: после загрузки wb-mqtt-serial стартует раньше брокера mosquitto.

Чтобы подтвердить причину, выполните на контроллере (по SSH или в веб-интерфейсе: Настройки → Консоль) и пришлите вывод. Эти команды можно выполнить в любой момент, например сейчас:

systemctl cat wb-mqtt-serial.service mosquitto.service
systemctl show wb-mqtt-serial -p StartLimitIntervalUSec -p StartLimitBurst -p RestartUSec
systemd-analyze critical-chain wb-mqtt-serial.service

Если после очередной перезагрузки опрос снова не запустится, обесточивать контроллер не нужно. Сначала выполните systemctl status wb-mqtt-serial и пришлите нам вывод, затем перезапустите сервис:

systemctl status wb-mqtt-serial
systemctl reset-failed wb-mqtt-serial
systemctl restart wb-mqtt-serial

Вывод systemctl status нужен до перезапуска: он покажет, в каком состоянии находился сервис.

root@wirenboard-APCGZIAD:~# systemctl cat wb-mqtt-serial.service mosquitto.service
# /usr/lib/systemd/system/wb-mqtt-serial.service
[Unit]
Description=MQTT Driver for serial devices
Wants=wb-hwconf-manager.service wb-modules.service
After=network.target wb-hwconf-manager.service wb-modules.service

[Service]
Type=simple
Restart=on-failure
RestartSec=1
User=root
ExecStart=/usr/bin/wb-mqtt-serial
ExecStartPre=/usr/lib/wb-mqtt-serial/generate-system-config.sh

[Install]
WantedBy=multi-user.target

/usr/lib/systemd/system/mosquitto.service

[Unit]
Description=Mosquitto MQTT Broker
Documentation=man:mosquitto.conf(5) man:mosquitto(8)
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
NotifyAccess=main
ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto
ExecStartPre=/bin/chown mosquitto:mosquitto /var/log/mosquitto
ExecStartPre=/bin/mkdir -m 740 -p /run/mosquitto
ExecStartPre=/bin/chown mosquitto:mosquitto /run/mosquitto

[Install]
WantedBy=multi-user.target

/usr/lib/systemd/system/mosquitto.service.d/10-fix-run-mosquitto.conf

[Service]
ExecStartPre=+/bin/chown mosquitto:mosquitto /run/mosquitto
ExecStartPre=+/bin/chmod g+x /run/mosquitto

/usr/lib/systemd/system/mosquitto.service.d/20-fix-homeui-acl-perms.conf

[Service]
ExecStartPre=+/bin/chmod 0700 /usr/share/wb-mqtt-homeui/mosquitto/acl/user.conf
ExecStartPre=+/bin/chmod 0700 /usr/share/wb-mqtt-homeui/mosquitto/acl/operator.conf
ExecStartPre=+/bin/chown mosquitto:mosquitto /usr/share/wb-mqtt-homeui/mosquitto/acl/user.conf
ExecStartPre=+/bin/chown mosquitto:mosquitto /usr/share/wb-mqtt-homeui/mosquitto/acl/operator.conf
root@wirenboard-APCGZIAD:~# systemctl show wb-mqtt-serial -p StartLimitIntervalUSec -p StartLimitBurst -p RestartUSec
RestartUSec=1s
StartLimitIntervalUSec=10s
StartLimitBurst=5
root@wirenboard-APCGZIAD:~# systemd-analyze critical-chain wb-mqtt-serial.service
The time when unit became active or started is printed after the “@” character.
The time the unit took to start is printed after the “+” character.

wb-mqtt-serial.service +2.411s
└─network.target @11.779s
└─networking.service @11.283s +472ms
└─wb-hwconf-manager.service @6.997s +4.248s
└─wb-configs.service @6.970s
└─basic.target @6.732s
└─sockets.target @6.713s
└─knxd-net.socket @6.527s +166ms
└─sysinit.target @6.258s
└─systemd-tmpfiles-setup.service @6.089s +131ms
└─wb-configs-early.service @5.243s +810ms
└─local-fs.target @5.106s
└─var-log.mount @4.907s +144ms
└─mnt-data.mount @4.569s +255ms
└─systemd-fsck@dev-mmcblk0p6.service @4.181s +334ms
└─dev-mmcblk0p6.device @3.962s

root@wirenboard-APCGZIAD:~# root@wirenboard-APCGZIAD:

После reboot сервисы запустились, опрос по шинам идёт штатно.

Далее, после обновления пакетов apt update && apt upgrade, затем reboot, опрос вновь не стартовал:

root@wirenboard-APCGZIAD:~# systemctl status wb-mqtt-serial
× wb-mqtt-serial.service - MQTT Driver for serial devices
Loaded: loaded (/usr/lib/systemd/system/wb-mqtt-serial.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Mon 2026-10-19 16:14:37 MSK; 1min 45s ago
Duration: 140ms
Invocation: a6a391ad93ce4bf1ac788acd3172b4b3
Main PID: 3807 (code=exited, status=1/FAILURE)

Oct 19 16:14:37 wirenboard-APCGZIAD systemd[1]: wb-mqtt-serial.service: Scheduled restart job, restart counter is at 5.
Oct 19 16:14:37 wirenboard-APCGZIAD systemd[1]: wb-mqtt-serial.service: Start request repeated too quickly.
Oct 19 16:14:37 wirenboard-APCGZIAD systemd[1]: wb-mqtt-serial.service: Failed with result ‘exit-code’.
Oct 19 16:14:37 wirenboard-APCGZIAD systemd[1]: Failed to start wb-mqtt-serial.service - MQTT Driver for serial devices.
root@wirenboard-APCGZIAD:~# systemctl reset-failed wb-mqtt-serial
root@wirenboard-APCGZIAD:~# systemctl restart wb-mqtt-serial

После этого функционирование восстановилось.

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

Прошу прощения за такое форматирование… Что-то пошло не так и привести в нормальный вид не получается…