Ошибка failed to connect to the adapter, error SRSP SYS ping after 6000ms означает, что Zigbee2MQTT отправил адаптеру тестовый запрос SYS ping, но не дождался ответа в течение 6 секунд — координатор физически подключён, однако по последовательному порту не отвечает. Чаще всего проблема возникает на стиках семейства CC2531, CC2652, CC1352 и их клонах при запуске или перезапуске сервиса.
Конкретных причин несколько: неверно указан порт, порт занят другим процессом, адаптер завис, прошивка координатора не соответствует типу устройства или неисправен USB-кабель. Ниже разберём диагностику по шагам — от простых проверок к более сложным.
Что означает ошибка SRSP SYS ping
Стек Z-Stack от Texas Instruments использует протокол обмена сообщениями SRSP (Synchronous Response): хост отправляет команду и ждёт синхронный ответ. Команда SYS ping — самая первая проверка связи при старте Zigbee2MQTT. Таймаут в 6000 мс срабатывает, когда адаптер молчит: либо до него не дошёл запрос, либо он не смог ответить.
Важно понимать: ошибка возникает до начала работы Zigbee-сети. Устройства в сети, карта сети и привязки здесь ни при чём — проблема находится на участке «сервер → USB-порт → чип координатора».
Проверка порта адаптера
Самая частая причина — неправильно указанный порт в конфигурации. Откройте файл configuration.yaml (или настройки аддона) и проверьте секцию serial:
serial:
port: /dev/serial/by-id/usb-Texas_Instruments_...
Использовать путь вида /dev/ttyUSB0 или /dev/ttyACM0 нежелательно: нумерация портов может меняться после перезагрузки или переподключения устройств. Надёжнее указывать постоянный путь через /dev/serial/by-id/, который привязан к конкретному устройству.
- 🔍 Выполните
ls -l /dev/serial/by-id/и убедитесь, что адаптер виден в системе. - 🔌 Переподключите стик и проверьте вывод
dmesg— там должно быть сообщение о подключении USB-устройства. - 📋 Сверьте скопированный путь с тем, что указан в конфигурации, — опечатка в одном символе даёт именно эту ошибку.
- 🖥️ На Windows проверьте номер COM-порта в Диспетчере устройств.
Порт занят другим процессом
Последовательный порт — эксклюзивный ресурс: его может использовать только один процесс. Если рядом работает установленный вручную экземпляр Zigbee2MQTT, старый контейнер Docker, Moquitto-клиенты с прямым доступом или другое ПО для Zigbee, адаптер окажется заблокирован.
Проверить, кто держит порт, можно командой:
sudo lsof /dev/ttyUSB0
Если процесс найден — остановите его и перезапустите Zigbee2MQTT. Особенно часто конфликт возникает при переходе с аддона Home Assistant на Docker или обратно, когда старый экземпляр остался запущенным.
⚠️ Внимание: не запускайте два экземпляра Zigbee2MQTT с одним адаптером одновременно — это гарантированно приводит к ошибке SRSP и может нарушить работу сети.
Зависший адаптер и проблемы с питанием
Координаторы на базе CC2531 и подобных чипов могут зависать после скачков питания или некорректного завершения работы. Помогает простое действие: извлеките адаптер из USB-порта, подождите 10–15 секунд и вставьте снова, затем перезапустите сервис.
Отдельная тема — качество подключения. Дешёвые USB-удлинители и перегруженные USB-хабы без внешнего питания вызывают просадки напряжения, из-за которых чип работает нестабильно. При этом радиопомехи от портов USB 3.0 могут глушить Zigbee-диапазон 2,4 ГГц, поэтому адаптер рекомендуют подключать через короткий качественный удлинитель и относить от корпуса сервера.
Чек-лист диагностики
Пройдитесь по пунктам последовательно — в большинстве случаев причина находится на первых трёх шагах.
☑️ Диагностика SRSP SYS ping
Если после всех пунктов ошибка сохраняется, вероятнее всего дело в прошивке координатора или в аппаратной неисправности стика.
Несоответствие прошивки и типа адаптера
Для чипов CC2652/CC1352 в конфигурации иногда требуется явно указать adapter: zstack, а для старых CC2530/CC2531 настройки отличаются. Если адаптер прошит прошивкой роутера вместо прошивки координатора, он физически определяется системой, но на команды стека отвечать не будет — и вы получите тот же таймаут.
Проверьте, какая прошивка залита в стик, и при необходимости перепрошейте его актуальной прошивкой координатора. Перед перепрошивкой сверьтесь с документацией Zigbee2MQTT: там указаны рекомендуемые версии прошивок для каждого типа чипа. Учтите, что смена прошивки на другую мажорную версию может потребовать повторного спаривания устройств сети.
⚠️ Внимание: перепрошивка — необратимая операция при неправильном выборе файла. Используйте только прошивки, предназначенные именно для вашей модели адаптера и ревизии платы.
Как узнать текущую прошивку адаптера
Если адаптер отвечает, версия прошивки видна в логе Zigbee2MQTT при успешном старте и на странице «Настройки → О программе» в веб-интерфейсе. Если адаптер молчит, определить прошивку программно нельзя — ориентируйтесь на то, чем прошивали стик ранее, либо перепрошейте заведомо корректной версией.
Аппаратные причины
Если программные проверки исчерпаны, остаются аппаратные варианты. Подключите адаптер к другому компьютеру: если и там он не определяется или не отвечает, стик, вероятно, неисправен. Для CC2531 также проверьте, не перегревается ли корпус — перегрев дешёвых клонов приводит к нестабильной работе.
| Симптом | Вероятная причина | Действие |
|---|---|---|
| Адаптера нет в by-id | Неисправен стик или порт | Проверить на другом ПК |
| Порт есть, ответа нет | Зависание или прошивка роутера | Переподключить, перепрошить |
| Ошибка после перезагрузки | Сменился номер порта | Использовать путь by-id |
| Ошибка периодическая | Питание, кабель, помехи USB 3.0 | Заменить удлинитель, отнести стик |
| Ошибка после обновления | Несовместимость прошивки | Обновить прошивку координатора |
Часто задаваемые вопросы
Ошибка появилась после обновления Zigbee2MQTT — что делать?
Проверьте, не изменились ли требования к прошивке координатора в новой версии. Сверьте свой чип и версию прошивки с документацией, при необходимости обновите прошивку адаптера.
Поможет ли сброс Zigbee-сети?
Нет. Ошибка SRSP возникает до инициализации сети, поэтому сброс сети или удаление устройств ничего не даст — нужно восстановить связь с самим адаптером.
Почему порт /dev/ttyUSB0 перестал работать после перезагрузки?
Нумерация USB-портов не гарантирована: при наличии нескольких USB-устройств номера могут поменяться. Укажите в конфигурации постоянный путь через /dev/serial/by-id/.
Может ли быть виноват USB-удлинитель?
Да. Длинные или некачественные кабели вызывают просадки питания. Проверьте адаптер, подключив его напрямую к порту, а для постоянной работы используйте короткий экранированный удлинитель.
Адаптер определяется, но молчит даже после перепрошивки. Он сломан?
Возможно. Финальная проверка — подключение к другому компьютеру. Если и там адаптер не отвечает на корректной прошивке, вероятна аппаратная неисправность чипа или его обвязки.