Stable: После обновления нет возможности редактировать serial-config через web UI

Прошу вашей помощи!

На днях перешел на последний sable и некоторых ошибок при обновлении устройств через web UI, получил ситуацию, при которой сохранение изменений в serial config невозможно. Кнопка сохранения изменений всегда недоступна. Перезагрузка сервиса и контроллера не помогает. При этом все реле работают, правка конфига вручную позволяет менять настройки.

На этой неделе планируется установка щита, предстоит преднастроить много оборудования, а сейчас невозможно хоть как-то адекватно это сделать!

Прошу вас подсказать решение как можно скорее.
diag_output_AC6A3GB6_2024-11-17-23.21.11.zip (684,9 КБ)

Добрый день!

Правильно ли я понимаю, что при внесении изменений кнопка «Сохранить настройки» не становится активной?

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

Для диагностики рекомендую воспользоваться следующими командами:

  1. journalctl -u wb-configs.service
    Обратите внимание на записи вида Stopping watch config files. Это может указать, что вызывает остановку.
  2. journalctl -b | grep wb-configs
    Эта команда отобразит общие системные события, связанные со службой.

Кроме того, отмечены проблемы с устройством Dooya 0x0103 — периодически теряется связь с устройством.

Да, все верно

Да, есть такие записи.

