Восстановление подключения к WB-MGE

Добрый день.

При отключении сети или питания подключенных WB-MGE подключение к ним автоматически не восстанавливается после их включения. Проблема возникла после перехода на WB 8, ранее на WB 6.7 (остальная конфигурация не менялась) такой проблемы не было. Ситуация повторялась несколько раз.

Шаги:

  1. Отключается электропитание. Модули WB-MGE выключаются, WB и проводная сеть продолжают работать на ИБП.
  2. Электропитание включается. Модули WB-MGE запускаются, но контроллером не опрашиваются.
  3. Ждал достаточно долго - около часа, подключение не восстановилось.
  4. Перегружаю контроллер WB (через ssh, командой reboot)
  5. Подключение ко всем WB-MGE восстанавливается после перезагрузки WB8.

Параметры переподключения были установлены на 5000 мс в конфигурации wb-mqtt-serial. Для теста пока выставил на 0.

Диагностический лог приложил.

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

Добрый день.

Пингуется ли модуль? Отвечает ли на пакеты отправленные в порт?
Опрашивается ли с помощью modbus_client?

У меня 4 модуля WB-MGE. Связь пропадает со всеми и восстанавливается со всеми после перезагрузки WB.
При этом модули пингуются, веб-интерфейс WB-MGE тоже открывается без проблем.

Пинугются и открывается интерфейс - с контроллера? Иными словами - точно ли у контроллера есть связь с модулями? Проверьте именно то пожалуйста.

Проверил. Связь с модулями есть.

Скрин 1 - Рабочий подключенный модуль, устройство опрашивается, пинг проходит, обмен в веб-интерфейсе MB-MGE есть

Скрин 2 - после отключения и повторного включения питания WB-MGE устройства с этого модуля не доступны в WB, обмен данными отсутствует (выделил - 0 байт), при этом пинг проходит успешно.

К сожалению (пока) не воспроизводится. А читаются ли что с помощью modbus_client регистры:

Я попробую еще воспроизвести, конечно.
Еще: кктуальный wb-mqtt-serial=2.138.1-wb105
У вас стоит 2.138.1-wb104
Обновите пакеты пожалуйста.

Через socat читаются. Прочитал, выключил WB-MGE, переподключил socat, опять прочитал - все ок.

root@wirenboard-A32RE5MO:~# socat -d -d -d -x PTY,raw,b115200,parenb=0,cstopb=1,cs8,,link=/dev/ttyBoiler tcp:192.168.214.14:20108&
[1] 472189
root@wirenboard-A32RE5MO:~# 2024/10/03 10:06:14 socat[472189] I socat by Gerhard Rieger and contributors - see www.dest-unreach.org
2024/10/03 10:06:14 socat[472189] I This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)
2024/10/03 10:06:14 socat[472189] I This product includes software written by Tim Hudson (tjh@cryptsoft.com)
2024/10/03 10:06:14 socat[472189] I setting option "raw"
2024/10/03 10:06:14 socat[472189] I setting option "b115200"
2024/10/03 10:06:14 socat[472189] I setting option "parenb" to 0
2024/10/03 10:06:14 socat[472189] I setting option "cstopb" to 1
2024/10/03 10:06:14 socat[472189] I setting option "cs8"
2024/10/03 10:06:14 socat[472189] I setting option "symbolic-link" to "/dev/ttyBoiler"
2024/10/03 10:06:14 socat[472189] I openpty({5}, {6}, {"/dev/pts/1"},,) -> 0
2024/10/03 10:06:14 socat[472189] N PTY is /dev/pts/1
2024/10/03 10:06:14 socat[472189] N opening connection to AF=2 192.168.214.14:20108
2024/10/03 10:06:14 socat[472189] I starting connect loop
2024/10/03 10:06:14 socat[472189] I socket(2, 1, 6) -> 7
2024/10/03 10:06:14 socat[472189] N successfully connected from local address AF=2 192.168.214.11:39796
2024/10/03 10:06:14 socat[472189] I resolved and opened all sock addresses
2024/10/03 10:06:14 socat[472189] N starting data transfer loop with FDs [5,5] and [7,7]

root@wirenboard-A32RE5MO:~# echo -e $(modbus_client -mrtu -pnone -s1 -b115200 /dev/ttyBoiler -a146 -t3 -r 290 -c 12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
> 2024/10/03 10:06:19.075900  length=8 from=0 to=7
 92 03 01 22 00 0c f9 5a
