Странные ошибки MODх

В контроллер 8.4 добавлены модули:
WBE2-DO-R6C-1 в MOD1 + MOD3,
WBE2R-R-ZIGBEE v.2 в MOD2,
WBMZ4-SUPERCAP в батарею

В логах очень странные ошибки.

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

13-02-2025 12:30:22.013 [wpa_supplicant]	wlan0: WPA: Group rekeying completed with dc:2c:6e:14:a6:7c [GTK=CCMP]
13-02-2025 12:30:22.011	RTW: send eapol packet - WPA Group Key 2/2
13-02-2025 12:30:22.011	RTW: set group key camid:2, addr:dc:2c:6e:14:a6:7c, kid:2, type:AES
13-02-2025 12:30:21.998	RTW: recv eapol packet - WPA Group Key 1/2
13-02-2025 12:30:19.735 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD3, can't get termios attributes Input/output error (5)
13-02-2025 12:30:15.724 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, can't open serial port
13-02-2025 12:30:15.724 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, can't open serial port
13-02-2025 12:29:59.902 [NetworkManager]	<info>  [1739438999.9024] dhcp4 (wlan0): state changed new lease, address=172.26.128.248
13-02-2025 12:29:16.423	RTW: WARN cfg80211_rtw_scan (wlan1) : scan abort!! BusyTraffic
13-02-2025 12:27:15.427	RTW: WARN cfg80211_rtw_scan (wlan1) : scan abort!! BusyTraffic
13-02-2025 12:25:31.567 [wb-mqtt-serial]	WARNING: [modbus] failed to read 7 input(s) @ 33 of device </dev/ttyRS485-1 115200 8 N 2> modbus:193: Serial protocol error: malformed response: invalid crc
13-02-2025 12:25:22.028 [wb-mqtt-serial]	WARNING: [modbus] failed to read 7 coil(s) @ 5100 of device </dev/ttyRS485-1 115200 8 N 2> modbus:157: Serial protocol error: request timed out
13-02-2025 12:25:22.011 [wpa_supplicant]	wlan0: WPA: Group rekeying completed with dc:2c:6e:14:a6:7c [GTK=CCMP]
13-02-2025 12:25:22.007	RTW: send eapol packet - WPA Group Key 2/2
13-02-2025 12:25:22.007	RTW: set group key camid:1, addr:dc:2c:6e:14:a6:7c, kid:1, type:AES
13-02-2025 12:25:21.997	RTW: recv eapol packet - WPA Group Key 1/2
13-02-2025 12:25:21.997	RTW: recv eapol packet - WPA Group Key 1/2
13-02-2025 12:25:19.586 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD3, can't get termios attributes Input/output error (5)
13-02-2025 12:25:15.587 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, can't open serial port
13-02-2025 12:25:14.453 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device </dev/ttyRS485-1 115200 8 N 2> modbus:193: Serial protocol error: request timed out
13-02-2025 12:25:14.423	RTW: WARN cfg80211_rtw_scan (wlan1) : scan abort!! BusyTraffic
13-02-2025 12:24:59.865 [NetworkManager]	<info>  [1739438699.8650] dhcp4 (wlan0): state changed new lease, address=172.26.128.248
13-02-2025 12:24:28.587 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 input(s) @ 270 of device </dev/ttyRS485-1 115200 8 N 2> modbus:123: Serial protocol error: malformed response: invalid crc
13-02-2025 12:23:13.423	RTW: WARN cfg80211_rtw_scan (wlan1) : scan abort!! BusyTraffic
13-02-2025 12:21:12.423	RTW: WARN cfg80211_rtw_scan (wlan1) : scan abort!! BusyTraffic
13-02-2025 12:20:22.025 [wb-mqtt-serial]	WARNING: [modbus] failed to read 98 discrete(s) @ 0 of device </dev/ttyRS485-1 115200 8 N 2> modbus:123: Serial protocol error: request timed out
13-02-2025 12:20:22.025 [wb-mqtt-serial]	WARNING: [modbus] failed to read 98 discrete(s) @ 0 of device </dev/ttyRS485-1 115200 8 N 2> modbus:123: Serial protocol error: request timed out
13-02-2025 12:20:22.010 [wpa_supplicant]	wlan0: WPA: Group rekeying completed with dc:2c:6e:14:a6:7c [GTK=CCMP]
13-02-2025 12:20:22.007	RTW: send eapol packet - WPA Group Key 2/2
13-02-2025 12:20:22.007	RTW: set group key camid:2, addr:dc:2c:6e:14:a6:7c, kid:2, type:AES
13-02-2025 12:20:21.995	RTW: recv eapol packet - WPA Group Key 1/2
13-02-2025 12:20:19.422 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD3, can't get termios attributes Input/output error (5)
13-02-2025 12:20:15.449 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, can't open serial port
13-02-2025 12:19:59.860 [NetworkManager]	<info>  [1739438399.8605] dhcp4 (wlan0): state changed new lease, address=172.26.128.248
13-02-2025 12:19:35.726 [wb-mqtt-db.service]	INFO: [dblogger] Group data limit is reached: group all, row count 102021, limit 100000
13-02-2025 12:19:11.423	RTW: WARN cfg80211_rtw_scan (wlan1) : scan abort!! BusyTraffic
13-02-2025 12:19:11.423	RTW: WARN cfg80211_rtw_scan (wlan1) : scan abort!! BusyTraffic
13-02-2025 12:17:10.427	RTW: WARN cfg80211_rtw_scan (wlan1) : scan abort!! BusyTraffic
13-02-2025 12:17:01.179 [cron]	pam_unix(cron:session): session closed for user root
13-02-2025 12:17:01.172 [cron]	(root) CMD (   cd / && run-parts --report /etc/cron.hourly)
13-02-2025 12:17:01.170 [cron]	pam_unix(cron:session): session opened for user root(uid=0) by (uid=0)
13-02-2025 12:15:22.022 [wb-mqtt-serial]	WARNING: [modbus] failed to read 2 holding(s) @ 97 of device </dev/ttyRS485-1 115200 8 N 2> modbus:126: Serial protocol error: malformed response: invalid crc
13-02-2025 12:15:22.008 [wpa_supplicant]	wlan0: WPA: Group rekeying completed with dc:2c:6e:14:a6:7c [GTK=CCMP]
13-02-2025 12:15:22.007	RTW: send eapol packet - WPA Group Key 2/2
13-02-2025 12:15:22.007	RTW: set group key camid:1, addr:dc:2c:6e:14:a6:7c, kid:1, type:AES
13-02-2025 12:15:21.994	RTW: recv eapol packet - WPA Group Key 1/2
13-02-2025 12:15:21.994	RTW: recv eapol packet - WPA Group Key 1/2
13-02-2025 12:15:19.262 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD3, can't get termios attributes Input/output error (5)
13-02-2025 12:15:15.315 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, can't open serial port
13-02-2025 12:15:09.442 [wb-mqtt-serial]	WARNING: [serial client] Reading events failed: malformed response: invalid packet
13-02-2025 12:15:09.423	RTW: WARN cfg80211_rtw_scan (wlan1) : scan abort!! BusyTraffic

