Переодическикая ошибка подключения к облаку

несколько раз за день происходит потеря связи между контроллером и облаком. В логах такая ошибка:
2025-11-09T22:56:06Z E! [agent] Error writing to outputs.exec: [“bash” “-lc” “out=$(curl --silent --show-error --fail --connect-timeout 5 --max-time 20 --engine ateccx08 --key-type ENG --cert /var/lib/wb-cloud-agent/device_bundle.crt.pem --key ‘ATECCx08:00:02:C0:00’ -H ‘Content-Type: text/plain’ --data-binary @- ‘https://timescale.wirenboard.cloud/telegraf’ -o /dev/null -w ‘http status=%{http_code} data size in bytes=%{size_upload}’); rc=$?; [ $rc -eq 0 ] && logger -t telegraf-exec "Metrics sent. $out"; exit $rc”] exited 58 with exit status 58
09-11-2025 23:56:06.933 2025-11-09T22:56:06Z E! [outputs.exec] Command error: “curl: (58) failed to load private key from crypto engine”

в интерфейсе: Ошибка подключения к облаку: Error making request to cloud!
далее через какое то время все востанавливается. Переодичность - приложил скрин из нашего бота.

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

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

А что делалось с ПО контроллера?
Судя по

Nov 10 11:44:30 wirenboard-AOBD7L2C wb-cloud-agent[4904]: RuntimeError: Cert /var/lib/wb-cloud-agent/device_bundle.crt.pem and key ATECCx08:00:02:C0:00 seem to be inconsistent (possibly because of CPU board missmatch)!

Сертификат не для этого контроллера.

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

Если есть возможность - выполните на контроллере faciory reset, для того чтобы убедиться в том что проблема не аппаратная.

Я сделал сегодня сброс к заводским настройкам, ничего не восстанавливал и наблюдал день. Проблема созранилась:
Ошибка подключения к облаку: error: Command '[‘curl’, ‘–connect-timeout’, ‘45’, ‘–retry’, ‘8’, ‘–retry-delay’, ‘1’, ‘–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 58.

Диагонстический архив прикладываю.
diag_output_AOBD7L2C_2025-11-11-21.39.02.zip (134,6 КБ)

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

  1. Проверка соединения с интернетом:
ping 8.8.8.8 -c 4
  1. Проверка разрешения домена agent.wirenboard.cloud:
host agent.wirenboard.cloud
  1. Проверка корректного времени и его синхронизации с серверами.
  2. Проверка доступности сайта:
curl --connect-timeout 45 --retry 8 --retry-delay 1 --retry-all-errors \
  --cert /var/lib/wb-cloud-agent/device_bundle.crt.pem \
  --engine ateccx08 \
  --key ATECCx08:00:02:C0:00 \
  --key-type ENG \
  -w '|||{"code":"%{response_code}"}' \
  https://agent.wirenboard.cloud/api-agent/v1/agent-start-up/

Все сделал, посмотрите:
root@wirenboard-AOBD7L2C:~# ping 8.8.8.8 -c 4
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=106 time=27.0 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=106 time=25.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=106 time=26.2 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=106 time=25.6 ms

— 8.8.8.8 ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 25.497/26.059/26.953/0.574 ms
root@wirenboard-AOBD7L2C:~# host agent.wirenboard.cloud
agent.wirenboard.cloud is an alias for wirenboard.cloud.
wirenboard.cloud has address 5.35.10.8
root@wirenboard-AOBD7L2C:~# timedatectl
Local time: Wed 2025-11-12 07:30:55 UTC
Universal time: Wed 2025-11-12 07:30:55 UTC
RTC time: Wed 2025-11-12 07:30:55
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
root@wirenboard-AOBD7L2C:~# curl --connect-timeout 45 --retry 8 --retry-delay 1 --retry-all-errors
–cert /var/lib/wb-cloud-agent/device_bundle.crt.pem
–engine ateccx08
–key ATECCx08:00:02:C0:00
–key-type ENG
-w ‘|||{“code”:“%{response_code}”}’
https://agent.wirenboard.cloud/api-agent/v1/agent-start-up/
{“activated”:true,“activationLink”:null}|||{“code”:“200”}root@wirenboard-AOBD7L2C:~# ^C
root@wirenboard-AOBD7L2C:~# curl --connect-timeout 45 --retry 8 --retry-delay 1 --retry-all-errors --cert /var/lib/wb-cloud-agent/device_bundle.crt.pem --engine ateccx08 --key ATECCx08:00:02:C0:00 --key-type ENG -w ‘|||{“code”:“%{response_code}”}’ https://agent.wirenboard.cloud/api-agent/v1/agent-start-up/
{“activated”:true,“activationLink”:null}|||{“code”:“200”}root@wirenboard-AOBD7L2C:~#

Вы используете релиз 2407. Обновите пакеты до актуального, 2507 пожалуйста.

Я обновил, вам прислать диагностический архив?

Если проблема сохраняется - да.

Проблема повторилась, вот только что.
diag_output_AOBD7L2C_2025-11-13-14.02.00.zip (124,9 КБ)

Я вижу в логах:

Nov 13 14:01:38 wirenboard-AOBD7L2C wb-cloud-agent[3012]: subprocess.CalledProcessError: Command '['curl', '--connect-timeout', '45', '--retry', '8', '--retry-delay', '1', '--retry-all-errors', '--cert', '/var/lib/wb-cloud-agent/device_bundle.crt.pem', '--key', 'ATECCx08:00:02:C0:00', '--engine', 'ateccx08', '--key-type', 'ENG', '-D', '-', '-w', '|||{"code":"%{response_code}"}', 'https://agent.wirenboard.cloud/api-agent/v1/events/']' returned non-zero exit status 58.

то есть доступа к серверу нет.
Например в

Nov 13 13:12:27 wirenboard-AOBD7L2C telegraf-exec[34825]: Metrics sent. http status=204 data size in bytes=14726

был.
А чуть позже:

Nov 13 13:32:55 wirenboard-AOBD7L2C telegraf[4097]: 2025-11-13T13:32:55Z E! [outputs.exec] Command error: "curl: (35) error:141F0006:SSL routines:tls_construct_cert_verify:EVP lib"
Nov 13 13:32:55 wirenboard-AOBD7L2C telegraf[4097]: 2025-11-13T13:32:55Z E! [agent] Error writing to outputs.exec: ["bash" "-lc" "out=$(curl --silent --show-error --fail --connect-timeout 5 --max-time 20 --engine ateccx08 --key-type ENG --cert /var/lib/wb-cloud-agent/device_bundle.crt.pem --key 'ATECCx08:00:02:C0:00' -H 'Content-Type: text/plain' --data-binary @- 'https://timescale.wirenboard.cloud/telegraf' -o /dev/null -w 'http status=%{http_code} data size in bytes=%{size_upload}'); rc=$?; [ $rc -eq 0 ] && logger -t telegraf-exec \"Metrics sent. $out\"; exit $rc"] exited 35 with exit status 35
Nov 13 13:34:57 wirenboard-AOBD7L2C telegraf-exec[47367]: Metrics sent. http status=204 data size in bytes=28585
Nov 13 13:37:01 wirenboard-AOBD7L2C telegraf[4097]: 2025-11-13T13:37:01Z E! [outputs.exec] Command error: "curl: (35) error:141F0006:SSL routines:tls_construct_cert_verify:EVP lib"
Nov 13 13:37:01 wirenboard-AOBD7L2C telegraf[4097]: 2025-11-13T13:37:01Z E! [agent] Error writing to outputs.exec: ["bash" "-lc" "out=$(curl --silent --show-error --fail --connect-timeout 5 --max-time 20 --engine ateccx08 --key-type ENG --cert /var/lib/wb-cloud-agent/device_bundle.crt.pem --key 'ATECCx08:00:02:C0:00' -H 'Content-Type: text/plain' --data-binary @- 'https://timescale.wirenboard.cloud/telegraf' -o /dev/null -w 'http status=%{http_code} data size in bytes=%{size_upload}'); rc=$?; [ $rc -eq 0 ] && logger -t telegraf-exec \"Metrics sent. $out\"; exit $rc"] exited 35 with exit status 35

Потом есть снова:

Nov 13 13:41:06 wirenboard-AOBD7L2C telegraf-exec[50765]: Metrics sent. http status=204 data size in bytes=16340

Так я с этой проблемой и обратился, но в дополнении скажу, что если перейти через ссылку из облака на веб интерфейс, то он откроется. при этом статус так и будет: проблема

Это - ожидаемо, поскольку часть соединений (пакетов) все же проходит.

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

Что еще попробовать?

Я не вижу проблем, кроме нестабильной связи.
То есть можно попробовать все пакеты от контроллера в VPN туннель, например.

Сейчас контроллер отключился от облака, я проверил связь в этот момент, посмотрите:
Все это выполнено в мемент, когда в облаке статус проблема.

вывод из консоли

ping 8.8.8.8 -c 4
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=109 time=22.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=109 time=23.0 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=109 time=22.6 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=109 time=22.4 ms

— 8.8.8.8 ping statistics —
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 22.402/22.670/23.002/0.216 ms

root@wirenboard-AOBD7L2C:~# traceroute wirenboard.cloud
traceroute to wirenboard.cloud (5.35.10.8), 30 hops max, 60 byte packets
1 Keenetic-2724.local (192.168.1.1) 0.285 ms 0.259 ms 0.203 ms
2 10.88.36.1 (10.88.36.1) 2.360 ms 2.542 ms 2.713 ms
3 192.168.47.53 (192.168.47.53) 1.014 ms 1.237 ms 1.183 ms
4 192.168.47.1 (192.168.47.1) 0.968 ms 0.948 ms 0.891 ms
5 cyaro0.gw11.yartele.com (178.57.120.1) 2.294 ms 2.215 ms 2.190 ms
6 ysl06.transtelecom.net (188.43.30.118) 4.092 ms 2.645 ms 4.359 ms
7 92.53.94.97 (92.53.94.97) 7.318 ms 10.991 ms 7.599 ms
8 92.53.94.96 (92.53.94.96) 13.437 ms 10.164 ms 13.104 ms
9 92.53.94.74 (92.53.94.74) 9.754 ms 92.53.94.78 (92.53.94.78) 5.844 ms 6.611 ms
10 5.35.10.8 (5.35.10.8) 13.984 ms 13.825 ms 13.573 ms
11 * * *

root@wirenboard-AOBD7L2C:~# host agent.wirenboard.cloud
agent.wirenboard.cloud is an alias for wirenboard.cloud.
wirenboard.cloud has address 5.35.10.8

root@wirenboard-AOBD7L2C:~# systemctl status wb-cloud-agent@wirenboard.cloud
● wb-cloud-agent@wirenboard.cloud.service - Wiren Board Cloud Agent (wirenboard.cloud)
Loaded: loaded (/lib/systemd/system/wb-cloud-agent@.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2025-11-13 23:35:08 UTC; 9h ago
Main PID: 3358 (wb-cloud-agent)
Tasks: 3 (limit: 4676)
Memory: 16.6M
CPU: 6min 23.897s
CGroup: /system.slice/system-wb\x2dcloud\x2dagent.slice/wb-cloud-agent@wirenboard.cloud.service
├─ 3358 /usr/bin/python3 /usr/bin/wb-cloud-agent run-daemon wirenboard.cloud
└─326524 curl --connect-timeout 45 --retry 8 --retry-delay 1 --retry-all-errors --cert --key ATECCx08:00:02:C0:00 --engine ateccx08 --key-type ENG -D - -w |||{“code”:"%{response_co>

Nov 14 09:14:45 wirenboard-AOBD7L2C wb-cloud-agent[3358]: subprocess.CalledProcessError: Command '[‘curl’, ‘–connect-timeout’, ‘45’, ‘–retry’, ‘8’, ‘–retry-delay’, ‘1’, ‘–retry-all-errors’, ‘–cert’, '/var/lib/wb-cloud-agent/device_bun>
Nov 14 09:14:45 wirenboard-AOBD7L2C wb-cloud-agent[3358]: The above exception was the direct cause of the following exception:
Nov 14 09:14:45 wirenboard-AOBD7L2C wb-cloud-agent[3358]: Traceback (most recent call last):
Nov 14 09:14:45 wirenboard-AOBD7L2C wb-cloud-agent[3358]: File “/usr/lib/python3/dist-packages/wb/cloud_agent/commands.py”, line 136, in run_daemon
Nov 14 09:14:45 wirenboard-AOBD7L2C wb-cloud-agent[3358]: make_event_request(settings, mqtt)
Nov 14 09:14:45 wirenboard-AOBD7L2C wb-cloud-agent[3358]: File “/usr/lib/python3/dist-packages/wb/cloud_agent/handlers/events.py”, line 22, in make_event_request
Nov 14 09:14:45 wirenboard-AOBD7L2C wb-cloud-agent[3358]: event_data, http_status = do_curl(settings=settings, method=“get”, endpoint=“events/”)
Nov 14 09:14:45 wirenboard-AOBD7L2C wb-cloud-agent[3358]: File “/usr/lib/python3/dist-packages/wb/cloud_agent/handlers/curl.py”, line 66, in do_curl
Nov 14 09:14:45 wirenboard-AOBD7L2C wb-cloud-agent[3358]: raise RuntimeError(
Nov 14 09:14:45 wirenboard-AOBD7L2C wb-cloud-agent[3358]: RuntimeError: Cert /var/lib/wb-cloud-agent/device_bundle.crt.pem and key ATECCx08:00:02:C0:00 seem to be inconsistent (possibly because of CPU board missmatch)!

root@wirenboard-AOBD7L2C:~# curl --connect-timeout 45 --retry 8 --retry-delay 1 --retry-all-errors
–cert /var/lib/wb-cloud-agent/device_bundle.crt.pem
–engine ateccx08
–key ATECCx08:00:02:C0:00
–key-type ENG
-w ‘|||{“code”:“%{response_code}”}’
https://agent.wirenboard.cloud/api-agent/v1/agent-start-up/
curl: (58) failed to load private key from crypto engine
Warning: Problem (retrying all errors). Will retry in 1 seconds. 8 retries
Warning: left.
curl: (58) failed to load private key from crypto engine
Warning: Problem (retrying all errors). Will retry in 1 seconds. 7 retries
Warning: left.
curl: (58) failed to load private key from crypto engine
Warning: Problem (retrying all errors). Will retry in 1 seconds. 6 retries
Warning: left.
curl: (58) failed to load private key from crypto engine
Warning: Problem (retrying all errors). Will retry in 1 seconds. 5 retries
Warning: left.
curl: (58) failed to load private key from crypto engine
Warning: Problem (retrying all errors). Will retry in 1 seconds. 4 retries
Warning: left.
curl: (58) failed to load private key from crypto engine
Warning: Problem (retrying all errors). Will retry in 1 seconds. 3 retries
Warning: left.
curl: (58) failed to load private key from crypto engine
Warning: Problem (retrying all errors). Will retry in 1 seconds. 2 retries
Warning: left.
curl: (58) failed to load private key from crypto engine
Warning: Problem (retrying all errors). Will retry in 1 seconds. 1 retries
Warning: left.
curl: (58) failed to load private key from crypto engine
|||{“code”:“000”}

В логах на котроллере:

в логах

14-11-2025 10:09:34.371 RuntimeError: Cert /var/lib/wb-cloud-agent/device_bundle.crt.pem and key ATECCx08:00:02:C0:00 seem to be inconsistent (possibly because of CPU board missmatch)!
14-11-2025 10:09:34.371 raise RuntimeError(
14-11-2025 10:09:34.371 File “/usr/lib/python3/dist-packages/wb/cloud_agent/handlers/curl.py”, line 66, in do_curl
14-11-2025 10:09:34.371 event_data, http_status = do_curl(settings=settings, method=“get”, endpoint=“events/”)
14-11-2025 10:09:34.371 File “/usr/lib/python3/dist-packages/wb/cloud_agent/handlers/events.py”, line 22, in make_event_request
14-11-2025 10:09:34.371 make_event_request(settings, mqtt)
14-11-2025 10:09:34.371 File “/usr/lib/python3/dist-packages/wb/cloud_agent/commands.py”, line 136, in run_daemon
14-11-2025 10:09:34.371 Traceback (most recent call last):
14-11-2025 10:09:34.371 The above exception was the direct cause of the following exception:
14-11-2025 10:09:34.371 subprocess.CalledProcessError: Command '[‘curl’, ‘–connect-timeout’, ‘45’, ‘–retry’, ‘8’, ‘–retry-delay’, ‘1’, ‘–retry-all-errors’, ‘–cert’, ‘/var/lib/wb-cloud-agent/device_bundle.crt.pem’, ‘–key’, ‘ATECCx08:00:02:C0:00’, ‘–engine’, ‘ateccx08’, ‘–key-type’, ‘ENG’, ‘-D’, ‘-’, ‘-w’, ‘|||{“code”:“%{response_code}”}’, 'https://agent.wirenboard.cloud/api-agent/v1/events/‘]’ returned non-zero exit status 58.
14-11-2025 10:09:34.371 raise CalledProcessError(retcode, process.args,
14-11-2025 10:09:34.371 File “/usr/lib/python3.9/subprocess.py”, line 528, in run
14-11-2025 10:09:34.371 result = subprocess.run(command, timeout=360, check=True, capture_output=True)
14-11-2025 10:09:34.371 File “/usr/lib/python3/dist-packages/wb/cloud_agent/handlers/curl.py”, line 63, in do_curl
14-11-2025 10:09:34.371 Traceback (most recent call last):
14-11-2025 10:09:34.371 Error making request to cloud!

Вместе с

Дает основание предположить что проблема, все ж, аппаратная.

Давайте мы бесплатно поменяем вам оборудование. Курьер привезёт новое оборудование и заберёт старое. Извлеките перед отправкой внутренние модули расширения, если установлены.

WB8 4ГБ - 1 шт.

Для замены напишите, пожалуйста, отдельное письмо на info@wirenboard.com.
В письме укажите:

  • ссылку на эту тему,
  • серийный номер устройства, AOBD7L2C,
  • (для курьера) ваш действующий телефон, адрес доставки, ФИО получателя.