2024/10/03 10:06:19 socat[472189] I transferred 8 bytes from 5 to 7
< 2024/10/03 10:06:19.082827  length=29 from=0 to=28
 92 03 18 00 6d 00 72 00 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c6 59
2024/10/03 10:06:19 socat[472189] I transferred 29 bytes from 7 to 5
mr6
root@wirenboard-A32RE5MO:~# < 2024/10/03 10:07:04.327563  length=2 from=29 to=30
 ff 00
2024/10/03 10:07:04 socat[472189] I transferred 2 bytes from 7 to 5
> 2024/10/03 10:07:04.328178  length=3 from=8 to=10
 ff 5e 40
2024/10/03 10:07:04 socat[472189] I transferred 3 bytes from 5 to 7
^C
root@wirenboard-A32RE5MO:~# echo -e $(modbus_client -mrtu -pnone -s1 -b115200 /dev/ttyBoiler -a146 -t3 -r 290 -c 12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
> 2024/10/03 10:07:48.173766  length=8 from=11 to=18
 92 03 01 22 00 0c f9 5a
2024/10/03 10:07:48 socat[472189] I transferred 8 bytes from 5 to 7

root@wirenboard-A32RE5MO:~# echo -e $(modbus_client -mrtu -pnone -s1 -b115200 /dev/ttyBoiler -a146 -t3 -r 290 -c 12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
> 2024/10/03 10:07:50.359942  length=8 from=19 to=26
 92 03 01 22 00 0c f9 5a
2024/10/03 10:07:50 socat[472189] I transferred 8 bytes from 5 to 7

root@wirenboard-A32RE5MO:~# pkill socat
2024/10/03 10:08:04 socat[472189] N socat_signal(): handling signal 15
2024/10/03 10:08:04 socat[472189] W exiting on signal 15
2024/10/03 10:08:04 socat[472189] N socat_signal(): finishing signal 15
2024/10/03 10:08:04 socat[472189] N exit(143)
2024/10/03 10:08:04 socat[472189] I close(5)
2024/10/03 10:08:04 socat[472189] I shutdown(7, 2)
root@wirenboard-A32RE5MO:~# socat -d -d -d -x PTY,raw,b115200,parenb=0,cstopb=1,cs8,,link=/dev/ttyBoiler tcp:192.168.214.14:20108&
[2] 473126
[1]   Exit 143                socat -d -d -d -x PTY,raw,b115200,parenb=0,cstopb=1,cs8,,link=/dev/ttyBoiler tcp:192.168.214.14:20108
root@wirenboard-A32RE5MO:~# 2024/10/03 10:08:09 socat[473126] I socat by Gerhard Rieger and contributors - see www.dest-unreach.org
2024/10/03 10:08:09 socat[473126] I This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)
2024/10/03 10:08:09 socat[473126] I This product includes software written by Tim Hudson (tjh@cryptsoft.com)
2024/10/03 10:08:09 socat[473126] I setting option "raw"
2024/10/03 10:08:09 socat[473126] I setting option "b115200"
2024/10/03 10:08:09 socat[473126] I setting option "parenb" to 0
2024/10/03 10:08:09 socat[473126] I setting option "cstopb" to 1
2024/10/03 10:08:09 socat[473126] I setting option "cs8"
2024/10/03 10:08:09 socat[473126] I setting option "symbolic-link" to "/dev/ttyBoiler"
2024/10/03 10:08:09 socat[473126] I openpty({5}, {6}, {"/dev/pts/1"},,) -> 0
2024/10/03 10:08:09 socat[473126] N PTY is /dev/pts/1
2024/10/03 10:08:09 socat[473126] N opening connection to AF=2 192.168.214.14:20108
2024/10/03 10:08:09 socat[473126] I starting connect loop
2024/10/03 10:08:09 socat[473126] I socket(2, 1, 6) -> 7
2024/10/03 10:08:09 socat[473126] N successfully connected from local address AF=2 192.168.214.11:51450
2024/10/03 10:08:09 socat[473126] I resolved and opened all sock addresses
2024/10/03 10:08:09 socat[473126] N starting data transfer loop with FDs [5,5] and [7,7]
^C
root@wirenboard-A32RE5MO:~# echo -e $(modbus_client -mrtu -pnone -s1 -b115200 /dev/ttyBoiler -a146 -t3 -r 290 -c 12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
> 2024/10/03 10:08:13.145097  length=8 from=0 to=7
 92 03 01 22 00 0c f9 5a