Содержимое правила тоже подозрительное (там нет MOD1, как минимум)
И что могло поменять файлы?

root@wirenboard:~# cat /etc/udev/rules.d/99-wb-uart.rules
KERNEL=="ttyS0", SUBSYSTEM=="tty", SYMLINK+="ttyCONSOLE", GROUP="tty"
KERNEL=="ttyS1", SUBSYSTEM=="tty", SYMLINK+="ttyRS485-2", GROUP="dialout"
KERNEL=="ttyS2", SUBSYSTEM=="tty", SYMLINK+="ttyRS485-1", GROUP="dialout"

KERNEL=="ttyS4", SUBSYSTEM=="tty", SYMLINK+="ttyMOD2", GROUP="dialout"
KERNEL=="ttyS5", SUBSYSTEM=="tty", SYMLINK+="ttyMOD3", GROUP="dialout"


root@wirenboard:~# ls -l /dev | grep ttyMOD
lrwxrwxrwx 1 root root           5 фев 13 11:23 ttyMOD2 -> ttyS4
lrwxrwxrwx 1 root root           5 авг 25 22:05 ttyMOD3 -> ttyS5

Диагностика

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

Переключил одно реле MOD1.
Замерил тестером - сами реле, похоже работают.
Ошибки на месте.

Добрый день.
Вы выложили лог, в котором перемешаны сообщения от разных источников.
Пожалуйста - конкретизируйте вопрос.
Я с удовольствием отвечу на относящийся к работе сервисов разработанных копанией.
Но не готов описывать каждую строчку.
Если вопрос касается работы wb-mqtt-serial то методика диагностики описана вот тут: Драйвер wb-mqtt-serial — Wiren Board
Рекомендую включить Debug и посмотреть что именно идет по шине запросы-ответы, затем сравнить полученное с ожидаемым - если расходится - тогда проверять непосредственно на шине, с помощью анализатора.

