Ошибка подключения к облаку

Добрый день.
Планировал сделать заказчику интерфейс управления SVG Dashboard через WB Cloud.
Объект не статичный, интернет через WBC2-4G. (возможно пропадание связи, если он будет вне зоны покрытия).
Попробовал протестировать на wi-fi соединении.
После разрыва связи и его восстановления облако падает и самостоятельно не оживает. Помогает перезагрузка ПЛК (рестарт службы не помогает).

 Ошибка подключения к облакуerror:Command '['curl', '--connect-timeout', '45', '--retry', '8', '--retry-max-time', '300', '--retry-all-errors', '--cert', '/var/lib/wb-cloud-agent/device_bundle.crt.pem', '--key', 'ATECCx08:00:02:C0:00', '--engine', 'ateccx08', '--key-type', 'ENG', '-w', '|||{"code":"%{response_code}"}', 'https://agent.wirenboard.cloud/api-agent/v1/events/']' returned non-zero exit status 28.

Может у меня с настройками что-то не так?
Или стоит выбрать другую концепцию? tg бот и mqtt panel отпадают.

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

Wiren Board 7.4.3 (s/n AD52B46F), release wb-2401 (as stable)

Из интересных вещей еще: после перезагрузки службы в интерфейсе контроллера пишет, что “контроллер подключен к облаку”, но облако не согласно с ним.)
image

Добрый день.

Покажите статус сервиса wb-cloud-agent
Правильно я понимаю, что проблемы с доступом к облаку и через модем и через wi-fi?

Я бы в первую очередь рекомендовал бы обновиться до актуального релиза (wb-2404) и проверить проявляется ли данная проблема после обновления.

