Не запускается zigbee2mqtt, отсутствует порт ttyMOD4

Добрый день.

Не получается запустить zigbee2mqtt. Порт ttyMOD4 отсутствует.
У меня WBE2R-R-ZIGBEE v.2 (в MOD-4) Версия/партия устройства - v2.3 U1

Взял REFB WB6.9, был на 2207 обновил через apt до 2401 и далее до testing через fib с расширением партиции. Работало или нет до обновлений - мне не известно, возможно в логах есть. Пытаюсь запустить zigbee.

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

Jan 30 10:58:08 wirenboard-A4VEY6PY npm[19167]: Zigbee2MQTT:error 2024-01-30 10:58:08: Error while starting zigbee-herdsman
Jan 30 10:58:08 wirenboard-A4VEY6PY npm[19167]: Zigbee2MQTT:error 2024-01-30 10:58:08: Failed to start zigbee
Jan 30 10:58:09 wirenboard-A4VEY6PY npm[19167]: Zigbee2MQTT:error 2024-01-30 10:58:09: Error: Error while opening serialport ‘Error: Error: No such file or directory, cannot open /dev/ttyMOD4
/etc/wb-hardware.conf
{
“mod1”: {
“module”: “wbe2-di-dr-3”,
“options”: {}
},
“mod2”: {
“module”: “wbe2-do-r6c-1”,
“options”: {}
},
“mod4”: {
“module”: “wbe2r-r-zigbee”,
“options”: {}
},
“w1”: {
“module”: “wb6-wx-di”,
“options”: {}
},
“w2”: {
“module”: “wb6-wx-di”,
“options”: {}
}
}
root@wirenboard-A4VEY6PY:~# ls -l /dev/ttym*
crw–w---- 1 root tty     207, 16 Jan 30 01:33 /dev/ttymxc0
crw-rw---- 1 root dialout 207, 17 Jan 30 10:56 /dev/ttymxc1
crw-rw---- 1 root dialout 207, 19 Jan 30 01:33 /dev/ttymxc3
crw-rw---- 1 root dialout 207, 22 Jan 30 01:33 /dev/ttymxc6
root@wirenboard-A4VEY6PY:~# ls -l /dev/ttyM*
lrwxrwxrwx 1 root root 7 Jan 30 01:33 /dev/ttyMOD3 → ttymxc6

Добрый день.
Снимите верхнюю крышку контроллера и пришлите фото установки модуля.
Что установлено у вас в третьем слоте (/dev/ttyMOD3)?

1 лайк




Ничего не установлено в треть слоте (/dev/ttyMOD3).

root@wirenboard-A4VEY6PY:~# service wb-hwconf-manager restart
root@wirenboard-A4VEY6PY:~# service wb-hwconf-manager status
● wb-hwconf-manager.service - Initialize Wiren Board Device Tree overlays
     Loaded: loaded (/lib/systemd/system/wb-hwconf-manager.service; enabled; vendor preset: enabled)
     Active: active (exited) since Tue 2024-01-30 14:13:34 MSK; 15s ago
    Process: 23203 ExecStart=/usr/lib/wb-hwconf-manager/init.sh (code=exited, status=0/SUCCESS)
   Main PID: 23203 (code=exited, status=0/SUCCESS)
        CPU: 5.394s

Jan 30 14:13:25 wirenboard-A4VEY6PY systemd[1]: Starting Initialize Wiren Board Device Tree overlays...
Jan 30 14:13:33 wirenboard-A4VEY6PY init.sh[23544]: Module wb67-mod1:wbe2-di-dr-3 already initialized.
Jan 30 14:13:33 wirenboard-A4VEY6PY init.sh[23544]: Module wb67-mod2:wbe2-do-r6c-1 already initialized.
Jan 30 14:13:33 wirenboard-A4VEY6PY init.sh[23544]: Module wb67-mod4:wbe2r-r-zigbee already initialized.
Jan 30 14:13:34 wirenboard-A4VEY6PY init.sh[23544]: Module wb67-rs485-1:wb67-can-rs485 already initialized.
Jan 30 14:13:34 wirenboard-A4VEY6PY init.sh[23544]: Module wb67-rs485-2:wb67-can-rs485 already initialized.
Jan 30 14:13:34 wirenboard-A4VEY6PY init.sh[23544]: Module wb67-w1:wb6-wx-di already initialized.
Jan 30 14:13:34 wirenboard-A4VEY6PY init.sh[23544]: Module wb67-w2:wb6-wx-di already initialized.
Jan 30 14:13:34 wirenboard-A4VEY6PY systemd[1]: Finished Initialize Wiren Board Device Tree overlays.