Для контроллера версии 8.4 MOD1 не имеет последовательного интерфейса, о чем написано в его документации.

Что значат ошибки:

13-02-2025 12:30:19.735 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD3, can't get termios attributes Input/output error (5)
13-02-2025 12:30:15.724 [wb-mqtt-serial]	ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, can't open serial port

При этом реле в MOD1 и 3 переключаются.

Также очень странный состав файла 99-wb-uart.rules

Это основной вопрос.
Явно что-то с MOD1 и 3 не так. И с конфиг фалом тоже …

Второй вопрос, не очень понятно что с WiFi. Он работает … но гугление показывает, что проблема с драйверами WiFi карты …

Ну третий вопрос …
Не очень понятно что за ошибки
Serial protocol error: request timed out
Проблема с физикой? В целом практически все в одном щите …
В целом на него вы ответили, что диагностировать только через отладку?

Сообщение (последовательность) короче чем ожидалось.

На MOD1 нет последовательного интерфейса. Попытка использовать несуществующий - вызовет ошибку.

В приведенной мной ссылке - написано что релейные модули поддерживаются для MOD1/
Модули реле для портов расширения не используют последовательный порт. Они не связаны, никак.

Что в нем странного? Я не увидел подозрительного.

В чем проявляются проблемы?
Я не увидел ошибок. За исключением попыток скана на занятом интерфейсе.

Запрос отправлен но ответ на него не получен. То есть устройство не получило запрос, скорее всего. Или получило - но ответ не дошел.
Да, обчно с физикой.

Тогда зачем оно включено “по умолчанию”?

Тогда почему оно есть в контроллере и по умолчанию “включено”?
Или не там смотрю?

Нужно выключить все три? (MOD1-2-3), или Zeegbee использует последовательный порт?

Перед вопросами гуглил, и там было сказано, что MODx тоже должен быть.
MOD1 нет.
Но если на нем нет последовательного интерфейса … то почему его можно включить в контроллере вообще?

Ясно. Но непонятно (физики мало … а “проблемные” устройства прямо тут в щите рядом с контроллером …). Нужно подумать, спасибо.

Зачем вообще происходит сканирование, если “занято”? Странное предупреждение …
В любом случае, работает и не ошибка …

Отключил последовательный порт на MOD1 и MOD3.
Реле (теперь уже, ожидаемо), продолжают работать.

Но при этом предупреждений
WARNING: [modbus] failed to read 2 input(s) @ 104 of device </dev/ttyRS485-1 115200 8 N 2> modbus:130: Serial protocol error: request timed out
стало в разы меньше!
Было: больше 100 (~150) в секунду каждые 3…5 секунд.
Стало: не больше 2 (~1) в секунду, каждые 15…30 секунд.

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

Также часть предупреждений по RS-485 происходят в ту же секунду, что и предупреждения WiFi. Субъективно - тоже есть связь, что, в целом, логично.

Также обнаружил странную ошибку.
13-02-2025 21:27:30.379 [zigbee2mqtt] FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
C zigbee пока не разбирался, планируется для неответственных кнопок и датчиков использовать, и устройств пока нет (только модуль в контроллере).

Включено - где?

По умолчанию в конфишурации wb-mqtt-serial - выключено.


