После перезагрузки отвалилась одна из шин 485

Добрый день!

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

Не удается так же открыть конфигурационный файл /etc/wb-hardware.conf через интерфейс

Ошибка загрузки файла: Invalid config file EditorError

Соответственно индикаторы на блоках не мигают, висящие на них устройства недоступны

Прилагаю фото модуля, лог и диагностические файлы

log_20260329T165019.log (4,6 КБ)

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

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнителоьное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение.


Вы используете Wiren Board 6.6.0. По описанию симптомов:

  • не мигают индикаторы на модулях RS‑485;
  • устройства на шине недоступны;
  • веб‑интерфейс не может открыть /etc/wb-hardware.conf (Invalid config file),

скорее всего, при перебоях питания повредился файл конфигурации или часть файловой системы, и из‑за этого не стартуют сервисы, отвечающие за RS‑485.

Ниже действия, которые можно сделать до прихода инженеров.

1. Проверить, видны ли порты и конфигурация

  1. Подключитесь к контроллеру по SSH (или через локальную консоль):

    ssh root@IP_контроллера
    
  2. Посмотрите, какие порты есть в системе:

    ls -l /dev/ttyRS*
    

    Нужные аппаратные порты RS‑485 должны здесь отображаться (например, /dev/ttyRS485-1, /dev/ttyRS485-2 и т.п.).
    Если «отвалившаяся» шина вообще не отображается — напишите, какого именно устройства/порта нет в выводе.

  3. Проверьте статус сервиса wb-hardware:

    service wb-hardware status
    journalctl -u wb-hardware -n 50
    

    Нас интересуют ошибки парсинга /etc/wb-hardware.conf или другие сообщения об ошибках.

2. Проверить целостность wb-hardware.conf

  1. Сделайте резервную копию текущего файла:

    cp /etc/wb-hardware.conf /root/wb-hardware.conf.bak
    
  2. Посмотрите его содержимое:

    cat /etc/wb-hardware.conf
    

    Обратите внимание, не обрывается ли файл посередине, нет ли «мусора» или недописанного JSON (часто при сбое питания файл обрезается).

  3. Попробуйте проверить синтаксис как JSON:

    python -m json.tool /etc/wb-hardware.conf > /tmp/hw_checked.json
    
    • Если увидите сообщение об ошибке — файл действительно битый.
    • Если ошибок нет, а UI всё равно пишет Invalid config file, скопируйте сюда вывод команды и первую/последнюю десяток строк файла.

3. Восстановление файла конфигурации (временно)

Если python -m json.tool ругается и видно, что файл обрезан:

  1. Посмотрите, нет ли резервной копии:

    ls -l /etc/wb-hardware.conf*
    

    Иногда остаются старые версии (.dpkg-old, .backup и т.п.). Если они есть, можно временно подменить:

    cp /etc/wb-hardware.conf.dpkg-old /etc/wb-hardware.conf
    service wb-hardware restart
    

    (имя резервного файла может отличаться — приведите список, я подскажу, какой лучше использовать.)

  2. Если резервных копий нет, как временную меру можно создать минимальный валидный файл, чтобы интерфейс хотя бы открылся, а шины поднялись по умолчанию:

    cat >/etc/wb-hardware.conf <<'EOF'
    {
      "slots": []
    }
    EOF
    
    service wb-hardware restart
    

    Это сбросит аппаратные настройки в дефолтное состояние; если у вас были нестандартные параметры портов, их придётся занести заново через UI.
    После рестарта посмотрите, появились ли устройства /dev/ttyRS… и мигать ли начали индикаторы на модулях.

4. Дополнительная проверка модулей RS‑485

Если файл удалось починить/заменить, но одна шина всё равно «мертвая»:

  1. Уточните, о какой физически шине идёт речь (набор клемм/портов) и какие модули на ней (например, WB-MR6C, WB-MDM3 и т.п.).

  2. В веб‑интерфейсе в разделе Настройки → Serial ports / Modbus посмотрите, есть ли соответствующий порт и включён ли драйвер.

  3. Выполните тест опроса с контроллера:

    modbus_client -m rtu -b 9600 -p none -s 1 /dev/ttyRS485-1 -a 1 -t 0x03 -r 1
    

    (подставьте реальные: скорость, настройки порта, номер порта и адрес устройства). Напишите ответ/ошибку.


Чтобы можно было сузить диагностику, пожалуйста, ответьте здесь и приложите:

  1. Вывод команд:

    ls -l /dev/ttyRS*
    service wb-hardware status
    journalctl -u wb-hardware -n 50
    python -m json.tool /etc/wb-hardware.conf > /tmp/hw_checked.json
    echo $?
    
  2. Первые и последние 30 строк файла /etc/wb-hardware.conf (с замазанными при необходимости чувствительными данными).

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


Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.

  1. файл был пустой вообще, попытка использовать вместо него содержимое wb-hardware.conf.default заканчивается провалом - редактор его все равно не может открыть. Вставил минимальный валидный, редактор открывается но в нем. логично. ничего нет.

  2. попытка перезагрузки сервиса дает отказ Failed to restart wb-hardware.service: Unit wb-hardware.service not found.

  3. Вывод команд:

    ls -l /dev/ttyRS*
    service wb-hardware status
    journalctl -u wb-hardware -n 50
    python -m json.tool /etc/wb-hardware.conf > /tmp/hw_checked.json
    echo $?
    

root@wirenboard-AD3XF74:~# ls -l /dev/ttyRS*
lrwxrwxrwx 1 root root 7 Mar 29 14:22 /dev/ttyRS485-1 → ttymxc1
root@wirenboard-AD3XF74:~# service wb-hardware status
Unit wb-hardware.service could not be found.
root@wirenboard-AD3XF74:~# journalctl -u wb-hardware -n 50
– No entries –
root@wirenboard-AD3XF74:~# python -m json.tool /etc/wb-hardware.conf > /tmp/hw_checked.json
root@wirenboard-AD3XF74:~# echo $?

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнителоьное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение.