Не помогает.

cat /sys/kernel/debug/gpio

 gpiochip0: GPIOs 0-31, parent: platform/209c000.gpio, 209c000.gpio:
 gpio-9   (MOD2 RTS            |wb-mqtt-gpio        ) out lo 
 gpio-10  (MOD2 TX MUXED       |mod2_sda_pullup     ) in  lo ACTIVE LOW
 gpio-24  (MOD1 TX             |wb-mqtt-gpio        ) in  lo 
 gpio-25  (MOD1 RX             |wb-mqtt-gpio        ) in  lo 
 gpio-26  (MOD1 RTS            |wb-mqtt-gpio        ) in  lo 


gpiochip2: GPIOs 64-95, parent: platform/20a4000.gpio, 20a4000.gpio:
 gpio-64  (MOD4 RTS            )
 gpio-85  (MOD4 TX             )
 gpio-86  (MOD4 RX             )

gpiochip3: GPIOs 96-127, parent: platform/20a8000.gpio, 20a8000.gpio:
 gpio-113 (MOD3 TX             )
 gpio-114 (MOD3 RX             )
 gpio-115 (MOD3 RTS            )
 gpio-117 (MOD2 TX             )
 gpio-118 (MOD2 RX             )
 gpio-121 (MOD4 SPI SCK        )
 gpio-122 (MOD4 SPI CS         )
 gpio-123 (MOD4 SPI MOSI       )
 gpio-124 (MOD4 SPI MISO       )

GPIO как то должны быть заняты?

Давайте попробуем следующее:

  1. Через веб-интерфейс в настройках wb-hardware.conf для всех слотов расширения (MODx) выберите “не установлен”. Сохраните. Далее покажите вывод команды: ls -l /dev/ttyM*
  2. Через веб-интерфейс в настройках wb-hardware.conf для слота расширения MOD4 выберите “WBE2R-R-ZIGBEE: интерфейс ZigBee”. Сохраните. Далее покажите вывод команды: ls -l /dev/ttyM*
1 лайк
  1. Сделал.
root@wirenboard-A4VEY6PY:~# ls -l /dev/ttyM*
ls: cannot access '/dev/ttyM*': No such file or directory
root@wirenboard-A4VEY6PY:~# cat /etc/wb-hardware.conf
{
    "w1": {
        "module": "wb6-wx-di",
        "options": {}
    },
    "w2": {
        "module": "wb6-wx-di",
        "options": {}
    }
}
  1. Так же сделал
root@wirenboard-A4VEY6PY:~# ls -l /dev/ttyM*
lrwxrwxrwx 1 root root 7 Jan 30 16:14 /dev/ttyMOD3 -> ttymxc6
root@wirenboard-A4VEY6PY:~# cat /etc/wb-hardware.conf
{
    "mod4": {
        "module": "wbe2r-r-zigbee",
        "options": {}
    },
    "w1": {
        "module": "wb6-wx-di",
        "options": {}
    },
    "w2": {
        "module": "wb6-wx-di",
        "options": {}
    }
}

Для эксперимента указал ttyMOD3 в конфиге zigbee2mqtt