Ну и не надо (зачем?) включать то что не используется.

Модуль Zigbee - тоже никак не связан с wb-mqtt-serial. Это совершенно разные сервися, включение одного порта в разных - может привести к блокировке, напимер.

Можно в конфигурации создать вообще отсутствующий порт. И тоже включить. Тут я немного не понимаю, предполагаю что конфигурируется сервис по фактически подключенным устройствам все же. То есть включать для одного сервиса использующийся в другом порт - можно. Но это применяется в крайне гораниченных случаях (в основном при отладке), и не при одновременно запуске.

Вряд ли связано.

Какое количество памяти потребляет сейчас?

На MOD2 тоже стоит галка (тоже включен RS-485) “с завода”.
Но ругани в логах нет.
Тоже нужно отключить?

Вот это на скриншоте “с завода” и “включено” зачем тогда?
Понятно, что “можно все”. Но это не настраивалось (и, похоже, при этом гадило) “с завода”.

Ну и в инструкции по поводу подключения модулей вручную, наверное, надо бы дописать, порт нужно выключать, если модуль добавляется (так как он модулем не используется …)

Просмотр логов до отключения и сразу после отключения.
Больше ничего не менялось.

Ну и позже еще смотрел …
Связь явная (и да, странно)

Теоретически можно, если время будет, включить обратно и проверить связь. Интересно?

Я тут вообще проблем не видел. На контроллере из “не штатного” установлена только “русификация консоли”. Все остальное “заводское”.

Нет. По-умолчанию выключена.

Для модулей, которые управляются не wb-mqtt-serial вообще нет упоминаний в документации о необходитмости редактировать эти настройки.

Ну оно конечно интересно, да. Полпробую у себя.

Я про zigbee2mqtt
у меня например он в топе по памяти, конечно (nodeJS, все ж) но вполне в рамках:

ps -eo pid,ppid,cmd,%mem,%cpu,time --sort=-%mem |head -30
  PID  PPID CMD                         %MEM %CPU     TIME
 1829     1 /usr/bin/python3 /usr/bin/w 11.5  1.6 04:26:08
 2710  2709 node index.js               10.9  2.9 07:55:03
  137     1 /lib/systemd/systemd-journa  7.3  5.2 13:46:41
 4984     1 /usr/bin/wb-rules -cleanup   3.9 36.8 09:13:49
 5259     1 /usr/bin/telegraf --config   2.2  0.3 00:00:21
 1573     1 npm start                    1.8  0.0 00:00:08
 1835     1 python3 /usr/bin/wb-mqtt-nm  1.8  0.1 00:23:41
 1788     1 /usr/bin/python3 /usr/bin/w  1.6  0.0 00:05:29
 1797     1 /usr/bin/wb-mqtt-confed -sy  1.6  0.0 00:04:37
 1563     1 /usr/sbin/zabbix_agent2 -fo  1.4 12.3 1-08:42:08
 2014     1 python3 /usr/bin/wb-cloud-a  1.2  0.0 00:12:27
 1795     1 /usr/bin/python3 /usr/bin/w  1.1  0.0 00:05:06
 1549     1 /usr/bin/wb-mqtt-serial      1.1 15.9 1-18:10:32
 6100     1 /usr/sbin/NetworkManager --  0.9  0.1 00:06:48
 1807     1 /usr/bin/wb-mqtt-db          0.9  3.4 09:09:06
 1416     1 python3 /usr/lib/wb-connect  0.9  0.5 01:31:26
 2027     1 /usr/bin/frpc --config /var  0.8  0.0 00:06:58
29020  2014 curl --connect-timeout 45 -  0.8  0.3 00:00:00
 1719     1 /usr/sbin/mosquitto -c /etc  0.8  6.8 18:04:20
 2056  2051 nginx: worker process        0.8  0.0 00:04:19
 2053  2051 nginx: worker process        0.8  1.5 04:08:14