Судя по данным:

  • /etc/wb-hardware.conf был пустой, сейчас минимальный валидный;
  • wb-hardware.service вообще отсутствует в системе;
  • из RS‑485 виден только один порт /dev/ttyRS485-1;

речь, похоже, не о поломке самой шины, а о том, что на контроллере нет (или удалён) пакет wb-hardware и, возможно, часть стандартного софта. При резком обесточивании иногда повреждается файловая система, и пакеты «теряются» частично.

1. Проверить, установлен ли пакет wb-hardware

Выполните:

dpkg -l | grep wb-hardware
dpkg -l | grep wb-h

Пришлите вывод. Если строки ii wb-hardware ... нет, пакет не установлен.

2. Попробовать установить/переустановить пакет

Если интернет на контроллере есть:

apt-get update
apt-get install --reinstall wb-hardware wb-mqtt-serial wb-mqtt-confed

Во время установки обратите внимание на ошибки (особенно про место на диске и повреждённые зависимости) и, если будут, скопируйте их сюда.

После установки:

service wb-hardware status
service wb-mqtt-serial status
ls -l /dev/ttyRS*

Посмотрите, появились ли дополнительные порты /dev/ttyRS485-2 и т.п. и мигают ли индикаторы на модулях.

3. Проверить файловую систему и место на диске

Частая причина потери пакетов и пустых конфигов — повреждение ФС и/или переполненный диск.

Проверьте:

df -h
dmesg | tail -n 50

Если в dmesg будут сообщения вида EXT4-fs error, read-only file system или «out of space», пришлите их.


Пожалуйста, приложите в ответ:

  1. Вывод dpkg -l | grep wb-.
  2. Результат установки/переустановки (apt-get install ...).
  3. Вывод df -h и dmesg | tail -n 50.

Инженеры в рабочее время ещё посмотрят ваш диагностический архив, но эти данные помогут понять, достаточно ли переустановить пакеты или нужна более глубокая проверка/перенос системы.


Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.

Пакета не обнаружилось, попытка переустановки дает следующий результат:

root@wirenboard-AD3XF74:~# apt-get update
Ign:2 Index of /debian stretch InRelease
Ign:3 Index of /debian stretch-updates InRelease
Ign:4 http://security.debian.org stretch/updates InRelease
Err:6 Index of /debian stretch Release
404 Not Found [IP: 151.101.2.132 80]
Err:7 http://security.debian.org stretch/updates Release
404 Not Found [IP: 151.101.194.132 80]
Err:8 Index of /debian stretch-updates Release
404 Not Found [IP: 151.101.2.132 80]
Ign:5 Index of /debian stretch-backports InRelease
Err:9 Index of /debian stretch-backports Release
404 Not Found [IP: 151.101.2.132 80]
Get:1 https://deb.wirenboard.com/wb6/stretch stable InRelease [3938 B]
Get:10 https://deb.wirenboard.com/wb6/stretch stable/main armhf Packages [49.0 kB]
Reading package lists… Done
E: The repository ‘ Index of /debian stretch Release’ does no longer have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository ‘http://security.debian.org stretch/updates Release’ does no longer have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository ‘ Index of /debian stretch-updates Release’ does no longer have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository ‘ Index of /debian stretch-backports Release’ does no longer have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
root@wirenboard-AD3XF74:~# apt-get install --reinstall wb-hardware
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package wb-hardware
root@wirenboard-AD3XF74:~# service wb-hardware status
Unit wb-hardware.service could not be found.
root@wirenboard-AD3XF74:~#

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнителоьное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение.


Ситуация следующая:

  • Контроллер WB 6.6.0 на старой системе Debian Stretch.
  • Debian‑зеркала для Stretch отключены, поэтому стандартные репозитории дают 404.
  • Пакет wb-hardware в системе отсутствует и через apt поставить его сейчас не получается.

Из-за этого:

  • нет сервиса wb-hardware;
  • конфиг /etc/wb-hardware.conf не заполняется;
  • часть подсистем (в т.ч. RS‑485) работает «как повезёт» только на уровне ядра, без нормальной конфигурации.

1. Что можно сделать прямо сейчас

  1. Убедиться, что хотя бы wirenboard‑репозиторий доступен:

    grep -R deb.wirenboard.com /etc/apt/sources.list /etc/apt/sources.list.d -n
    

    Должна быть строка вида:

    deb https://deb.wirenboard.com/wb6/stretch stable main
    

    Если она есть — репозиторий Wiren Board подключён, но в нём уже может не быть пакета wb-hardware для столь старой версии.

  2. Узнать точную версию прошивки:

    wb-release
    uname -a
    

    Это важно инженерам для понимания, какие пакеты ещё доступны.

  3. Проверить, нет ли остатка скриптов настройки железа:

    ls -l /etc/init.d | grep wb
    dpkg -l | grep '^ii' | grep wb-
    

    Пришлите вывод — возможно, какая‑то часть функционала уже реализуется другими пакетами.

2. Почему не получается просто «доустановить пакет»

Debian Stretch уже давно снят с поддержки, его репозитории перенесены в архив, поэтому по обычным URL deb.debian.org, security.debian.org они больше недоступны — именно это вы и видите (404 Release no longer available).[1]

Даже если подключить архивные зеркала, есть риск:

  • тянуть много устаревших пакетов;
  • усугубить возможные ошибки файловой системы после перебоев питания.

С учётом того, что уже пропал системный пакет (wb-hardware) и пустой конфиг, велика вероятность, что система в целом повреждена.

3. Рекомендованный путь — перенос/переустановка прошивки