Логи
-- Journal begins at Sun 2022-08-07 13:25:12 UTC, ends at Mon 2024-11-18 13:50:01 UTC. --
Aug 07 13:25:21 wirenboard systemd[1]: Started watch config files.
Aug 07 13:25:21 wirenboard wb-watch-configs[497]: Watched dirs: /etc /etc/network
-- Boot 4dc201ca3f274ac3818f2ca2b453de39 --
Nov 14 20:55:01 wirenboard-AC6A3GB6 systemd[1]: Stopping watch config files...
Nov 14 20:55:01 wirenboard-AC6A3GB6 systemd[1]: wb-configs.service: Succeeded.
Nov 14 20:55:01 wirenboard-AC6A3GB6 systemd[1]: Stopped watch config files.
Nov 14 20:55:01 wirenboard-AC6A3GB6 systemd[1]: wb-configs.service: Consumed 1.306s CPU time.
Nov 14 20:55:01 wirenboard-AC6A3GB6 systemd[1]: Started watch config files.
Nov 14 20:55:01 wirenboard-AC6A3GB6 wb-watch-configs[8861]: Watched dirs: /etc /etc/network
Nov 14 20:55:15 wirenboard-AC6A3GB6 wb-watch-configs[9589]: /etc/passwd was changed
Nov 14 20:55:15 wirenboard-AC6A3GB6 wb-watch-configs[9595]: /etc/shadow was changed
Nov 14 20:55:15 wirenboard-AC6A3GB6 wb-watch-configs[9601]: /etc/group was changed
Nov 14 20:55:15 wirenboard-AC6A3GB6 wb-watch-configs[9606]: /etc/group was changed
Nov 14 20:55:15 wirenboard-AC6A3GB6 wb-watch-configs[9613]: /etc/gshadow was changed
Nov 14 20:55:15 wirenboard-AC6A3GB6 wb-watch-configs[9621]: /etc/gshadow was changed
Nov 14 20:57:47 wirenboard-AC6A3GB6 systemd[1]: Stopping watch config files...
Nov 14 20:57:47 wirenboard-AC6A3GB6 systemd[1]: wb-configs.service: Succeeded.
Nov 14 20:57:47 wirenboard-AC6A3GB6 systemd[1]: Stopped watch config files.
Nov 14 20:57:47 wirenboard-AC6A3GB6 systemd[1]: Started watch config files.
Nov 14 20:57:47 wirenboard-AC6A3GB6 wb-watch-configs[13324]: Watched dirs: /etc /etc/network
Nov 14 21:00:20 wirenboard-AC6A3GB6 wb-watch-configs[17089]: /etc/passwd was changed
Nov 14 21:00:20 wirenboard-AC6A3GB6 wb-watch-configs[17093]: /etc/shadow was changed
Nov 14 21:00:20 wirenboard-AC6A3GB6 wb-watch-configs[17096]: /etc/group was changed
Nov 14 21:00:20 wirenboard-AC6A3GB6 wb-watch-configs[17099]: /etc/gshadow was changed
Nov 14 21:01:00 wirenboard-AC6A3GB6 systemd[1]: Stopping watch config files...
Nov 14 21:01:00 wirenboard-AC6A3GB6 systemd[1]: wb-configs.service: Succeeded.
Nov 14 21:01:00 wirenboard-AC6A3GB6 systemd[1]: Stopped watch config files.
-- Boot 7f8ac12fea5e43c693e9f3b2b90077d5 --
Nov 14 21:01:29 wirenboard-AC6A3GB6 systemd[1]: Started watch config files.
Nov 14 21:02:23 wirenboard-AC6A3GB6 wb-watch-configs[6466]: /etc/passwd was changed
Nov 14 21:02:23 wirenboard-AC6A3GB6 wb-watch-configs[6475]: /etc/shadow was changed
Nov 14 21:02:23 wirenboard-AC6A3GB6 wb-watch-configs[6479]: /etc/group was changed
Nov 14 21:02:23 wirenboard-AC6A3GB6 wb-watch-configs[6485]: /etc/gshadow was changed
Nov 14 22:15:58 wirenboard-AC6A3GB6 systemd[1]: Stopping watch config files...
Nov 14 22:15:58 wirenboard-AC6A3GB6 systemd[1]: wb-configs.service: Succeeded.
Nov 14 22:15:58 wirenboard-AC6A3GB6 systemd[1]: Stopped watch config files.
Nov 14 22:15:58 wirenboard-AC6A3GB6 systemd[1]: Started watch config files.
Nov 14 22:16:13 wirenboard-AC6A3GB6 wb-watch-configs[17878]: /etc/passwd was changed
Nov 14 22:16:13 wirenboard-AC6A3GB6 wb-watch-configs[17887]: /etc/group was changed
Nov 14 22:16:13 wirenboard-AC6A3GB6 wb-watch-configs[17890]: /etc/gshadow was changed
Nov 14 22:16:13 wirenboard-AC6A3GB6 wb-watch-configs[17916]: /etc/passwd was changed
Nov 14 22:16:13 wirenboard-AC6A3GB6 wb-watch-configs[17923]: /etc/shadow was changed
Nov 14 22:16:13 wirenboard-AC6A3GB6 wb-watch-configs[17928]: /etc/group was changed
Nov 14 22:16:13 wirenboard-AC6A3GB6 wb-watch-configs[17932]: /etc/gshadow was changed
Nov 14 22:19:43 wirenboard-AC6A3GB6 systemd[1]: Stopping watch config files...
Nov 14 22:19:44 wirenboard-AC6A3GB6 systemd[1]: wb-configs.service: Succeeded.
Nov 14 22:19:44 wirenboard-AC6A3GB6 systemd[1]: Stopped watch config files.
-- Boot cfc7892741c845e996bbca3fe2b38315 --
Nov 14 22:20:11 wirenboard-AC6A3GB6 systemd[1]: Started watch config files.
Nov 14 22:22:07 wirenboard-AC6A3GB6 wb-watch-configs[7056]: /etc/passwd was changed
Nov 14 22:22:07 wirenboard-AC6A3GB6 wb-watch-configs[7062]: /etc/shadow was changed
Nov 14 22:22:07 wirenboard-AC6A3GB6 wb-watch-configs[7068]: /etc/group was changed
Nov 14 22:22:07 wirenboard-AC6A3GB6 wb-watch-configs[7071]: /etc/gshadow was changed
Nov 15 17:15:14 wirenboard-AC6A3GB6 systemd[1]: Stopping watch config files...
Nov 15 17:15:14 wirenboard-AC6A3GB6 systemd[1]: wb-configs.service: Succeeded.
Nov 15 17:15:14 wirenboard-AC6A3GB6 systemd[1]: Stopped watch config files.
-- Boot 8df2db4551914cb89ff9bcfeb1565fac --
Nov 15 17:16:07 wirenboard-AC6A3GB6 systemd[1]: Started watch config files.
Nov 15 17:16:08 wirenboard-AC6A3GB6 wb-watch-configs[331]: Watched dirs: /etc /etc/network
Nov 15 17:37:38 wirenboard-AC6A3GB6 wb-watch-configs[18297]: /etc/shadow was changed
Nov 15 17:37:38 wirenboard-AC6A3GB6 wb-watch-configs[18307]: /etc/group was changed