2024/10/03 10:08:13 socat[473126] I transferred 8 bytes from 5 to 7
< 2024/10/03 10:08:13.150650  length=29 from=0 to=28
 92 03 18 00 6d 00 72 00 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c6 59
2024/10/03 10:08:13 socat[473126] I transferred 29 bytes from 7 to 5
mr6

Еще несколько моментов, которые могут помочь в диагностике:

  • Чтобы связь с WB-MGE восстановилось, контроллер не обязательно перегружать. достаточно перегрузить службу wb-mqtt-serial, и все становится хорошо
  • Конфигурационные файлы - в том числе конфигурация mqtt-serial - были перенесены с контроллера версии 6.7 (делал миграцию, а не чистую установку).
  • Даже когда все работает конфигуратор пишет “Нет связи с устройством”. Хотя устройства опрашиваются и управляются без проблем. Ниже скрин - одно и то же устройство в одно и то же время в конфигураторе (недоступно) и в “Устройствах” (доступно и опрашивается)

PS. wb-mqtt-serial я предварительно обновил, как и говорили. + свежий диаг.
diag_output_A32RE5MO_2024-10-03-10.19.32.zip (536,8 КБ)

Воспроизвожу.
Для начала на testing, wb-mqtt-serial=2.143.4
Настроен как Modbus over TCP.
Снимаю питание со шлюза получаю ожидаемое в логе драйвера:

Oct 03 08:22:45 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:45 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [modbus] failed to read 1 input(s) @ 121 of device modbus:11: Serial protocol error: request timed out
Oct 03 08:22:46 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:46 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [modbus] failed to read 1 input(s) @ 121 of device modbus:11: Serial protocol error: request timed out
Oct 03 08:22:47 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:47 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [modbus] failed to read 1 input(s) @ 121 of device modbus:11: Serial protocol error: request timed out
Oct 03 08:22:47 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial device] device modbus:11 is disconnected
Oct 03 08:22:48 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:49 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:50 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:51 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:51 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [modbus] failed to read 14 coil(s) @ 0 of device modbus_io:11:2: Serial protocol error: request timed out
Oct 03 08:22:52 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:53 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:53 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [modbus] failed to read 2 holding(s) @ 97 of device modbus:170: Serial protocol error: request timed out
Oct 03 08:22:54 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:55 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:55 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [modbus] failed to read 9 input(s) @ 3 of device modbus:170: Serial protocol error: request timed out
Oct 03 08:22:55 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial device] device modbus:170 is disconnected
Oct 03 08:22:56 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:57 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:58 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 08:22:58 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: <10.0.0.71:502>: closed due to repetitive errors
Oct 03 08:23:03 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: ERROR: [serial client] Serial protocol error: <10.0.0.71:502> connect error: timeout
Oct 03 08:23:04 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial device] device modbus:113 is disconnected
Oct 03 08:23:04 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial device] device modbus_io:11:1 is disconnected
Oct 03 08:23:04 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial device] device modbus_io:11:2 is disconnected
Oct 03 08:28:05 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: ERROR: [serial client] Serial protocol error: <10.0.0.71:502> connect error: No route to host (113)
Oct 03 08:33:05 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: ERROR: [serial client] Serial protocol error: <10.0.0.71:502> connect error: No route to host (113)

То есть видно в логе (да и пакеты ходят) что наличие связи проверяется.
Подключаю питание вновь.
Связь восстанавливается:

Oct 03 08:37:38 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: WARNING: [serial client] Restart event from unknown device modbus:11
Oct 03 08:37:39 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Continuous read enabled [slave_id is 11]
Oct 03 08:37:39 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial device] device modbus:11 is connected
Oct 03 08:37:39 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Continuous read enabled [slave_id is 113]
Oct 03 08:37:40 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial client] Events are enabled for <modbus:113:input: 280>
Oct 03 08:37:40 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial client] Events are disabled for <modbus:113:input: 281>
Oct 03 08:37:40 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial client] Events are disabled for <modbus:113:input: 282>
Oct 03 08:37:40 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial client] Events are enabled for <modbus:113:input: 283>
Oct 03 08:37:40 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial client] Events are disabled for <modbus:113: reboot>
Oct 03 08:37:40 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial device] device modbus:113 is connected
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Continuous read enabled [slave_id is 11:1]
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: IODIR: setup register <modbus_io:11:1:holding: 10000> <-- 0x0000 (0x0)
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: IPOL: setup register <modbus_io:11:1:holding: 10001> <-- 0x0000 (0x0)
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: GPINTEN: setup register <modbus_io:11:1:holding: 10002> <-- 0xffff (0xffff)
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: DEFVAL: setup register <modbus_io:11:1:holding: 10003> <-- 0x0000 (0x0)
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: INTCON: setup register <modbus_io:11:1:holding: 10004> <-- 0x0000 (0x0)
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: IOCON: setup register <modbus_io:11:1:holding: 10005> <-- 0x4444 (0x4444)
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: FLAG: setup register <modbus_io:11:1:holding: 9999> <-- 1 (0x1)
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial device] device modbus_io:11:1 is connected
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Continuous read enabled [slave_id is 11:2]
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: IODIR: setup register <modbus_io:11:2:holding: 10000> <-- 0xffff (0xffff)
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: IPOL: setup register <modbus_io:11:2:holding: 10001> <-- 0x0000 (0x0)
Oct 03 08:37:41 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: GPINTEN: setup register <modbus_io:11:2:holding: 10002> <-- 0xffff (0xffff)
Oct 03 08:37:42 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: DEFVAL: setup register <modbus_io:11:2:holding: 10003> <-- 0x0000 (0x0)
Oct 03 08:37:42 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: INTCON: setup register <modbus_io:11:2:holding: 10004> <-- 0x0000 (0x0)
Oct 03 08:37:42 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: IOCON: setup register <modbus_io:11:2:holding: 10005> <-- 0x4444 (0x4444)
Oct 03 08:37:42 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Init: CONFIG-FLAG: setup register <modbus_io:11:2:holding: 9999> <-- 1 (0x1)
Oct 03 08:37:42 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial device] device modbus_io:11:2 is connected
Oct 03 08:37:43 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [modbus] Continuous read enabled [slave_id is 170]
Oct 03 08:37:43 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial client] Events are enabled for <modbus:170:input: 280>
Oct 03 08:37:43 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial client] Events are disabled for <modbus:170:input: 281>
Oct 03 08:37:43 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial client] Events are disabled for <modbus:170:input: 282>
Oct 03 08:37:43 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial client] Events are enabled for <modbus:170:input: 283>
Oct 03 08:37:43 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial client] Events are disabled for <modbus:170: reboot>
Oct 03 08:37:43 wirenboard-AWWCDXFH wb-mqtt-serial[23851]: INFO: [serial device] device modbus:170 is connected

На stable, wb-mqt-serial=2.138.1-wb105
Отключаю:

Oct 03 08:58:49 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: IOCON: setup register <modbus_io:11:2:holding: 10005> <-- 0x4444 (0x4444)
Oct 03 08:58:49 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: CONFIG-FLAG: setup register <modbus_io:11:2:holding: 9999> <-- 1 (0x1)
Oct 03 08:58:49 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial device] device modbus_io:11:2 is connected
Oct 03 08:58:51 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Continuous read enabled [slave_id is 170]
Oct 03 08:58:51 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are enabled for <modbus:170:input: 280>
Oct 03 08:58:51 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are disabled for <modbus:170:input: 281>
Oct 03 08:58:51 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are disabled for <modbus:170:input: 282>
Oct 03 08:58:51 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are enabled for <modbus:170:input: 283>
Oct 03 08:58:51 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are disabled for <modbus:170: reboot>
Oct 03 08:58:51 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial device] device modbus:170 is connected

<Момент отключения>

Oct 03 09:06:53 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [modbus] failed to read 7 coil(s) @ 5100 of device modbus:113: Serial protocol error: request timed out
Oct 03 09:06:54 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 09:06:54 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 09:06:55 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [modbus] failed to read 1 input(s) @ 121 of device modbus:11: Serial protocol error: request timed out
Oct 03 09:06:55 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 09:06:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [modbus] failed to read 1 input(s) @ 121 of device modbus:11: Serial protocol error: request timed out
Oct 03 09:06:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial device] device modbus:11 is disconnected
Oct 03 09:06:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 09:06:57 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 09:06:58 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 09:06:59 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
Oct 03 09:07:00 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: <10.0.0.71:502>: closed due to repetitive errors
Oct 03 09:07:05 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: ERROR: [serial client] Serial protocol error: <10.0.0.71:502> connect error: timeout
Oct 03 09:07:06 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial device] device modbus:113 is disconnected
Oct 03 09:07:06 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial device] device modbus_io:11:1 is disconnected
Oct 03 09:07:06 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial device] device modbus_io:11:2 is disconnected
Oct 03 09:07:06 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial device] device modbus:170 is disconnected