Для WB6 на Stretch сейчас рекомендуем:

  1. Сделать бэкап конфигурации, пока контроллер ещё жив:

    • Сохранить /etc и ваши скрипты/правила:

      mkdir -p /mnt/backup
      # если есть USB‑флешка, смонтируйте её вместо /mnt/backup
      tar czf /mnt/backup/etc-backup.tgz /etc
      tar czf /mnt/backup/root-backup.tgz /root
      
    • Отдельно выгрузить правила wb-rules и важные пользовательские файлы.

  2. Дальше типовое решение от поддержки в таких случаях — перепрошивка контроллера на актуальный образ WB6 (с уже настроенным зеркалом и нужными пакетами). Инженеры подскажут вам конкретный образ и инструкцию по прошивке через wb-update или recovery‑режим, исходя из содержимого вашего диагностического архива.[2]

  3. После переустановки:

    • восстановить ваши пользовательские настройки/правила из бэкапа;
    • через веб‑интерфейс заново настроить шины RS‑485.

4. Что ещё прислать инженерам

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

wb-release
uname -a
cat /etc/apt/sources.list
ls -l /etc/apt/sources.list.d
dpkg -l | grep '^ii' | grep wb-
df -h
dmesg | tail -n 100

Особенно важны сообщения EXT4-fs error, journal/I/O error, read-only file system в dmesg.


Инженеры техподдержки в ближайший рабочий день посмотрят ваш диагностический архив и этот диалог и уже предметно порекомендуют: использовать архивные репозитории для «долечивания» текущей системы или сразу переходить на перепрошивку.


Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.


  1. Общая информация о статусах Debian‑релизов: https://www.debian.org/releases/ ↩︎

  2. Инструкция по восстановлению/прошивке контроллеров WB6 описана в вики: https://wirenboard.com/wiki/WB_6_Firmware_Update ↩︎

  1. Wirenboard release wb-2201 (as stable), target wb6/stretch

You can get this info in scripts from /usr/lib/wb-release.
root@wirenboard-AD3XF74:~# uname -a
Linux wirenboard-AD3XF74 5.10.35-wb105 #1 Wed Feb 2 21:09:31 UTC 2022 armv7l GNU/Linux

root@wirenboard-AD3XF74:~# ls -l /etc/init.d | grep wb
-rwxr-xr-x 1 root root 6572 Jan 1 2019 wb-homa-adc
-rwxr-xr-x 1 root root 6305 Jan 1 2019 wb-homa-gpio
-rwxr-xr-x 1 root root 4444 Jan 15 2019 wb-homa-ism-radio
-rwxr-xr-x 1 root root 4275 Aug 25 2016 wb-homa-w1
-rwxr-xr-x 1 root root 4404 May 10 2018 wb-mqtt-db
-rwxr-xr-x 1 root root 4596 Oct 4 2018 wb-mqtt-mbgate
-rwxr-xr-x 1 root root 4580 Jan 9 2020 wb-mqtt-serial
root@wirenboard-AD3XF74:~# dpkg -l | grep ‘^ii’ | grep wb-

Я сделал бекап конфигурации (уже поврежденной, получается) Как выгрузить правила?

Когда ждать инструкции.

Вывод запрошенных команд

root@wirenboard-AD3XF74:~# wb-release
Wirenboard release wb-2201 (as stable), target wb6/stretch