Jan 30 16:16:27 wirenboard-A4VEY6PY systemd[1]: Started zigbee2mqtt.
Jan 30 16:16:41 wirenboard-A4VEY6PY npm[25288]: > zigbee2mqtt@1.35.1 start
Jan 30 16:16:41 wirenboard-A4VEY6PY npm[25288]: > node index.js
Jan 30 16:16:46 wirenboard-A4VEY6PY npm[25336]:                 Zigbee2MQTT requires node version ^18 || ^20 || ^21, you are running v16.18.1!
Jan 30 16:17:35 wirenboard-A4VEY6PY npm[25336]: Zigbee2MQTT:info  2024-01-30 16:17:35: Logging to console and directory: '/mnt/data/root/zigbee2mqtt/data/log/2024-01-30.16-17-35' filename: >
Jan 30 16:17:36 wirenboard-A4VEY6PY npm[25336]: Zigbee2MQTT:info  2024-01-30 16:17:36: Starting Zigbee2MQTT version 1.35.1 (commit #9eaaa0f9)
Jan 30 16:17:36 wirenboard-A4VEY6PY npm[25336]: Zigbee2MQTT:info  2024-01-30 16:17:36: Starting zigbee-herdsman (0.30.0)
Jan 30 16:18:04 wirenboard-A4VEY6PY npm[25336]: Zigbee2MQTT:error 2024-01-30 16:18:04: Error while starting zigbee-herdsman
Jan 30 16:18:04 wirenboard-A4VEY6PY npm[25336]: Zigbee2MQTT:error 2024-01-30 16:18:04: Failed to start zigbee
Jan 30 16:18:05 wirenboard-A4VEY6PY npm[25336]: Zigbee2MQTT:error 2024-01-30 16:18:05: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible so>
Jan 30 16:18:05 wirenboard-A4VEY6PY npm[25336]: Zigbee2MQTT:error 2024-01-30 16:18:05: Exiting...
Jan 30 16:18:06 wirenboard-A4VEY6PY npm[25336]: Zigbee2MQTT:error 2024-01-30 16:18:06: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
Jan 30 16:18:06 wirenboard-A4VEY6PY npm[25336]:     at ZStackAdapter.start (/mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:103:27)
Jan 30 16:18:06 wirenboard-A4VEY6PY npm[25336]:     at Controller.start (/mnt/data/root/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/controller.ts:132:29)
Jan 30 16:18:06 wirenboard-A4VEY6PY npm[25336]:     at Zigbee.start (/mnt/data/root/zigbee2mqtt/lib/zigbee.ts:60:27)
Jan 30 16:18:06 wirenboard-A4VEY6PY npm[25336]:     at Controller.start (/mnt/data/root/zigbee2mqtt/lib/controller.ts:98:27)
Jan 30 16:18:06 wirenboard-A4VEY6PY npm[25336]:     at start (/mnt/data/root/zigbee2mqtt/index.js:107:5)
Jan 30 16:18:06 wirenboard-A4VEY6PY systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=1/FAILURE
Jan 30 16:18:06 wirenboard-A4VEY6PY systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
Jan 30 16:18:06 wirenboard-A4VEY6PY systemd[1]: zigbee2mqtt.service: Consumed 48.072s CPU time.

Добрый день.
Извините за долгий ответ.
Покажите вывод команды fuser -a -v /dev/ttymxc*, чтобы посмотреть чем заняты порты.
Также давайте попробуем установить модуль в MOD1 и настроить его на нем.
Я бы пока что остановил zigbee2mqtt. Установил бы модуль в первый порт (/dev/ttyMOD1). Настроил бы wb-hardware.conf. Проверил бы командой ls -l /dev/ttyM*, что появилось устройство, где мы его ожидаем и только потом пробовал запустить zigbee2mqtt. После пришлите диагностический архив и покажите файл настройки /mnt/data/root/zigbee2mqtt/data/configuration.yaml.

1 лайк

Первая часть задачи (до изменений):

root@wirenboard-A4VEY6PY:~# fuser -a -v /dev/ttymxc*
                     USER        PID ACCESS COMMAND
/dev/ttymxc0:        root       1711 F.... agetty
/dev/ttymxc1:        root       1589 F.... wb-mqtt-serial
/dev/ttymxc3:        root       1589 F.... wb-mqtt-serial
/dev/ttymxc6:

Вечером проведу работы по перестановке модуля и отвечу на оставшиеся вопросы.

Здесь пока я вижу два момента: не поднимается zigbee2mqtt и странно (для меня) отрабатывает конфигурационник wb-hardware.conf.
Также перед предложенными действиями можно установить в первый порт (/dev/ttyMOD1) модуль расширения WBE2-DO-R6C-1, настроить и убедиться, что реле нормально отрабатывает.

1 лайк

zigbee2mqtt действительно мной отключен (disable)
Вот лог при запущенном:

root@wirenboard-A4VEY6PY:~# systemctl status zigbee2mqtt
● zigbee2mqtt.service - zigbee2mqtt
     Loaded: loaded (/lib/systemd/system/zigbee2mqtt.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2024-02-01 11:56:56 MSK; 27s ago
   Main PID: 13924 (npm start)
      Tasks: 19 (limit: 2364)
     Memory: 45.9M
        CPU: 15.606s
     CGroup: /system.slice/zigbee2mqtt.service
             ├─13924 npm start
             ├─14015 sh -c -- node index.js
             └─14016 node index.js

Feb 01 11:56:56 wirenboard-A4VEY6PY systemd[1]: Started zigbee2mqtt.
Feb 01 11:57:10 wirenboard-A4VEY6PY npm[13924]: > zigbee2mqtt@1.35.1 start
Feb 01 11:57:10 wirenboard-A4VEY6PY npm[13924]: > node index.js
Feb 01 11:57:15 wirenboard-A4VEY6PY npm[14016]:                 Zigbee2MQTT requires node version ^18 || ^20 || ^21, you are runnin>
root@wirenboard-A4VEY6PY:~# fuser -a -v /dev/ttymxc*
                     USER        PID ACCESS COMMAND
/dev/ttymxc0:        root       1711 F.... agetty
/dev/ttymxc1:        root       1589 F.... wb-mqtt-serial
/dev/ttymxc3:        root       1589 F.... wb-mqtt-serial
/dev/ttymxc6:
root@wirenboard-A4VEY6PY:~#

Через какое то время zigbee2mqtt падает: Process: 14837 ExecStart=/usr/bin/npm start (code=exited, status=1/FAILURE)

модуль расширения WBE2-DO-R6C-1 работает штатно - MOD2_OUT1 щелкает при переключении в разделе “устройства”.

Ок, займусь аппаратными перестановками и тестированием.

Кстати, с момента обновления системы с 2207 до 2401 (в 22 часа, 29.01) и до тестинг у меня так:

Если что, то контроллер подключен к облаку и не используется.

Ожидаю вывод следующего:

wb-hwconf-helper deinit wb6-extio4

Ну и

wb-hwconf-helper init wb6-extio4 wbe2r-r-zigbee
root@wirenboard-A4VEY6PY:~# wb-hwconf-helper deinit wb6-extio4
Slot wb6-extio4 is not in use ... (warning).
root@wirenboard-A4VEY6PY:~# wb-hwconf-helper init wb6-extio4 wbe2r-r-zigbee
Initializing wb6-extio4:wbe2r-r-zigbee.
Error: <stdin>:6.12-13 syntax error
FATAL ERROR: Unable to parse input tree
Device Tree overlay building failed ... failed!
root@wirenboard-A4VEY6PY:~#

Я ошибся, верная команда выглядит как:

wb-hwconf-helper init wb67-mod4 wbe2r-r-zigbee

Ну и после ее успешного выполнения покажите

ls -l /dev/ttyM*
root@wirenboard-A4VEY6PY:~# wb-hwconf-helper deinit wb67-mod4
Deinitializing wb67-mod4:wbe2r-r-zigbee.
root@wirenboard-A4VEY6PY:~# wb-hwconf-helper init wb67-mod4 wbe2r-r-zigbee
Initializing wb67-mod4:wbe2r-r-zigbee.
root@wirenboard-A4VEY6PY:~# ls -l /dev/ttyM*
lrwxrwxrwx 1 root root 7 Feb  1 17:52 /dev/ttyMOD3 -> ttymxc6

Да, так тоже делал. По инструкции от сюда - Настройка wb-hardware.conf из терминала

Если указать этот порт в настройках z2m?

Сделал так - выше, #9

Мне почему-то кажется что при какой-то итерации был использован fit не от текущей версии контрорллера.
Поэтому - сделайте пожалуйста factory reset актуальным образом именно для 6.x

2 лайка

Переставил модуль в MOD2. Заработал.

root@wirenboard-A4VEY6PY:~# fuser -a -v /dev/ttyM*
                     USER        PID ACCESS COMMAND
/dev/ttymxc4:        root      22888 F.... node
root@wirenboard-A4VEY6PY:~# fuser -a -v /dev/ttymxc*
                     USER        PID ACCESS COMMAND
/dev/ttymxc0:        root       1797 F.... agetty
/dev/ttymxc1:        root       1659 F.... wb-mqtt-serial
/dev/ttymxc3:        root       1659 F.... wb-mqtt-serial
/dev/ttymxc4:        root      22888 F.... node

Screenshot 2024-02-02 003750

BrainRoot, похоже, что Вы правы. Я взял не 67, а 6x fit. Перешью.

Если будет возможность, дополните файл https://fw-releases.wirenboard.com/fit_image/README.txt
Там все правильно, но можно чуть больше дополнить.

UPD:
Поставил модули в изначальную конфигурацию. Zigbee в MOD4, теперь работает.

root@wirenboard-A4VEY6PY:~# fuser -a -v /dev/ttymxc*
                     USER        PID ACCESS COMMAND
/dev/ttymxc0:        root       1601 F.... agetty
/dev/ttymxc1:        root       1481 F.... wb-mqtt-serial
/dev/ttymxc3:        root       1481 F.... wb-mqtt-serial
/dev/ttymxc6:
root@wirenboard-A4VEY6PY:~# ls -l /dev/ttyM*
lrwxrwxrwx 1 root root 7 Feb  2 06:54 /dev/ttyMOD4 -> ttymxc6
2 лайка