Подключаю:

Oct 03 09:07:54 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: WARNING: [serial client] Restart event from unknown device modbus:11
Oct 03 09:07:54 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Continuous read enabled [slave_id is 11]
Oct 03 09:07:54 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial device] device modbus:11 is connected
Oct 03 09:07:55 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Continuous read enabled [slave_id is 113]
Oct 03 09:07:55 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are enabled for <modbus:113:input: 280>
Oct 03 09:07:55 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are disabled for <modbus:113:input: 281>
Oct 03 09:07:55 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are disabled for <modbus:113:input: 282>
Oct 03 09:07:55 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are enabled for <modbus:113:input: 283>
Oct 03 09:07:55 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are disabled for <modbus:113: reboot>
Oct 03 09:07:55 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial device] device modbus:113 is connected
Oct 03 09:07:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Continuous read enabled [slave_id is 11:1]
Oct 03 09:07:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: IODIR: setup register <modbus_io:11:1:holding: 10000> <-- 0x0000 (0x0)
Oct 03 09:07:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: IPOL: setup register <modbus_io:11:1:holding: 10001> <-- 0x0000 (0x0)
Oct 03 09:07:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: GPINTEN: setup register <modbus_io:11:1:holding: 10002> <-- 0xffff (0xffff)
Oct 03 09:07:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: DEFVAL: setup register <modbus_io:11:1:holding: 10003> <-- 0x0000 (0x0)
Oct 03 09:07:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: INTCON: setup register <modbus_io:11:1:holding: 10004> <-- 0x0000 (0x0)
Oct 03 09:07:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: IOCON: setup register <modbus_io:11:1:holding: 10005> <-- 0x4444 (0x4444)
Oct 03 09:07:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: FLAG: setup register <modbus_io:11:1:holding: 9999> <-- 1 (0x1)
Oct 03 09:07:56 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial device] device modbus_io:11:1 is connected
Oct 03 09:07:57 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Continuous read enabled [slave_id is 11:2]
Oct 03 09:07:57 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: IODIR: setup register <modbus_io:11:2:holding: 10000> <-- 0xffff (0xffff)
Oct 03 09:07:57 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: IPOL: setup register <modbus_io:11:2:holding: 10001> <-- 0x0000 (0x0)
Oct 03 09:07:57 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: GPINTEN: setup register <modbus_io:11:2:holding: 10002> <-- 0xffff (0xffff)
Oct 03 09:07:57 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: DEFVAL: setup register <modbus_io:11:2:holding: 10003> <-- 0x0000 (0x0)
Oct 03 09:07:57 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: INTCON: setup register <modbus_io:11:2:holding: 10004> <-- 0x0000 (0x0)
Oct 03 09:07:57 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: IOCON: setup register <modbus_io:11:2:holding: 10005> <-- 0x4444 (0x4444)
Oct 03 09:07:57 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Init: CONFIG-FLAG: setup register <modbus_io:11:2:holding: 9999> <-- 1 (0x1)
Oct 03 09:07:57 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial device] device modbus_io:11:2 is connected
Oct 03 09:07:58 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [modbus] Continuous read enabled [slave_id is 170]
Oct 03 09:07:58 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are enabled for <modbus:170:input: 280>
Oct 03 09:07:58 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are disabled for <modbus:170:input: 281>
Oct 03 09:07:58 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are disabled for <modbus:170:input: 282>
Oct 03 09:07:58 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are enabled for <modbus:170:input: 283>
Oct 03 09:07:58 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial client] Events are disabled for <modbus:170: reboot>
Oct 03 09:07:58 wirenboard-AWWCDXFH wb-mqtt-serial[1605]: INFO: [serial device] device modbus:170 is connected

Не воспроизводится, тем не менее.

Я смотрел в конфиг - в нем нет ошибок.

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

Попробую еще несколько раз.

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