You can get this info in scripts from /usr/lib/wb-release.
root@wirenboard-AD3XF74:~# uname -a
Linux wirenboard-AD3XF74 5.10.35-wb105 #1 Wed Feb 2 21:09:31 UTC 2022 armv7l GNU/Linux
root@wirenboard-AD3XF74:~# cat /etc/apt/sources.list
root@wirenboard-AD3XF74:~# ls -l /etc/apt/sources.list.d
total 16
-rw-r–r-- 1 root root 154 Apr 15 2021 debian-upstream.list
-rw-r–r-- 1 root root 88 Apr 15 2021 nodesource.list
-rw-r–r-- 1 root root 57 Jun 19 2019 stretch-backports.list
-rw-r–r-- 1 root root 208 Mar 8 2022 wirenboard.list
root@wirenboard-AD3XF74:~# dpkg -l | grep ‘^ii’ | grep wb-
ii python-wb-common 1.4.0 all Wiren Board Python common library and helpers
ii python-wb-io 1.2.3 armhf A module to control WB IO channels.
ii python3-wb-diag-collect 1.2.0 all python3 library for one-click diagnostic data
ii python3-wb-mcu-fw-updater 1.1.1 all Wiren Board modbus devices firmware update and modbus bindings python libraries (python 3)
ii python3-wb-mqtt-metrics 0.1.1 all python3 library for sending metrics to mqtt-channels
ii python3-wb-update-manager 1.2.5 all Wirenboard software updates and release management tool - python3 library
ii wb-configs 2.3.2 all Default common config files for Wiren Board
ii wb-configs-stretch 2.3.2 all Default stretch-specific config files for Wiren Board
ii wb-daemon-watchdogs 1.1 all Wiren Board services watchdog scripts
ii wb-diag-collect 1.2.0 all one-click diagnostic data collector for Wiren Board,
ii wb-dt-overlays 1.4.0 all Device tree overlays for Wiren Board devices
ii wb-essential 1.8.0 all Wirenboard essential packages
ii wb-homa-adc 2.4.2 armhf transitional dummy package
ii wb-homa-gpio 2.8.3 armhf transitional dummy package
ii wb-homa-ism-radio 1.17.3 all MQTT driver for WB HomA for RFM69 ISM radio
ii wb-homa-w1 2.2.1 all transitional dummy package
ii wb-hwconf-manager 1.46.2 all Provides infrastructure for hardware re-configuration via Device Tree overlays
ii wb-knxd-config 1.1.1 all knxd configurator for Wiren Board
ii wb-mcu-fw-flasher 1.0.7 armhf Firmware update tool for Wiren Board Modbus devices (WB-M*)
ii wb-mcu-fw-updater 1.1.1 all Wiren Board modbus devices firmware update tool (python 3)
ii wb-mqtt-adc 2.4.2 armhf Wiren Board Smart Home MQTT ADC driver compatible with HomA conventions
ii wb-mqtt-confed 1.8.0 armhf Wiren Board Configuration Editor Backend
ii wb-mqtt-dac 1.1.4 all wb-rules-based IIO DAC driver for WB MQTT
ii wb-mqtt-db 2.5.3 armhf Wiren Board database logger
ii wb-mqtt-db-cli 1.2.1 all CLI for wb-mqtt-db
ii wb-mqtt-gpio 2.8.3 armhf Wiren Board Smart Home MQTT generic sysfs GPIO driver compatible with HomA conventions
ii wb-mqtt-homeui 2.26.0 all Wiren Board Web UI web interface
ii wb-mqtt-knx 1.4.1 armhf Wiren Board MQTT to KNX gateway
ii wb-mqtt-logs 1.2.0 armhf Wiren Board journald to MQTT gateway
ii wb-mqtt-mbgate 1.1.2 armhf Wiren Board MQTT to Modbus gateway
ii wb-mqtt-metrics 0.1.1 all Wirenboard tool for sending metrics to mqtt-channels
ii wb-mqtt-opcua 1.0.4 armhf Wiren Board MQTT to OPC UA gateway
ii wb-mqtt-serial 2.45.0-wb2 armhf Wiren Board Smart Home MQTT serial protocol driver
ii wb-mqtt-w1 2.2.1 armhf Wiren Board Smart Home MQTT generic 1-Wire (w1) driver compatible with HomA conventions
ii wb-release-info 1.0-stable~wb6+stretch~20220308113706 all release information package for Wirenboard
ii wb-rules 2.11.1 armhf Wiren Board Rule Engine
ii wb-rules-system 1.7.0 all Default system rules for Wiren Board
ii wb-suite 1.8.0 all Wirenboard vendor software set
ii wb-test-suite 1.20 all Wiren Board functional testing suite
ii wb-test-suite-deps 1.8.0 all Wiren Board test-suite dependencies
ii wb-update-manager 1.2.5 all Wirenboard software updates and release management tool
ii wb-utils 3.4.1 all Wiren Board command-line utils
root@wirenboard-AD3XF74:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 980M 499M 414M 55% /
devtmpfs 239M 0 239M 0% /dev
tmpfs 248M 0 248M 0% /dev/shm
tmpfs 248M 532K 247M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 248M 0 248M 0% /sys/fs/cgroup
/dev/mmcblk0p6 1.3G 583M 630M 49% /mnt/data
tmpfs 50M 0 50M 0% /run/user/0
root@wirenboard-AD3XF74:~# dmesg | tail -n 100
[ 8.353254] usb usb1: Product: EHCI Host Controller
[ 8.358165] usb usb1: Manufacturer: Linux 5.10.35-wb105 ehci_hcd
[ 8.364178] usb usb1: SerialNumber: ci_hdrc.0
[ 8.638308] hub 1-0:1.0: USB hub found
[ 8.687528] hub 1-0:1.0: 1 port detected
[ 8.756904] ci_hdrc ci_hdrc.1: EHCI Host Controller
[ 8.819330] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
[ 8.877480] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[ 8.922500] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[ 8.930870] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 8.938127] usb usb2: Product: EHCI Host Controller
[ 8.943014] usb usb2: Manufacturer: Linux 5.10.35-wb105 ehci_hcd
[ 8.949056] usb usb2: SerialNumber: ci_hdrc.1
[ 9.069715] usb usb1-port1: over-current condition
[ 9.203669] hub 2-0:1.0: USB hub found
[ 9.236880] hub 2-0:1.0: 1 port detected
[ 9.647457] usb 2-1: new high-speed USB device number 2 using ci_hdrc
[ 9.870861] usb 2-1: New USB device found, idVendor=0424, idProduct=2514, bcdDevice= b.b3
[ 9.879122] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 9.940904] hub 2-1:1.0: USB hub found
[ 9.962772] hub 2-1:1.0: 4 ports detected
[ 10.108363] Adding 262140k swap on /dev/mmcblk0p5. Priority:-2 extents:1 across:262140k SS
[ 10.337486] usb 2-1.1: new high-speed USB device number 3 using ci_hdrc
[ 10.489097] usb 2-1.1: New USB device found, idVendor=0bda, idProduct=b720, bcdDevice= 2.00
[ 10.497538] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 10.504882] usb 2-1.1: Product: 802.11n WLAN Adapter
[ 10.509890] usb 2-1.1: Manufacturer: Realtek
[ 10.514166] usb 2-1.1: SerialNumber: 00e04c000001
[ 10.777288] Bluetooth: Core ver 2.22
[ 10.786339] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 10.807935] NET: Registered protocol family 31
[ 10.812404] Bluetooth: HCI device and connection manager initialized
[ 10.835592] Bluetooth: HCI socket layer initialized
[ 10.840993] Bluetooth: L2CAP socket layer initialized
[ 10.846320] Bluetooth: SCO socket layer initialized
[ 10.940643] usbcore: registered new interface driver btusb
[ 10.957700] Bluetooth: hci0: RTL: examining hci_ver=06 hci_rev=000b lmp_ver=06 lmp_subver=8723
[ 10.968224] Bluetooth: hci0: RTL: rom_version status=0 version=1
[ 10.974305] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723b_fw.bin
[ 10.984187] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723b_config.bin
[ 10.990787] bluetooth hci0: Direct firmware load for rtl_bt/rtl8723b_config.bin failed with error -2
[ 11.000052] Bluetooth: hci0: RTL: cfg_sz -2, total sz 22496
[ 11.140490] cfg80211: Loaded X.509 cert ‘sforshee: 00b28ddf47aef9cea7’
[ 11.147225] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 11.180824] cfg80211: failed to load regulatory.db
[ 11.593863] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
[ 11.817631] Bluetooth: hci0: RTL: fw version 0x0e2f9f73
[ 11.920966] RTL871X: module init start
[ 11.924848] RTL871X: rtl8723bu v4.3.6.11_12942.20141204_BTCOEX20140507-4E40
[ 11.931894] RTL871X: rtl8723bu BT-Coex version = BTCOEX20140507-4E40
[ 12.203234] systemd-journald[99]: Received request to flush runtime journal from PID 1
[ 12.264381] systemd-journald[99]: File /var/log/journal/f0e6ead98d8730479f97ff005cac8c0f/system.journal corrupted or uncleanly shut down, renaming and replacing.
[ 12.294929] RTL871X: rtw_ndev_init(wlan0)
[ 12.317946] RTL871X: rtw_ndev_init(wlan1)
[ 12.347487] usbcore: registered new interface driver rtl8723bu
[ 12.353348] RTL871X: module init ret=0
[ 12.561847] usbcore: registered new interface driver rtl8xxxu
[ 15.753973] RTL871X: RTW_ADAPTIVITY_EN_
[ 15.753996] AUTO, chplan:0x20, Regulation:3,3
[ 15.762272] RTL871X: RTW_ADAPTIVITY_MODE_
[ 15.762276] NORMAL
[ 16.825897] new mount options do not match the existing superblock, will be ignored
[ 17.468764] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 17.474104] Bluetooth: BNEP filters: protocol multicast
[ 17.587434] Bluetooth: BNEP socket layer initialized
[ 20.817067] RTL871X: nolinked power save enter
[ 24.266781] process ‘/sbin/netplugd’ started with executable stack
[ 25.520417] RTL871X: RTW_ADAPTIVITY_EN_
[ 25.520443] AUTO, chplan:0x20, Regulation:3,3
[ 25.528774] RTL871X: RTW_ADAPTIVITY_MODE_
[ 25.528778] NORMAL
[ 32.465276] RTL871X: nolinked power save leave
[ 32.917630] SMSC LAN8710/LAN8720 2188000.ethernet-2:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=2188000.ethernet-2:00, irq=POLL)
[ 33.680249] Micrel KSZ8081 or KSZ8091 2188000.ethernet-2:03: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=2188000.ethernet-2:03, irq=POLL)
[ 35.679474] RTL871X: nolinked power save enter
[ 42.117936] RTL871X: RTW_ADAPTIVITY_EN_
[ 42.117960] AUTO, chplan:0x20, Regulation:3,3
[ 42.126184] RTL871X: RTW_ADAPTIVITY_MODE_
[ 42.126189] NORMAL
[ 47.940640] RTL871X: nolinked power save leave
[ 48.201969] RTL871X: rtw_set_802_11_connect(wlan0) fw_state=0x00000008
[ 48.361403] RTL871X: start auth
[ 48.367055] RTL871X: auth success, start assoc
[ 48.377187] RTL871X: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
[ 48.384171] RTL871X: assoc success
[ 48.421119] RTL871X: send eapol packet
[ 48.575304] RTL871X: send eapol packet
[ 48.720068] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 48.937758] RTL871X: set pairwise key camid:4, addr:c4:ad:34:9e:5b:aa, kid:0, type:AES
[ 49.110638] RTL871X: set group key camid:5, addr:c4:ad:34:9e:5b:aa, kid:2, type:AES
[ 77.990127] RTL871X: rtw_set_802_11_connect(wlan0) fw_state=0x00000008
[ 78.057166] RTL871X: start auth
[ 78.062004] RTL871X: auth success, start assoc
[ 78.072332] RTL871X: rtw_cfg80211_indicate_connect(wlan0) BSS not found !!
[ 78.079367] RTL871X: assoc success
[ 78.103311] RTL871X: send eapol packet
[ 78.158496] RTL871X: send eapol packet
[ 78.220897] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 78.346887] RTL871X: set pairwise key camid:4, addr:c4:ad:34:9e:5b:aa, kid:0, type:AES
[ 78.400455] RTL871X: set group key camid:5, addr:c4:ad:34:9e:5b:aa, kid:2, type:AES

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнителоьное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение.


