Не удалось создать MQTT соединение (testing)

Похоже пришло время и мне обратиться за помощью в ТП :slight_smile:

Предыстория: Имею в пользование некоторое количество контроллеров WB от 7.4.х до 8.5.1
Часть из них работает в stable, часть в testing. Периодически всем им обновляю ПО путем apt update && apt upgrade - т.е. стараюсь держать из в достаточно актуальном состоянии.
Июльский testing (это тот, в который добавили https для локального доступа и аутентификацию через вэб) у меня вызвал проблемы.
Если откатиться на stable, то проблем с вебинтерфейсом нет (пропадают).
Проверил текущий testing на пяти своих разных контроллерах - эффект везде одинаковый - в вебинтерфейсе (как локально так и через облако Wb) возникает сообщение об ошибке “Не удалось создать MQTT соединение” и как следствие, практически весь функционал в вэб интерфейсе недоступен (включая и создание диагностического архива).

Проверял доступ (вэб) на разных РС (разные броузеры, в разных сетях, с очисткой кэша, в режиме инкогнито и пр.)
Что проверял:

  • апдейты проходят штатно, без ошибок (сетевой доступ без ограничений со стороны роутера, кабельный интернет, ВПНов и пр. - нет)
  • mosquitto запускается без проблем и без ошибок с новой конфигурацией (где добавлены порты 18883…18886)
root@wirenboard-AOGF56JV:~# netstat -tlnp | grep 188*
tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      1022567/mosquitto   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1845/sshd: /usr/sbi 
tcp6       0      0 127.0.0.1:18883         :::*                    LISTEN      1022567/mosquitto   
tcp6       0      0 127.0.0.1:18884         :::*                    LISTEN      1022567/mosquitto   
tcp6       0      0 127.0.0.1:18885         :::*                    LISTEN      1022567/mosquitto   
tcp6       0      0 127.0.0.1:18886         :::*                    LISTEN      1022567/mosquitto   
tcp6       0      0 :::1883                 :::*                    LISTEN      1022567/mosquitto
  • Подписка на все топики в москито тоже дает адекватный ответ:
root@wirenboard-AOGF56JV:~# mosquitto_sub -v -t '#'
/rpc/v1/wb_logs/logs/CancelLoad 1
/rpc/v1/wb_logs/logs/Load 1
/rpc/v1/wb_logs/logs/List 1
/rpc/v1/diag/main/diag 1
/rpc/v1/diag/main/status 1
/rpc/v1/wb-mqtt-serial/device/Set 1
/rpc/v1/wb-mqtt-serial/device/LoadConfig 1
/rpc/v1/wb-mqtt-serial/device/SetPoll 1
/rpc/v1/wb-mqtt-serial/device/Probe 1
/rpc/v1/wb-mqtt-serial/device/Load 1
/rpc/v1/wb-mqtt-serial/port/Scan 1
/rpc/v1/wb-mqtt-serial/port/Setup 1
/rpc/v1/wb-mqtt-serial/port/Load 1
/rpc/v1/wb-mqtt-serial/ports/Load 1
/rpc/v1/wb-mqtt-serial/config/GetSchema 1
/rpc/v1/wb-mqtt-serial/config/Load 1
/rpc/v1/db_logger/history/get_channels 1
/rpc/v1/db_logger/history/get_values 1
/rpc/v1/wb-device-manager/bus-scan/Start 1
/rpc/v1/wb-device-manager/bus-scan/Stop 1
/rpc/v1/wb-device-manager/fw-update/GetFirmwareInfo 1
/rpc/v1/wb-device-manager/fw-update/Update 1
/rpc/v1/wb-device-manager/fw-update/ClearError 1
/rpc/v1/wb-device-manager/fw-update/Restore 1
/rpc/v1/wbrules/Editor/ChangeState 1
/rpc/v1/wbrules/Editor/List 1
/rpc/v1/wbrules/Editor/Load 1
/rpc/v1/wbrules/Editor/Remove 1
/rpc/v1/wbrules/Editor/Rename 1
/rpc/v1/wbrules/Editor/Save 1
/rpc/v1/confed/Editor/List 1
/rpc/v1/confed/Editor/Load 1
/rpc/v1/confed/Editor/Save 1
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/meta/name Network Connection lo
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/meta/driver wb-nm-helper
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Name lo
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Name/meta {"type": "text", "readonly": true, "order": 1}
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/UUID 868a9a3f-62d9-43c2-be2c-756fa258dce4
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/UUID/meta {"type": "text", "readonly": true, "order": 2}
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Type loopback
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Type/meta {"type": "text", "readonly": true, "order": 3}
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Active 1
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Active/meta {"type": "switch", "readonly": true, "order": 4}
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Device lo
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Device/meta {"type": "text", "readonly": true, "order": 5}
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/State activated
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/State/meta {"type": "text", "readonly": true, "order": 6}
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Address 127.0.0.1
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Address/meta {"type": "text", "readonly": true, "order": 7}
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Connectivity 1
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/Connectivity/meta {"type": "switch", "readonly": true, "order": 8}
/devices/system__networks__868a9a3f-62d9-43c2-be2c-756fa258dce4/controls/UpDown/meta {"type": "pushbutton", "readonly": false, "title": {"en": "Down"}, "order": 12}
/devices/knx/controls/data i:0/0/0 i:0/0/0 GroupValueRead 0x00
/devices/knx/controls/data/meta {"order":0,"readonly":false,"title":{"en":"Message","ru":"\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435"},"type":"text"}
/devices/knx/controls/data/meta/type text
/devices/knx/controls/data/meta/readonly 0
/devices/knx/controls/data/meta/order 0
  • ngnix также проверил - запускается без ошибок и предупреждений. Конфигурация у него “новая” (та что содержит в себе апстримы на москитто порты 18883 и т.д) - т.е. инклуды конфигурации ngnix`у подключаются без проблемы - это я тоже проверил.

  • сurl`ом формировал запросы к http://192.168.244.18/mqtt - ответ адекватный за исключением " HTTP/1.1 401 Unauthorized" (не авторизованный запрос)