29604 29602 curl -s --connect-timeout 6  0.8 15.0 00:00:00
 2057  2051 nginx: worker process        0.7  0.0 00:00:00
 2054  2051 nginx: worker process        0.7  0.0 00:00:00
  378     1 /usr/sbin/ModemManager       0.7  0.0 00:00:00
    1     0 /sbin/init                   0.6  0.0 00:01:06
  326     1 /sbin/wpa_supplicant -u -s   0.6  0.0 00:01:01
12351     1 /lib/systemd/systemd --user  0.6  0.0 00:00:00
12318  1608 sshd: root@pts/0             0.5  0.0 00:00:01

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

root@wirenboard-AOXWLOXY:~# ps -eo pid,ppid,cmd,%mem,%cpu,time --sort=-%mem |head -30
    PID    PPID CMD                         %MEM %CPU     TIME
    125       1 /lib/systemd/systemd-journa  5.2  0.0 00:04:17
   1998       1 /usr/bin/python3 /usr/bin/w  2.1  0.9 01:03:50
1361983       1 /usr/bin/wb-rules -syslog -  1.0 10.3 07:33:18
2944601       1 /usr/bin/telegraf --config   0.9  0.2 00:02:56
   1963       1 /usr/bin/wb-mqtt-confed -sy  0.8  0.0 00:02:57
   2010       1 python3 /usr/bin/wb-mqtt-nm  0.7  0.1 00:13:36
1344053       1 /usr/bin/python3 /usr/bin/w  0.6  0.1 00:07:31
3049589       1 /usr/bin/frpc --config /var  0.5  3.8 00:44:54
   1947       1 /usr/bin/python3 /usr/bin/w  0.5  0.0 00:03:06
1475352       1 /usr/bin/wb-mqtt-serial      0.4 17.2 12:00:57
 526255       1 python3 /usr/bin/wb-cloud-a  0.4  0.1 00:06:52
    470       1 /usr/sbin/NetworkManager --  0.4  1.4 01:40:26
   1531       1 python3 /usr/lib/wb-connect  0.4  1.7 02:00:35
   1967       1 /usr/bin/wb-mqtt-db          0.3  4.5 05:16:41
      1       0 /sbin/init                   0.2  0.0 00:01:03
    359       1 /usr/sbin/ModemManager       0.2  0.0 00:00:00
3660879  526255 curl --connect-timeout 45 -  0.2  0.8 00:00:00
   1829       1 /usr/sbin/mosquitto -c /etc  0.2  3.8 04:28:26
   2680    2673 nginx: worker process        0.2  0.1 00:11:40
   2679    2673 nginx: worker process        0.2  2.0 02:19:13
   2683    2673 nginx: worker process        0.2  0.0 00:00:00
   2684    2673 nginx: worker process        0.2  0.0 00:00:00
3656806       1 /lib/systemd/systemd --user  0.2  0.0 00:00:00
    338       1 /sbin/wpa_supplicant -u -s   0.2  0.0 00:03:16
3656635    1727 sshd: root@pts/0             0.1  0.1 00:00:00
   1978       1 /usr/bin/wb-mqtt-logs        0.1  0.0 00:00:22
   1727       1 sshd: /usr/sbin/sshd -D [li  0.1  0.0 00:00:00
   2673       1 nginx: master process /usr/  0.1  0.0 00:00:00
3656807 3656806 (sd-pam)                     0.1  0.0 00:00:00

Включил RS на MODx. На число ошибок в RS если и повлияло (видимо все же повлияло, число ошибок стало больше немного) то очень незначительно.

Ничего не понимаю.
Пересмотрел логи, как отключил RS на MODx ошибок стало в разы меньше. Их было ну очень много. При этом больше ничего, совершенно, не менялось даже программное, а физика вообще все это время не трогалась …
Очень странное “совпадение”.

Сейчас ошибки на шине очень и очень редкие.
При этом в основном касаются датчиков (то есть самые удаленные точки, остальное все прямо в щите, но данных там очень много передается, освещенность, температура прыгает постоянно же …)

Вот думаю с чем это связано. Помехи …?
У меня неплохой опыт с RS в промышленности, и там у меня потери были только в случае физических повреждений провода …

С другой стороны, такие потери явно несущественны и не влияет на автоматизацию, скорее всего, от слова “совсем”.