При обновлении 7.2.1 до wb-2602 не запускается mosquitto

Обновил прошивку WB-7.2.1 до stable-версии wb-2602.

Обновление прошло успешно, запустился моргая зеленым диодиком. НО отвалился mosquitto.service. В результате перестала работать вся перефирия, отвалились дашборды, через облако писал, что подключение к mqtt отсутствует, обновление не доступно.

Думаю, может криво встала прошивка, перепрошил через debug-console ею же. Тот же результат: mosquitto не запускается. Подозреваю, что это как-то связано с изменением схемы авторизации.

Откатил прошивку до версии wb-2507. Все обратно вернулось на круги своя и заработало.

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнителоьное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение


Судя по описанию, у вас контроллер Wiren Board 7 (прошивка WB-7.2.1 → обновление до wb-2602). После обновления не стартует mosquitto.service, а после отката до wb-2507 всё работает — это действительно укладывается в возможные проблемы с новой схемой авторизации MQTT в свежих прошивках (там менялась конфигурация Mosquitto и работа с пользователями/паролями).[1]

Чтобы инженерам было проще разобраться и чтобы можно было понять, это баг прошивки или проблема в конфигурации на вашем контроллере, прошу:

  1. Соберите логи по mosquitto сразу после неудачного обновления (на wb-2602):
    В режиме, когда mosquitto не запускается (на прошивке wb-2602), выполните по SSH или через debug-консоль:

    systemctl status mosquitto.service -l
    journalctl -u mosquitto.service -n 100
    

    Скопируйте вывод целиком в ответ на эту тему.

  2. Проверьте конфигурацию mosquitto:
    Выполните:

    ls -l /etc/mosquitto
    cat /etc/mosquitto/mosquitto.conf
    cat /etc/mosquitto/conf.d/* 2>/dev/null
    

    И также приложите вывод. Важно увидеть, нет ли там старых/кастомных настроек, которые конфликтуют с новой схемой авторизации.

  3. Проверьте, есть ли ошибки в синтаксисе конфигов:
    Можно попробовать запустить mosquitto в форграунде (на wb-2602):

    mosquitto -c /etc/mosquitto/mosquitto.conf -v
    

    и прислать вывод (ошибка часто будет сразу видна — например, из-за параметров auth, listener, include_dir и т.п.).

  4. Если у вас были свои настройки MQTT/паролей:
    Напишите, пожалуйста:

    • Меняли ли вы ранее файлы в /etc/mosquitto/conf.d/ или основной /etc/mosquitto/mosquitto.conf?
    • Настраивали ли доступ к брокеру через пароли/ACL?
    • Переименовывали ли пользователя wb-mqtt или меняли ему пароль?

Без логов точный диагноз не поставить, но по опыту типичные причины на новых прошивках:

  • неподходящие или устаревшие опции в mosquitto.conf (Mosquitto стал строже к конфигам);
  • конфликт старых файлов в /etc/mosquitto/conf.d/ с новой схемой (например, дублирование listener/port или авторизации);
  • повреждение конфигурационных файлов при обновлении.

После того как вы снова обновитесь до wb-2602 и пришлёте вывод команд выше, инженеры смогут:

  • либо подсказать правку конфигов;
  • либо подтвердить баг в прошивке и предложить временное решение/фикс.

Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.


  1. Wiren Board 7.4 — Wiren Board ↩︎

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

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнителоьное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение


Понял, что конфиги mosquitto и пароли вы не трогали, и сейчас контроллер уже на wb-2507, где всё работает.

Чтобы инженеры могли предметно разобраться (и чтобы понять, это общий баг wb-2602 или что‑то специфичное), без логов с проблемной прошивки всё равно не обойтись. Поэтому план такой:

1. Что лучше сделать при следующей попытке обновления до wb-2602

Если будет возможность снова обновиться до wb-2602, до отката соберите, пожалуйста, минимум:

systemctl status mosquitto.service -l
journalctl -u mosquitto.service -n 50
mosquitto -c /etc/mosquitto/mosquitto.conf -v

И приложите сюда вывод. Там будет ключевая ошибка (например, несоответствие опций конфигурации новой версии mosquitto или проблема с логином/паролем системного пользователя).

2. Что можно проверить заранее, даже на wb-2507

Даже сейчас, на рабочей wb-2507, можно дать инженерам полезную информацию о текущем состоянии:

  1. Структуру конфигов mosquitto:
    ls -l /etc/mosquitto
    ls -l /etc/mosquitto/conf.d
    cat /etc/mosquitto/mosquitto.conf
    
  2. Версию и состояние mosquitto:
    mosquitto -h 2>&1 | head -n5
    systemctl status mosquitto.service -l
    

Если вы действительно ничего не меняли, то это поможет сравнить стандартные конфиги wb-2507 и те, что должны быть на wb-2602, и понять, не ломается ли там что‑то именно при обновлении.

3. Важная деталь: пустая/битая память или нестандартное обновление

Инженеры могут ещё спросить:

  • Чем именно обновляли до wb-2602:
    • через Web-интерфейс → Обновления;
    • или прошивкой-образом через debug-консоль?
  • Какая конкретно версия прошивки была выбрана (точное имя, если помните, или скриншот с Web-интерфейса при следующем обновлении).

Если получится, при следующей установке wb-2602 сделайте скриншот страницы «Обновления» с номером версии.


Суммируя: сейчас, когда вы уже откатились, мы не можем точно сказать, что именно ломает запуск mosquitto на wb-2602.
Максимум пользы для инженеров дадут:

  1. Повтор обновления до wb-2602;
  2. Сбор логов systemctl status и journalctl -u mosquitto до отката;
  3. Вывод текущих конфигов mosquitto на рабочей wb-2507 (уже можно прислать сейчас).

Если обновляться ещё раз рискованно (рабочий объект), напишите, пожалуйста, об этом — тогда инженеры, скорее всего, попросят воспроизвести проблему на резервном контроллере или тестовой системе.


Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.

Last login: Sat Apr 4 12:17:12 2026 from 127.0.0.1
root@wirenboard-A3CFII75:~# ls -l /etc/mosquitto
total 24
lrwxrwxrwx 1 root root 27 Apr 4 11:43 acl → /mnt/data/etc/mosquitto/acl
-rw-r–r-- 1 root root 230 Apr 28 2025 aclfile.example
drwxr-xr-x 2 root root 4096 Apr 4 11:39 ca_certificates
drwxr-xr-x 2 root root 4096 Apr 4 11:39 certs
lrwxrwxrwx 1 root root 30 Apr 4 11:43 conf.d → /mnt/data/etc/mosquitto/conf.d
-rw-r–r-- 1 root root 490 Apr 4 11:43 mosquitto.conf
lrwxrwxrwx 1 root root 30 Apr 4 11:43 passwd → /mnt/data/etc/mosquitto/passwd
-rw-r–r-- 1 root root 23 Apr 28 2025 pskfile.example
-rw-r–r-- 1 root root 355 Apr 28 2025 pwfile.example
root@wirenboard-A3CFII75:~# cat /etc/mosquitto/mosquitto.conf

Place your local configuration in /etc/mosquitto/conf.d/

A full description of the configuration file is at

/usr/share/doc/mosquitto/examples/mosquitto.conf.example

#pid_file /run/mosquitto/mosquitto.pid

persistence is disabled by default. enable in /etc/mosquitto/conf.d/000persistence.conf

persistence_location /var/lib/mosquitto/

log_dest syslog

include_dir /usr/share/wb-configs/mosquitto
include_dir /etc/mosquitto/conf.d
include_dir /usr/share/wb-configs/mosquitto-post
root@wirenboard-A3CFII75:~# cat /etc/mosquitto/conf.d/* 2>/dev/null

This file describes default listener on Unix domain socket

which is used by local Wiren Board services.

DO NOT EDIT THIS FILE unless you know what you are doing.

If you want to define more listeners, use

/etc/mosquitto/conf.d/10listeners.conf

instead.

per_listener_settings true

listener 0 /var/run/mosquitto/mosquitto.sock
allow_anonymous true

This file should be used to define external mosquitto listeners

(which are not used by internal services).

Default MQTT port listener.

It allows anonymous listeners by default to be compatible with

old Wiren Board mosquitto configuration.

It is recommended to add password authentication and TLS for security.

listener 1883
allow_anonymous true
acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf

Default Websockets listener.

It is used by Wiren Board Web interface.

It allows anonymous listeners by default to be compatible with

old Wiren Board mosquitto configuration.

It is recommended to add password authentication for security.

listener 18883 lo
protocol websockets
allow_anonymous true
acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf

This file should be used to define Mosquitto bridges.

See 21bridge.conf.example file for an example of how to do it.

connection wb_devices_cloud.wb_SERIAL
address contactless.ru
notifications true
notification_topic /client/wb_SERIAL/bridge_status
keepalive_interval 20
restart_timeout 20

topic /devices/# both 2 “” /client/wb_SERIAL
topic /config/# both 2 “” /client/wb_SERIAL
topic /rpc/# both 2 “” /client/wb_SERIAL

username wb_SERIAL
password PASSWORD
Any files placed in this directory that have a .conf ending will be loaded as
config files by the broker. Use this to make your local config.
root@wirenboard-A3CFII75:~# ^[[200~ls -l /etc/mosquitto
-bash: $‘\E[200~ls’: command not found
root@wirenboard-A3CFII75:~# ls -l /etc/mosquitto/conf.d
lrwxrwxrwx 1 root root 30 Apr 4 11:43 /etc/mosquitto/conf.d → /mnt/data/etc/mosquitto/conf.d
root@wirenboard-A3CFII75:~# ls -l /etc/mosquitto
total 24
lrwxrwxrwx 1 root root 27 Apr 4 11:43 acl → /mnt/data/etc/mosquitto/acl
-rw-r–r-- 1 root root 230 Apr 28 2025 aclfile.example
drwxr-xr-x 2 root root 4096 Apr 4 11:39 ca_certificates
drwxr-xr-x 2 root root 4096 Apr 4 11:39 certs
lrwxrwxrwx 1 root root 30 Apr 4 11:43 conf.d → /mnt/data/etc/mosquitto/conf.d
-rw-r–r-- 1 root root 490 Apr 4 11:43 mosquitto.conf
lrwxrwxrwx 1 root root 30 Apr 4 11:43 passwd → /mnt/data/etc/mosquitto/passwd
-rw-r–r-- 1 root root 23 Apr 28 2025 pskfile.example
-rw-r–r-- 1 root root 355 Apr 28 2025 pwfile.example
root@wirenboard-A3CFII75:~# ls -l /etc/mosquitto/conf.d
lrwxrwxrwx 1 root root 30 Apr 4 11:43 /etc/mosquitto/conf.d → /mnt/data/etc/mosquitto/conf.d
root@wirenboard-A3CFII75:~# cat /etc/mosquitto/mosquitto.conf

Place your local configuration in /etc/mosquitto/conf.d/

A full description of the configuration file is at

/usr/share/doc/mosquitto/examples/mosquitto.conf.example

#pid_file /run/mosquitto/mosquitto.pid

persistence is disabled by default. enable in /etc/mosquitto/conf.d/000persistence.conf

persistence_location /var/lib/mosquitto/

log_dest syslog

include_dir /usr/share/wb-configs/mosquitto
include_dir /etc/mosquitto/conf.d
include_dir /usr/share/wb-configs/mosquitto-post
root@wirenboard-A3CFII75:~# mosquitto -h 2>&1 | head -n5
mosquitto version 2.0.20

mosquitto is an MQTT v5.0/v3.1.1/v3.1 broker.

Usage: mosquitto [-c config_file] [-d] [-h] [-p port]
root@wirenboard-A3CFII75:~# systemctl status mosquitto.service -l\

systemctl status mosquitto.service -l
Failed to parse signal string ystemctl.
root@wirenboard-A3CFII75:~# systemctl status mosquitto.service -l
● mosquitto.service - Mosquitto MQTT Broker
Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/mosquitto.service.d
└─override.conf
Active: active (running) since Sat 2026-04-04 11:44:03 MSK; 46min ago
Docs: man:mosquitto.conf(5)
man:mosquitto(8)
Main PID: 2090 (mosquitto)
Tasks: 1 (limit: 2354)
Memory: 2.8M
CPU: 8.678s
CGroup: /system.slice/mosquitto.service
└─2090 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

Apr 04 11:50:51 wirenboard-A3CFII75 mosquitto[2090]: 1775292651: Client wb-mqtt-homeui-d9z1zNP366 closed its connection.
Apr 04 11:50:57 wirenboard-A3CFII75 mosquitto[2090]: 1775292657: Client wb-mqtt-homeui-FihrUIPwQ8 closed its connection.
Apr 04 11:52:13 wirenboard-A3CFII75 mosquitto[2090]: 1775292733: Client wb-mqtt-db closed its connection.
Apr 04 11:52:15 wirenboard-A3CFII75 mosquitto[2090]: 1775292735: New connection from /var/run/mosquitto/mosquitto.sock:0 on port 0.
Apr 04 11:52:15 wirenboard-A3CFII75 mosquitto[2090]: 1775292735: New client connected from /var/run/mosquitto/mosquitto.sock:0 as wb-mqtt-db (p2, c0, k60).
Apr 04 12:14:18 wirenboard-A3CFII75 mosquitto[2090]: 1775294058: New client connected from 109.252.54.25:0 as wb-mqtt-homeui-OfYuhB0JIl (p2, c1, k60).
Apr 04 12:14:24 wirenboard-A3CFII75 mosquitto[2090]: 1775294064: New connection from /var/run/mosquitto/mosquitto.sock:0 on port 0.
Apr 04 12:14:24 wirenboard-A3CFII75 mosquitto[2090]: 1775294064: New client connected from /var/run/mosquitto/mosquitto.sock:0 as auto-96F46CE4-8214-6259-E721-F07BDD389B0D (p2, c1, k60).
Apr 04 12:14:24 wirenboard-A3CFII75 mosquitto[2090]: 1775294064: Client auto-96F46CE4-8214-6259-E721-F07BDD389B0D disconnected.
Apr 04 12:14:33 wirenboard-A3CFII75 mosquitto[2090]: 1775294073: Client wb-mqtt-homeui-OfYuhB0JIl closed its connection.

та же проблема, но на 6.7.2

интересно, как решится, не хотелось бы фактори ресет делать.

Добрый день.
Покажите логи, статус, диагностический архив. Описание “такая же проблема” - довольно мало дает для диагностики.

Добрый день.

Обновлял с usb флеш с 2304 на 2602 - последнее время стал терять интернет, думал, может обновление исправит. Диагностический архив не собирает, логи (messages) размером 0 байт.

status.txt (956 байтов)

wb-diag.txt (1,6 КБ)

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

Видимо нагрузка велика, добавьте таймаут, секунд 20. например

wb-diag-collect -t 20 diag

Тут обрезано самое интересное

● mosquitto.service - Mosquitto MQTT Broker
     Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: ena>
     Active: failed (Result: exit-code) since Mon 2026-04-06 06:14:13 UTC; 7h ago
       Docs: man:mosquitto.conf(5)
             man:mosquitto(8)
    Process: 23572 ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto (code=exited, s>
    Process: 23573 ExecStartPre=/bin/chown mosquitto:mosquitto /var/log/mosquitto (code>
    Process: 23574 ExecStartPre=/bin/mkdir -m 740 -p /run/mosquitto (code=exited, statu>
    Process: 23575 ExecStartPre=/bin/chown mosquitto:mosquitto /run/mosquitto (code=exi>
    Process: 23576 ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf (code>
   Main PID: 23576 (code=exited, status=13)
        CPU: 117ms

И покажите лог самого сервиса, mosquitto. То есть перезапустите его и лог за пару минут.

Попробовал, что-то не так все равно

wb-diag_t20.txt (1,4 КБ)

restart_mosquitto.txt (2,6 КБ)

Понятно,

    Process: 4596 ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf (code=exited, status=13)

Покажите логи сервиса пожалуйста.

mosquitto_log.txt (7,8 КБ)

прикрепил

Ну, тут понятно:

Apr 06 17:27:24 wirenboard-A34ULD4Y mosquitto[19021]: 1775496444: Error: Unable to open acl_file "/usr/share/wb-mqtt-homeui/mosquitto/acl/user.conf".
Apr 06 17:27:24 wirenboard-A34ULD4Y systemd[1]: mosquitto.service: Main process exited, code=exited, status=13/n/a

Выполните

cat > /usr/share/wb-mqtt-homeui/mosquitto/acl/user.conf << 'EOF'
topic readwrite /devices/#
topic readwrite /rpc/v1/confed/Editor/Load/#
topic readwrite /rpc/v1/db_logger/history/get_values/#
topic readwrite /tmp/#
topic read /rpc/v1/exp-check
EOF

Выполнил, судя по всему ничего не изменилось:

status_mosquitto.txt (3,3 КБ)

Проверьте пожалуйста - создался ли файл? Ну и вывдите его содержимое

cat "/usr/share/wb-mqtt-homeui/mosquitto/acl/user.conf"

Файл создался, содержимое файла ниже:

root@wirenboard-A34ULD4Y:~# cat “/usr/share/wb-mqtt-homeui/mosquitto/acl/user.conf”
topic readwrite /devices/#
topic readwrite /rpc/v1/confed/Editor/Load/#
topic readwrite /rpc/v1/db_logger/history/get_values/#
topic readwrite /tmp/#
topic read /rpc/v1/exp-check

Прямо интересно…
а дайте доступ к контроллеру - гляну.

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

Логин, пароль от SSH пришлите личным сообщением, если они нестандартные.

Для этого в настройках организации нажмите кнопку “Пригласить”


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

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

С этим тоже есть вопросики)) зависает на этом пункте:

root@wirenboard-A34ULD4Y:~# apt install wb-cloud-agent
E: dpkg was interrupted, you must manually run ‘dpkg --configure -a’ to correct the problem.
root@wirenboard-A34ULD4Y:~# dpkg --configure -a
Setting up wb-configs (3.50.1) …
Locale is already set, skipping…
Removing ‘diversion of /etc/ssh/sshd_config to /etc/ssh/sshd_config.wb-orig by wb-configs’
*** OMINOUS WARNING ***: /etc/hostname is not linked to either hostname.wb or hostname.wb-orig
*** OMINOUS WARNING ***: /etc/fstab is not linked to either fstab.wb or fstab.wb-orig
*** OMINOUS WARNING ***: /etc/network/interfaces is not linked to either interfaces.wb or interfaces.wb-orig
*** OMINOUS WARNING ***: /etc/dnsmasq.conf is not linked to either dnsmasq.conf.wb or dnsmasq.conf.wb-orig
*** OMINOUS WARNING ***: /etc/hostapd.conf is not linked to either hostapd.conf.wb or hostapd.conf.wb-orig
Adding ‘diversion of /etc/ssh/sshd_config to /etc/ssh/sshd_config.wb-orig by wb-configs’
Failed to get unit file state for rsyslog.service: No such file or directory
rsyslog is a disabled or a static unit not running, not starting it.

В таком случае выполните сброс (factory reset), предварительно сделав бэкап.

удалось подключить к облаку, пока ничего не сбрасывал