Проблема достаточно чувствительна, т.к. свет время от времени отключают, а на MGE висит котельная - и управление котлом (Opentherm), и насосная группа. И после отключения света отопление соответственно не восстанавливается.

Спасибо.

Сомневаюсь. Если устройство продолжает опрашиваться - то обновления скорее не нужно.

Рекомендую оставить включенным в конфиге wb-mqtt-serial только один порт со шлюзом, включить для сервиса debug и попробовать выключить шлюз на пару минут. А затем подключить.

Если воспроизведется - то попробуйте переключить в Modbus TCP режим шлюз, с соответствующей перенастройкой порта wb-mqtt-serial.

Попробовал.

  • Выключил остальные порты со шлюзами, оставил только один
  • Включил debug
  • Перезагрузил wb-mqtt-serial
  • Выключил и включил WB-MGE
  • Ошибка сохранилась.

Свежий лог приложил.

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

По режиму шлюза на Modbus TCP и настройкам wb-mqtt-serial можно ссылку на инструкцию? попробую.

Я не вижу в логе момента отключения. Выгрузите файлом пожалуйста.

В конфиге описывается так: GitHub - wirenboard/wb-mqtt-serial: Wiren Board MQTT serial protocol driver
Соответсnвенно в шлюзе “Modbus TCP”
Screenshot_20241003_154746

Лог файлом:
wb-mqtt-serial_20241003T160701.log (623,4 КБ)

В шлюзе у меня такого нет - у меня не 2ая версия, а первый WB-MGE, в 2020 году покупал.

Большая часть файла - это обращения RTU портам. и разнообразные ошибки. У меня к сожалению не получается найти момент когда соединение было (и какие устойства отслеживать? Такое впечатление что включены все) и когда отключилось, подскажите - в какое время смотреть или какие строчки.

Тогда новый лог.

wb-mqtt.zip (4,2 МБ)

Я засек время. 17:57:00 выключил. 17:57:10 включил.

Устройства, которые на этом WB-MGE и его и их адреса:
image

Видно отключение:

Oct 03 17:57:01 wirenboard-A32RE5MO wb-mqtt-serial[700744]: DEBUG: [port] 192.168.214.14:20109: ReadFrame: 06 ff
Oct 03 17:57:01 wirenboard-A32RE5MO wb-mqtt-serial[700744]: DEBUG: [port] 192.168.214.14:20109: Sleep 0 us
Oct 03 17:57:01 wirenboard-A32RE5MO wb-mqtt-serial[700744]: WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet

Закрытие по ошибкам:

Oct 03 17:57:05 wirenboard-A32RE5MO wb-mqtt-serial[700744]: WARNING: [serial device] device modbus:85 is disconnected
Oct 03 17:57:08 wirenboard-A32RE5MO wb-mqtt-serial[700744]: WARNING: <192.168.214.14:20109>: closed due to repetitive errors

Попытки соединения:

Oct 03 17:57:13 wirenboard-A32RE5MO wb-mqtt-serial[700744]: ERROR: [serial client] Serial protocol error: <192.168.214.14:20109> connect error: timeout
Oct 03 17:57:13 wirenboard-A32RE5MO wb-mqtt-serial[700744]: DEBUG: [serial client] <192.168.214.14:20109>86431702: Wait until 86432202

И почему-то перезапуск сервиса:

Oct 03 17:59:23 wirenboard-A32RE5MO systemd[1]: wb-mqtt-serial.service: Main process exited, code=killed, status=4/ILL

Сервис сам перезапустился?

Вот в 17:57:13 WB-MGE уже точно был включен и работал - я его включил в 17:57:10 ровно.

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

За три секунды - вряд ли успеет запуститься.
У меня пока не удается воспроизвести.
Пожалуйста попробуйте еще раз, но отключив опрос остальных портов. И подождите минут 5 после включения шлюза.

Сделал, отключил опрос всех, кроме одного, включил дебаг. Докладываю по таймстемпам (время Московское):

  • 14:26:00 - Модуль WB-MGE (192.168.214.14) отключен от питания
  • 14:26:10 - Модуль включен
  • … Подождал…
  • 14:30:45 - Пустил wb-mqtt-serial через SSH в перезагрузку
  • 14:31:45 - wb-mqtt-serial запустился

Прикладываю логи - из консоли и из journalctl + свежий диаг, если понадобится.

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

mqtt_log.zip (80,0 КБ)