curl -H 'Upgrade: websocket' -H "Sec-WebSocket-Key: `openssl rand -base64 16`" -H 'Sec-WebSocket-Version: 13' --http1.1 -sSv    http://192.168.244.18/mqtt
*   Trying 192.168.244.18:80...
* Connected to 192.168.244.18 (192.168.244.18) port 80 (#0)
> GET /mqtt HTTP/1.1
> Host: 192.168.244.18
> User-Agent: curl/7.74.0
> Accept: */*
> Upgrade: websocket
> Sec-WebSocket-Key: VXerZWFEcY8GS8kF3ntZaw==
> Sec-WebSocket-Version: 13
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 401 Unauthorized
< Server: nginx/1.18.0
< Date: Thu, 21 Aug 2025 10:20:21 GMT
< Content-Type: text/html
< Content-Length: 179
< Connection: keep-alive
< 
<html>
<head><title>401 Authorization Required</title></head>
<body>
<center><h1>401 Authorization Required</h1></center>
<hr><center>nginx/1.18.0</center>
</body>
</html>
* Connection #0 to host 192.168.244.18 left intact
  • возвращал пароль root`у на тот, что по умолчанию (мало ли из-за этого могли быть проблемы)

Повторюсь - идентичная картина у меня на пяти контроллерах . Стороннего ПО на них нет (на одном из них только поднимал графаню :slight_smile: - остальные со штатным ПО).
Естественно, веб пользователей заводил (и админа и и оператора и юзера), причем как через вэб, так и посредством утилиты из шелла. Аутентификация в вэб с этими пользователями проходит нормально, в зависимости от “уровня” залогиненного пользователя меняется состав меню (в левой части вэбинтерфейса).

Здесь нашел несколько похожих случаев, но все они остались без решения, кроме как “сбросить к заводским”.

Такой подход меня не очень устраивает - во первых парк контроллеров у меня обширный и с каждым заниматься восстановлением и бэкапов не хочется. Поэтому хочется найти причину ошибки и методы ее устранения.
Во вторых, это решение (локальный аутентификация и https) рано или поздно войдет в stable релиз и вот тогда мне откатываться будет уже некуда :slight_smile:
В третьих, очень похоже, что ошибка носит систематический характер именно в моих “решениях” - иначе бы тут было бы уже большое число подобных обращений.

Для анализа могу предоставить доступ к организации - поместил туда 5 тестовых контроллеров. С двумя из них можно делать “все что хочешь” - они не задействованы в системах автоматизации и на них запущено по одному… двум простейшим правилам.
Один откатил на стабильный релиз (работает без проблем, но он также при переходе на testing вызывает описанные выше проблемы)
Есть достаточно молодые “Дата производства: 2025-02-26”, есть по старше “Дата производства: 2023-01-23 08:03:54”

Пока ни на одном своем контроллере так и не удалось запустить последний testing.

Прошу помочь найти проблему и подсказать как ее устранить (кроме варианта с откатом на заводские)

1 лайк

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


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

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

Доступ получил

С двумя из них можно делать “все что хочешь”

Прошу уточнить серийные номера

Приглашение отправил.

Контроллеры - AOGF56JV и ASM3DJJU - можно делать с ними все что угодно (в плоть до сброса на “завод”) - данные на них мне не нужны. Подключены в ether1 (кабелем), настройки по DHCP (если сбросите на завод или потеряете сетевые настройки, то все равно должны будут выйти на связь).
Контролеры в которых есть модемы - без SIM карт.

Пароли ssh - на всех этих контроллерах “заводские”

Пользователи в Вэбе admin/admin, user/user, operator/operator - или при необходимости можете их удалять/пересоздавать и пр. При наличии ssh доступа, я, при необходимости, их потом восстановлю…

Остальные контроллеры также можно “смотреть” (для сравнения и пр.)
AMRGAUAE - в тестинге, но не обновлен до актуальной доступной версии (т.е. работает нормально). Можете, если потребуется для анализа, обновить его в тестинг до актуальной версии.
AD4A7F7H - он сейчас в переведен в stable после того как на нем не заработал testing - тоже можно смотреть, но желательно сохранить его работоспособность.

1 лайк

Добрый день!

Обновил устройство AOGF56JV на последнюю прошивку — проблема не воспроизвелась.

Можете уточнить, сохраняется ли проблема при локальном входе, не через облако?

Обновил второй ASM3DJJU,
Проблема так же не воспроизвелась.

А до обновления проблему наблюдали?

Добрый день!

Все контроллеры успешно открыли веб-интерфейс. По этому и уточняю, если ли проблема при локальном доступе проблема.

У меня сейчас по прежнему наблюдается эта проблема.
Через облако (даже перелогинился в облако заново и открывал страницу в хроме в инкогнито) - проблема до сих пор наблюдается.
При локальном доступе (в той же локальной сети, что и контроллер) - тоже проблема сохранилась.

Т.е. проблема где-то на моей стороне (я это подозревал и ранее), но вот где? На что обратить внимание?
Отключил Касперского (все мои РС работаю под корпоративным антивирусом Касперского) - тоже ситуация не изменилась
Пробовал с Win7, хром “Версия 109.0.5414.120 (Официальная сборка), (64 бит)” (последняя из доступных для win7) До этого пробовал и на win 11 с актуальной версией хрома (прямо сейчас проверить не могу - только вечером)…

Добрый день!

Попробуйте зайти, например, с телефона.

С мобильного (через облако) - аналогично, проблема у меня наблюдается.

А если попробовать без Wi-Fi, через мобильный интернет?

Это через мобильную сеть (Wi-Fi на телефоне отключен) - проблема наблюдается…

Проверить из "локальной сети (когда смартфон по Wi-Fi в той же локальной сети что и контроллер ) пока возможности нет.

Честно говоря, я в замешательстве (заканчиваются идеи).

У вас есть возможность проанализировать логи контроллера, когда он мне отказывает в подключении, а вам - нет?
в 16:09…16:10 сформировал полтора десятка запросов (обновлений страниц) - это через облако…

Добрый день!

Для уточнения: вы входите на контроллер под пользователем admin, верно?

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

Да, верно - admin / admin
Логин проходит успешно (если указать неверный пароль или имя - не пускает)

Вам контроллер ADP4HAE2 виден (если нет, то дам приглашение, хотя эти контроллеры в одной организации - точнее в одном моем аккаунте)?
Это контроллер вообще в другом месте, в другой сети, с другим роутером и пр.
Единственное, что его просьба не “ломать” - он управляет сауной (силовое питание на тэны и освещение отключено через иное устройство, но все же)
На этом контроллере также наблюдаю проблему…
Интересно, он вам доступен “без проблем” или …?

Добрый день!

На данный момент доступ к облаку для нас недоступен — требуется приглашение.