root@wirenboard-AD52B46F:~# systemctl status wb-cloud-agent
● wb-cloud-agent.service - Wiren Board Cloud Agent
     Loaded: loaded (/lib/systemd/system/wb-cloud-agent.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-07-17 10:47:05 UTC; 4min 4s ago
   Main PID: 5824 (python3)
      Tasks: 4 (limit: 4790)
     Memory: 8.7M
        CPU: 1.325s
     CGroup: /system.slice/wb-cloud-agent.service
             ├─5824 python3 /usr/bin/wb-cloud-agent --daemon
             ├─5830 curl --connect-timeout 45 --retry 8 --retry-max-time 300 --retry-all-errors --cert                 >
             └─5831 curl -X PUT -H Content-Type: application/json -d {"hardware_revision": "7.4.3"} --connect-timeout 4>

Jul 17 10:47:05 wirenboard-AD52B46F systemd[1]: Stopped Wiren Board Cloud Agent.
Jul 17 10:47:05 wirenboard-AD52B46F systemd[1]: wb-cloud-agent.service: Consumed 1.514s CPU time.
Jul 17 10:47:05 wirenboard-AD52B46F systemd[1]: Started Wiren Board Cloud Agent.

Проблемы с доступом через wi-fi. Тестирую на своем контроллере без модема.

Обновлюсь - сообщу результат.

wb-cloud-agent.service - Wiren Board Cloud Agent
     Loaded: loaded (/lib/systemd/system/wb-cloud-agent.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-07-17 11:50:31 UTC; 33min ago
   Main PID: 2410 (python3)
      Tasks: 3 (limit: 4790)
     Memory: 11.1M
        CPU: 52.465s
     CGroup: /system.slice/wb-cloud-agent.service
             ├─ 2410 python3 /usr/bin/wb-cloud-agent --daemon
             └─28205 curl --connect-timeout 45 --retry 8 --retry-max-time 300 --retry-all-errors --cert                                               --key ATECCx08:00:02:C0:00 --engine ateccx08 --key-type ENG -w |||{"code":"%{response_code}"} https://agent.wirenboard.cloud/api-agent/v1/events/

Jul 17 12:16:00 wirenboard-AD52B46F wb-cloud-agent[2410]: Traceback (most recent call last):
Jul 17 12:16:00 wirenboard-AD52B46F wb-cloud-agent[2410]:   File "/usr/bin/wb-cloud-agent", line 384, in main
Jul 17 12:16:00 wirenboard-AD52B46F wb-cloud-agent[2410]:     make_event_request(mqtt)
Jul 17 12:16:00 wirenboard-AD52B46F wb-cloud-agent[2410]:   File "/usr/bin/wb-cloud-agent", line 268, in make_event_request
Jul 17 12:16:00 wirenboard-AD52B46F wb-cloud-agent[2410]:     event_data, http_status = do_curl(method="get", endpoint="events/")
Jul 17 12:16:00 wirenboard-AD52B46F wb-cloud-agent[2410]:   File "/usr/bin/wb-cloud-agent", line 126, in do_curl
Jul 17 12:16:00 wirenboard-AD52B46F wb-cloud-agent[2410]:     result = subprocess.run(command, timeout=360, check=True, capture_output=True)
Jul 17 12:16:00 wirenboard-AD52B46F wb-cloud-agent[2410]:   File "/usr/lib/python3.9/subprocess.py", line 528, in run
Jul 17 12:16:00 wirenboard-AD52B46F wb-cloud-agent[2410]:     raise CalledProcessError(retcode, process.args,
Jul 17 12:16:00 wirenboard-AD52B46F wb-cloud-agent[2410]: subprocess.CalledProcessError: Command '['curl', '--connect-timeout', '45', '--retry', '8', '--retry-max-time', '300', '--retry-all-errors', '--cert', '/var/lib/wb-cloud-agent/device_bundle.crt.pem', '--key', 'ATECCx08:00:02:C0:00', '--engine', 'ateccx08', '--key-type', 'ENG', '-w', '|||{"code":"%{response_code}"}', 'https://agent.wirenboard.cloud/api-agent/v1/events/']' returned non-zero exit status 28.

Пришлите еще раз диагностический архив.
Т.е. сейчас у вас актуальный wb-2404 и контроллер не подключается к облаку? Верно?

Подключается. Но после разрыва связи и ее восстановлении

приложен диагностический архив, доступен только сотрудникам поддержки
(526,2 КБ)
больше не подключается.

Спойлер

Wiren Board 7.4.3 (s/n AD52B46F), release wb-2404 (as stable)

Пытался отредактировать прошлое сообщение - получил такую ошибку.) Там теги подтягиваются.

Добрый день.
Покажите есть ли у вас доступ в интернет.

root@wirenboard-AD52B46F:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=102 time=63.1 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=102 time=50.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=102 time=50.1 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=102 time=91.0 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 50.098/63.659/90.984/16.613 ms

Доступ есть.
Само облако работает.
Но после разрыва связи wi-fi и его последующего восстановления - пропадает возможность подключиться к плк через облако. Спасает только перезагрузка контроллера.

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

Михаил, есть какие нибудь новости?

Добрый день.
проведите, пожалуйста следующий эксперимент:

Проверьте что ресурс https://agent.wirenboard.cloud/ доступен (соединяется)
Например выполнив

wget https://agent.wirenboard.cloud/ -O -

При нормальном доступе соединение будет:

--2024-07-17 08:51:35--  (try: 8)  https://agent.wirenboard.cloud/
Connecting to agent.wirenboard.cloud (agent.wirenboard.cloud)|5.35.4.252|

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

При первичном подключении:

root@wirenboard-AD52B46F:~# wget https://agent.wirenboard.cloud/ -O -
--2024-08-06 10:38:36--  https://agent.wirenboard.cloud/
Resolving agent.wirenboard.cloud (agent.wirenboard.cloud)... 5.35.4.252
Connecting to agent.wirenboard.cloud (agent.wirenboard.cloud)|5.35.4.252|:443... connected.
HTTP request sent, awaiting response... Read error (A TLS fatal alert has been received.) in headers.
Retrying.

Выключил и включил точку доступа (сам роутер, контроллер не трогал):

root@wirenboard-AD52B46F:~# wget https://agent.wirenboard.cloud/ -O -
--2024-08-06 10:41:11--  https://agent.wirenboard.cloud/
Resolving agent.wirenboard.cloud (agent.wirenboard.cloud)... 5.35.4.252
Connecting to agent.wirenboard.cloud (agent.wirenboard.cloud)|5.35.4.252|:443... failed: No route to host.

diag_output_AD52B46F_2024-08-06-10.44.07.zip (615,2 КБ)

Гипотеха подтверждается.
Вижу что:

default via 192.168.1.1 dev eth0 proto static metric 105 
default via 192.168.43.1 dev wlan1 proto dhcp src 192.168.43.180 metric 600 

в соответствии с настройками wb-connetcion-manager.
И как раз в нем соединение через wlan - с низким приоритетом.
А шлюз для eth0 - указан вручную. Он вообще работает?

Спасибо, маэстро!

1 лайк

Очень рад что смог помочь.