У вас WB6.6.0, прошивка wb-2201 wb6/stretch.
Из вывода видно:

  • место на диске в порядке;
  • ошибок ФС (кроме повреждённого журнала) в dmesg нет;
  • пакетов типа wb-hardware действительно нет — вместо них используется wb-hwconf-manager и DT‑оверлеи;
  • из RS‑485 присутствует только /dev/ttyRS485-1.

Т.е. проблема, скорее всего, именно в аппаратной конфигурации (DT‑оверлеи / wb-hwconf-manager), а не в Debian‑репозиториях.

1. Где лежат правила wb-rules и как их сохранить

Правила обычно находятся здесь:

  • системные: /etc/wb-rules/*.js
  • пользовательские (через веб‑морду): /etc/wb-rules/*-user.js или просто в этом же каталоге.

Сделайте бэкап:

tar czf /mnt/backup/wb-rules-backup.tgz /etc/wb-rules

(подставьте путь к вашей флешке/сетевому диску вместо /mnt/backup, если нужно).

Можно ещё отдельно вывести список:

ls -l /etc/wb-rules

и сохранить его.

2. Проверить состояние аппаратной конфигурации (wb-hwconf-manager)

Так как wb-hardware у вас уже давно заменён на wb-hwconf-manager, нужно посмотреть, какие оверлеи сейчас активны и нет ли там ошибок:

wb-hwconf-manager list
wb-hwconf-manager status
journalctl -u wb-hwconf-manager -n 100

Если wb-hwconf-manager выдаст ошибку — пришлите её.

Также полезно посмотреть, какие оверлеи вообще есть:

ls -l /etc/wb-hw-conf.d
cat /etc/wb-hw-conf.d/*.conf

(можно хотя бы первые строки и название файлов, полный дамп не обязателен).

3. Проверить, что делает wb-mqtt-serial и какие порты он видит

wb-mqtt-serial у вас есть и запускается через /etc/init.d/wb-mqtt-serial.

Проверьте его статус и конфигурацию:

service wb-mqtt-serial status
journalctl -u wb-mqtt-serial -n 100
ls -l /etc/wb-mqtt-serial.conf /etc/wb-mqtt-serial.d
cat /etc/wb-mqtt-serial.conf

Нужно понять:

  • на какой именно порт (имя /dev/...) сейчас настроена «отвалившаяся» шина;
  • нет ли ошибок открытия порта в журнале wb-mqtt-serial.

4. Возможные сценарии

По текущей картине вариантов два:

  1. Аппаратная шина реально умерла (например, перегрузка или бросок по линии RS‑485 во время перебоев):

    • в этом случае в системе так и будет только /dev/ttyRS485-1, второго (или нужного) устройства нет вообще;
    • wb-hwconf-manager может не поднимать соответствующий overlay (невалидный DT или контроллер не видит UART).
  2. Оверлей/конфигурация не применены:

    • тогда wb-hwconf-manager list/status покажет, что нужный конфиг не активирован или применён с ошибкой;
    • исправление/переприменение конфигурации может вернуть порт без перепрошивки.

Сейчас по логам видно только EXT4-fs (mmcblk0p6) успешно смонтирован, ошибок по разделу root нет — значит, полная перепрошивка может и не понадобиться, если выяснится, что дело только в конфигурации.


5. Когда ждать инструкции от инженеров

Так как сейчас выходные, инженеры подключатся к вашему диалогу в ближайший рабочий день.
С учётом уже присланного диагностического архива и дополнительной информации (особенно выводов команд из п.2–3) они смогут:

  • либо предложить восстановление конфигурации через wb-hwconf-manager / правку DT‑оверлеев;
  • либо подтвердить необходимость перепрошивки/ремонта, если аппаратная часть порта RS‑485 повреждена.

Пожалуйста, пришлите:

wb-hwconf-manager list
wb-hwconf-manager status
journalctl -u wb-hwconf-manager -n 100
service wb-mqtt-serial status
journalctl -u wb-mqtt-serial -n 100
ls -l /dev/ttyRS*

и укажите, какая именно шина пропала (RS‑485-1, RS‑485-2 на лицевой панели, порт на клеммнике и т.п.) — по физической маркировке на корпусе.


Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.

wb-hwconf-manager list
wb-hwconf-manager status
journalctl -u wb-hwconf-manager -n 100

______________________

root@wirenboard-AD3XF74:~# wb-hwconf-manager list
-bash: wb-hwconf-manager: command not found
root@wirenboard-AD3XF74:~# wb-hwconf-manager status
-bash: wb-hwconf-manager: command not found
root@wirenboard-AD3XF74:~# journalctl -u wb-hwconf-manager -n 100
– Logs begin at Sat 2026-03-28 21:33:29 UTC, end at Sun 2026-03-29 14:57:18 UTC. –
Mar 28 21:43:11 wirenboard-AD3XF74 systemd[1]: Starting Initialize Wiren Board Device Tree overlays…
Mar 28 21:43:19 wirenboard-AD3XF74 systemd[1]: Started Initialize Wiren Board Device Tree overlays.
– Reboot –
Mar 28 21:52:06 wirenboard-AD3XF74 systemd[1]: Starting Initialize Wiren Board Device Tree overlays…
Mar 28 21:52:13 wirenboard-AD3XF74 systemd[1]: Started Initialize Wiren Board Device Tree overlays.
– Reboot –
Mar 29 06:51:53 wirenboard-AD3XF74 systemd[1]: Starting Initialize Wiren Board Device Tree overlays…
Mar 29 06:52:01 wirenboard-AD3XF74 systemd[1]: Started Initialize Wiren Board Device Tree overlays.
– Reboot –
Mar 29 13:19:37 wirenboard-AD3XF74 systemd[1]: Starting Initialize Wiren Board Device Tree overlays…
Mar 29 13:19:43 wirenboard-AD3XF74 systemd[1]: Started Initialize Wiren Board Device Tree overlays.
– Reboot –
Mar 29 13:22:00 wirenboard-AD3XF74 systemd[1]: Starting Initialize Wiren Board Device Tree overlays…
Mar 29 13:22:06 wirenboard-AD3XF74 systemd[1]: Started Initialize Wiren Board Device Tree overlays.
– Reboot –
Mar 29 13:37:24 wirenboard-AD3XF74 systemd[1]: Starting Initialize Wiren Board Device Tree overlays…
Mar 29 13:37:30 wirenboard-AD3XF74 systemd[1]: Started Initialize Wiren Board Device Tree overlays.
– Reboot –
Mar 29 14:22:32 wirenboard-AD3XF74 systemd[1]: Starting Initialize Wiren Board Device Tree overlays…
Mar 29 14:22:40 wirenboard-AD3XF74 systemd[1]: Started Initialize Wiren Board Device Tree overlays.
– Reboot –
Mar 29 14:41:51 wirenboard-AD3XF74 systemd[1]: Starting Initialize Wiren Board Device Tree overlays…
Mar 29 14:41:59 wirenboard-AD3XF74 systemd[1]: Started Initialize Wiren Board Device Tree overlays.

root@wirenboard-AD3XF74:~# ls -l /etc/wb-hw-conf.d
ls: cannot access ‘/etc/wb-hw-conf.d’: No such file or directory

root@wirenboard-AD3XF74:~# service wb-mqtt-serial status
● wb-mqtt-serial.service - MQTT Driver for serial devices
Loaded: loaded (/lib/systemd/system/wb-mqtt-serial.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2026-03-29 14:42:00 UTC; 17min ago
Main PID: 1080 (wb-mqtt-serial)
CGroup: /system.slice/wb-mqtt-serial.service
└─1080 /usr/bin/wb-mqtt-serial

Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial client] device modbus:199 is connected
Mar 29 14:46:36 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, c
Mar 29 14:46:36 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD2, c
Mar 29 14:46:37 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyRS485-2
Mar 29 14:51:36 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, c
Mar 29 14:51:36 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD2, c
Mar 29 14:51:39 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyRS485-2
Mar 29 14:56:36 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, c
Mar 29 14:56:37 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD2, c
Mar 29 14:56:41 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyRS485-2
…skipping…

пропала шина RS485-2 и с модуля расширения

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнителоьное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение.


Сейчас по данным видно:

  • wb-hwconf-manager в системе нет (команда не найдена, каталога /etc/wb-hw-conf.d тоже нет).
  • wb-mqtt-serial запущен и пытается работать сразу с несколькими портами: /dev/ttyMOD1, /dev/ttyMOD2, /dev/ttyRS485-2.
  • Для этих трёх портов идут Serial protocol error, а /dev/ttyRS485-1 ошибок не даёт.
  • В ls -l /dev/ttyRS* вы ранее видели только /dev/ttyRS485-1 → ttymxc1.

То есть:

  1. Логика работы Modbus‑шины (wb-mqtt-serial) и конфигурации сохранена: контроллер «помнит» устройства на /dev/ttyRS485-2 и на модулях (/dev/ttyMOD1/2).
  2. Но сами устройства /dev/ttyRS485-2, /dev/ttyMOD1, /dev/ttyMOD2 как файловые узлы сейчас в системе отсутствуют (потому что вы их не видите в /dev).

Это может быть:

  • либо аппаратная проблема (UART/трансивер RS‑485-2 и шина к модулю расширения физически вышли из строя при скачке);
  • либо «отвалился» слой конфигурации железа (device tree / драйверы), который должен создать эти устройства, а нужный пакет (wb-hwconf-manager) по какой-то причине пропал.

С учётом того, что:

  • /etc/wb-hardware.conf оказался пустым,
  • в системе нет wb-hwconf-manager,
  • часть устройств /dev отсутствует,

очень похоже, что при сбое питания повреждена часть системных пакетов/конфигурации.


1. Проверим, какие символические ссылки сейчас есть в /dev

Пожалуйста, выполните и пришлите вывод:

ls -l /dev/ttyRS*
ls -l /dev/ttyMOD*
ls -l /dev/ttyS*
ls -l /dev/ttymxc*

Это поможет понять, есть ли «сырые» UART’ы (ttymxcN), с которыми раньше связывались /dev/ttyRS485-2 и порты модулей.


2. Посмотреть конфиг wb-mqtt-serial

Нужно проверить, как именно в конфигурации прописаны шины:

cat /etc/wb-mqtt-serial.conf
ls -l /etc/wb-mqtt-serial.d
cat /etc/wb-mqtt-serial.d/*.conf

Достаточно выложить:

  • раздел ports из wb-mqtt-serial.conf (можно замазать адреса устройств, если нужно);
  • какие файлы есть в /etc/wb-mqtt-serial.d и их первые строки.

Это покажет, какие устройства он ожидает и на каких скоростях.


3. Попробуем понять, жив ли сам UART для RS485‑2

Если в выводе ls -l /dev/ttymxc* виден, например, ttymxc2 или ttymxc3, можно вручную попробовать открыть и использовать его как RS‑485‑порт (обходя старые симлинки):

  1. Допустим, вы видите /dev/ttymxc2, а /dev/ttyRS485-2 нет.

  2. Временно создайте симлинк:

    ln -s /dev/ttymxc2 /dev/ttyRS485-2
    
  3. Перезапустите wb-mqtt-serial:

    service wb-mqtt-serial restart
    journalctl -u wb-mqtt-serial -n 50
    
  4. Посмотрите, изменился ли характер ошибок по /dev/ttyRS485-2.
    Если вместо «Serial protocol error» начнут появляться, например, таймауты опроса конкретных устройств — значит UART жив, и проблема только в отсутствии симлинка/DT‑конфига.

Если же подходящего ttymxcN нет вообще, велика вероятность аппаратного сбоя или более серьёзной просадки системных настроек ядра.


4. Про правила wb-rules

Вы уже сделали бэкап всей /etc, но отдельно правила можно сохранить так:

tar czf /mnt/data/wb-rules-backup.tgz /etc/wb-rules
ls -l /etc/wb-rules

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


5. Что, скорее всего, будут рекомендовать инженеры

С учётом:

  • отсутствия wb-hwconf-manager и каталога /etc/wb-hw-conf.d,
  • пустого /etc/apt/sources.list и старых зеркал stretch в отдельных .list,
  • «потерянных» устройств /dev,

поддержка, скорее всего, предложит обновление/перепрошивку контроллера на актуальный образ для WB6 с сохранением ваших пользовательских настроек и последующим восстановлением:

  • это вернёт полный набор пакетов (wb-hwconf-manager, корректные DT‑оверлеи, симлинки /dev/ttyRS485-*, /dev/ttyMOD*);
  • упростит дальнейшую поддержку (Stretch уже очень старый).

Но перед тем, как это решать, важно увидеть вывод из пунктов 1–3, чтобы понять, есть ли шанс временно поднять RS485‑2 «малой кровью» (ручным симлинком / минимальной правкой).


Пожалуйста, пришлите:

ls -l /dev/ttyRS*
ls -l /dev/ttyMOD*
ls -l /dev/ttyS*
ls -l /dev/ttymxc*
cat /etc/wb-mqtt-serial.conf
ls -l /etc/wb-mqtt-serial.d

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

root@wirenboard-AD3XF74:~# ls -l /dev/ttyRS*
lrwxrwxrwx 1 root root 7 Mar 29 14:41 /dev/ttyRS485-1 → ttymxc1
root@wirenboard-AD3XF74:~# ls -l /dev/ttyMOD*
ls: cannot access ‘/dev/ttyMOD*’: No such file or directory
root@wirenboard-AD3XF74:~# ls -l /dev/ttyS*
ls: cannot access ‘/dev/ttyS*’: No such file or directory
root@wirenboard-AD3XF74:~# ls -l /dev/ttymxc*
crw–w---- 1 root tty 207, 16 Mar 29 14:42 /dev/ttymxc0
crw-rw---- 1 root dialout 207, 17 Mar 29 15:05 /dev/ttymxc1

Симлинк

root@wirenboard-AD3XF74:~# ln -s /dev/ttymxc2 /dev/ttyRS485-2
root@wirenboard-AD3XF74:~# service wb-mqtt-serial restart

ывф
service wb-mqtt-serial restart
journalctl -u wb-mqtt-serial -n 50root@wirenboard-AD3XF74:~# journalctl -u wb-mqtt-serial -n 50
– Logs begin at Sat 2026-03-28 21:33:29 UTC, end at Sun 2026-03-29 15:06:54 UTC. –
Mar 29 14:43:12 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [modbus] Init: CO₂ Sensor Enabled: setup register <modb
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:1 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:1 is disconnected
– Logs begin at Sat 2026-03-28 21:33:29 UTC, end at Sun 2026-03-29 15:06:54 UTC. –
Mar 29 14:43:12 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [modbus] Init: CO₂ Sensor Enabled: setup register <modb
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:1 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:1 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:4 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:3 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:2 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:6 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:5 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [modbus] Init: Input 1 set input 1 to 1-wire: setup reg
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:33 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:16 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:89 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:84 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:61 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:55 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:64 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:146 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:13 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:22 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:15 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:85 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial device] device modbus:86 is disconnected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial client] device modbus:60 is connected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial client] device modbus:177 is connected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial client] device modbus:63 is connected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial client] device modbus:86 is connected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial client] device modbus:62 is connected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial client] device modbus:61 is connected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial client] device modbus:68 is connected
Mar 29 14:43:13 wirenboard-AD3XF74 wb-mqtt-serial[1080]: INFO: [serial client] device modbus:199 is connected
Mar 29 14:46:36 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, c
Mar 29 14:46:36 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD2, c
Mar 29 14:46:37 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyRS485-2
Mar 29 14:51:36 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, c
Mar 29 14:51:36 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD2, c
Mar 29 14:51:39 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyRS485-2
Mar 29 14:56:36 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD1, c
Mar 29 14:56:37 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyMOD2, c
Mar 29 14:56:41 wirenboard-AD3XF74 wb-mqtt-serial[1080]: ERROR: [serial client] Serial protocol error: /dev/ttyRS485-2
…skipping…

В общем, ждем ответа живых людей

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнителоьное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение.


Сейчас картина такая:

  • В системе есть только ttymxc0 и ttymxc1; порта ttymxc2 нет, но симлинк /dev/ttyRS485-1 → ttymxc1 присутствует, а ttyRS485-2 вы создали сами, указывая на несуществующий ttymxc2.
  • Устройств /dev/ttyMOD* тоже нет.
  • После создания «ручного» симлинка ttyRS485-2 wb-mqtt-serial перестал ругаться на отсутствие устройства и просто сообщает, что Modbus‑устройства на шине «disconnected» — то есть теперь порт хотя бы открывается с точки зрения драйвера.

Это означает:

  1. Конфигурация wb-mqtt-serial (список устройств и шины) уцелела.
  2. Аппаратный RS‑485‑2 и/или шина к модулю расширения очень вероятно повреждены либо не инициализируются ядром (отсутствует соответствующий UART ttymxc2), поэтому система не создаёт нужные устройства /dev.
  3. Простой правкой конфигов проблему не решить — нет самого аппаратного порта в системе.

То, что RS485‑1 продолжает работать, а RS485‑2 и шина модуля расширения «умерли» одновременно после скачков питания, дополнительно указывает на возможное аппаратное повреждение соответствующей части контроллера.

На этом этапе в удалённом режиме без доступа к JTAG/аппаратной диагностике можно сделать только:

  1. Не оставлять симлинк на несуществующий ttymxc2 как постоянное решение. Это временный костыль исключительно для проверки. Можете его удалить:

    rm /dev/ttyRS485-2
    
  2. Убедиться, что вы сделали резервные копии:

    • /etc (включая /etc/wb-mqtt-serial.conf и /etc/wb-rules);
    • ваших пользовательских файлов на /mnt/data.
  3. Дальнейшие действия будут зависеть от решения инженеров:

    • либо они подтвердят аппаратную неисправность RS‑485‑2/модульной шины и предложат вариант ремонта / замены контроллера;
    • либо (менее вероятно) предложат перепрошивку/восстановление системных пакетов, если по диагностическому архиву увидят признаки программной проблемы.

Вы правильно пишете, что дальше нужен ответ «живых людей»: сейчас мы уже собрали максимум базовой диагностики — инженеры по вашему диагностическому архиву и этой переписке смогут:

  • сверить текущий dts/конфигурацию портов с эталоном для WB 6.6.0;
  • окончательно подтвердить, есть ли шанс программного восстановления, или порт физически неисправен.

Пока ничего критически опасного больше не предпринимайте (не прошивайте образа «наугад» и не меняйте руками системные файлы ядра/DT). Дождитесь ответа поддержки — он должен появиться в ближайший рабочий день в этой теме.


Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.

Здравствуйте!
Бот ошибся, RS485-2 это ttymxc3, не ttymxc2, но проблема не в этом. Симлинк, который вы создавали командой ln -s /dev/ttymxc2 /dev/ttyRS485-2, нужно удалить.

Порты не создаются именно из-за того, что поврежден /etc/wb-hardware.conf.
Попробуйте скопировать содержимое прикрепленного файла в /etc/wb-hardware.conf.
Внутренние модули, которые установлены в контроллере (если установлены), придется конфигурировать заново.
wb-hardware-wb660-draft.conf (2.4 KB)

Добрый день!

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

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

Добрый день! Получилось ли решить вашу проблему? Если нет, можете подключить контроллер к облаку?