Результат journalctl -b | grep wb-configs
root@wirenboard-AC6A3GB6:/mnt/data/etc# journalctl -b | grep wb-configs
Nov 15 17:16:06 wirenboard-AC6A3GB6 wb-configs-early[222]: Checking symlinks to /mnt/data
Nov 15 17:16:06 wirenboard-AC6A3GB6 wb-configs-early[222]: Setting ownership www-data to /mnt/data/uploads
Nov 15 17:16:26 wirenboard-AC6A3GB6 fix_nm_ap_ssid.sh[3378]: /usr/lib/wb-configs/fix_nm_ap_ssid.sh: line 7: [: too many arguments
Nov 15 17:16:29 wirenboard-AC6A3GB6 mosquitto[3809]: 1731690989: Loading config file /usr/share/wb-configs/mosquitto/30limits.conf

Это настроенные шторы, которых сейчас на шине физически нет. Отключил эту шину, чтобы не спамила ошибки

Пригласите пожалуйста пользователя support@wirenboard.com в организацию на облачном сервисе.
Для этого в настройках организации нажмите кнопку “Пригласить”


И укажите почтовый адрес:

После этого поддержка получит доступ к вашему контроллеру для диагностики.
Не забудьте удалить потом доступ.

Готово.

Контроллер сейчас в на тестовом стенде, так что можете если что перегружать без проблем

Добрый день!

В логах наблюдаю множество ошибок, связанных с совпадающими адресами устройств.

Рекомендую ознакомиться с данной статьей для изменения адресов устройств и устранения конфликтов на шине.

Также в логах встречаются следующие ошибки:

  1. Ошибка подключения по адресу:
19-11-2024 01:30:19.428 [wb-mqtt-serial] ERROR: [serial client] Serial protocol error: <192.168.88.50:23> connect error: No route to host (113)

Рекомендую проверить сетевые подключения и настройки IP-адреса, чтобы убедиться в доступности указанного узла.

  1. Ошибка памяти в MQTT:
19-11-2024 01:20:15.057 [mosquitto] 1731950414: Error: Out of memory.

Рекомендую проверить настройки MQTT-брокера.

Добрый день.

Я в свое время прописал нужные устройства на нужные шины заранее, которые физически не подключал. Подключил пару из этих устройств на другую шину. Т.е. Физически совпадения адресов нет. просто одно и то же устройство прописано на 2-х разных портах.

Верно, шлюз периодически включаю и отключаю, для экспериментов.

Я проверю. Только как это все связано с возможностью сохранить измененный конфиг через web UI?

Дубликаты у меня висели уже давно, порт MIO-E я так же периодически отключал и раньше. Это не мешало настроивать устройства через web UI

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

Убрал все дубликаты, отключил езернет порт 192.168.88.50:23
Ошибок теперь нет

Сохраняться по прежнему не позволяет

Не знаю что произошло, но в итоге каким-то чудом сохранение заработало! Я несколько раз стопал/стартовал сериал сервис, плюнул, оставил. Потом через насколько часов решил попробовать другой браузер и там все заработало! Попробовал в предыдущем браузере и тоже все заработало.
Не знаю что это было, еще раз приложу диагностический архив, возможно там что-то вам поможет избежать таких проблем в будущем
diag_output_AC6A3GB6_2024-11-19-20.56.02.zip (473,6 КБ)

Добрый день!

Отличная новость!

Возможно, действительно, ошибки вызывали такой эффект. Мы проанализируем их совместно с коллегами.

Остались ли еще вопросы?

Добрый день.

Нет, по этой теме вопросов больше нет, спасибо за помощь!

Увидел в чатике WB, что такая проблема встречается не только у меня одного.
Я воспроизвел проблему.
Я добавил ручками в сеиал-конфиг новое устройство с совпадающим slave id (180 двух устройств разных типов).

Перезагрузил wb-mqtt-serial, и сохранение изменений через web перестало работать.

Получается, подобные ошибки на шине приводят к невозможности изменить настройки serial-конфига, то это может стать критической проблемой, ведь исправлять их руками сможет далеко не каждый. Ошибки вполне штатные, можно легко сделать дубликат, перенося устройство с одной шины на другую, или добавить новое устройство с уже имеющимся id.

Диагностический архив прилагаю
diag_output_AC6A3GB6_2024-11-24-10.04.13.zip (344,3 КБ)

А почему контроллер должен сохранять конфиг с дублями? Нажмите поиск устройств и оно перенумерует устройства. Потом сохраняйте.

Может и не должен сохранять, но сейчас это не очевидно, хочется знать и понимать почему не сохраняет.
У меня ситуация возникла после обновления на последний стейбл, т.е. конфиг уже был “неправильный”. А до обновления веб UI спокойно давал сохранять изменения. И вот я несколько дней пытался понять что же не так, и почему кнопка не активна. В поддержке мне не смогли назвать возможную причину такого поведения. А оказалось, что есть валидация конфига.
На мой взгляд правильнее было бы либо писать причину невозможности сохранения, либо давать нажимать кнопку, а там уже выдавать сообщение с ошибкой, чтобы было понятно где конфиг неправильный.

1 лайк

Добрый день, направили информацию разработчикам.