Оживляем ZBDongle‑E: пошаговое восстановление после brick
Если Sonoff ZBDongle‑E «окирпичился» и не определяется, чаще всего его можно восстановить: сначала добиваемся появления USB/COM‑порта, затем заходим в Gecko Bootloader и заливаем прошивку .GBL по XMODEM. Полный «труп» — редкость.
Оглавление
Быстрая диагностика по симптомам
- Вообще не появляется в системе (нет нового USB‑устройства, нет COM/
/dev/tty*) — чаще виноваты кабель/порт/питание, реже железо. - COM/tty есть, но Zigbee‑стек не видит донгл — обычно драйвер, занятый порт или «не та» прошивка.
- Видите меню Gecko Bootloader — отличный сценарий: восстановление почти всегда возможно через XMODEM.
Шаг 1. Проверка USB (кабель, порт, питание)
- Возьмите другой кабель, именно data‑кабель (очень частая причина “не определяется”).
- Подключите напрямую в порт ПК, без USB‑хаба; при возможности попробуйте USB 2.0.
- Проверьте на другом компьютере/ОС — важно понять, есть ли вообще USB‑перечисление.
Если донгл не определяется нигде (разные кабели, порты, ПК), прошивка уже не поможет: это похоже на аппаратную проблему (разъём, USB‑UART мост, питание, повреждение).
Шаг 2. Драйвер и USB-UART: CH9102 или CP210x
У ZBDongle‑E встречаются разные USB‑UART мосты (в зависимости от партии), чаще всего CH9102 или CP210x. Если поставить «чужой» драйвер, бывают ошибки вида “Code 10”, пропадающий COM‑порт и нестабильная работа.
Что сделать в Windows:
- Откройте Диспетчер устройств → найдите устройство, появившееся при подключении донгла.
- Посмотрите, как оно определяется (упоминание CH9102/CP210x или «USB‑Serial»).
- Переустановите подходящий драйвер — после этого должен появиться стабильный COM‑порт.
В Linux обычно достаточно того, что появляется /dev/ttyUSB0 или /dev/ttyACM0 (драйвер в ядре), но важно проверить права на порт и что устройство не «отваливается».
Шаг 3. Самый простой способ: прошивка через CLI-флешер
Если донгл видится как COM/tty, часто быстрее всего прошить его утилитой‑флешером для Silicon Labs, которая умеет:
- сбросить донгл в бутлоадер через линии RTS/DTR,
- залить файл прошивки формата .gbl.
Пример логики команды (смысл важнее названия утилиты):
flasher --device /dev/ttyUSB0 --bootloader-reset rts_dtr flash --firmware firmware.gbl
Перед прошивкой закройте всё, что держит порт: Zigbee2MQTT/ZHA, аддоны, терминалы, IDE. «Занятый COM» — причина №1, почему флешер “не коннектится”.
Шаг 4. Ремонтный способ: Gecko Bootloader + XMODEM
Этот способ выручает, когда автоматическая прошивка не цепляется, но донгл хотя бы показывает бутлоадер.
Вход в Gecko Bootloader
- Откройте любой serial‑терминал на COM/tty донгла.
- Параметры: 115200, 8N1, Flow control = None.
- Зажмите BOOT, нажмите RESET (RST), держите BOOT до появления меню.
Обычно в меню есть пункт вида “upload gbl”.
Прошивка .GBL через XMODEM
- В меню бутлоадера выберите Upload (часто это клавиша
1). - Терминал начнёт ожидание XMODEM (часто печатает
C C C ...). - Отправьте файл
firmware.gblчерез XMODEM Send (в вашем терминале). - Дождитесь сообщения о завершении и выберите Run (часто
2) или перезагрузите донгл.
Linux‑вариант (если установлен lrzsz):
sx firmware.gbl < /dev/ttyACM0 > /dev/ttyACM0
Если вы не успели начать XMODEM‑передачу, бутлоадер может вернуться в меню. Это нормально: снова выбирайте Upload и повторяйте отправку.
Как не получить повторный brick (выбор прошивки)
- Убедитесь, что прошивка именно для ZBDongle‑E / EFR32 и имеет формат .GBL.
- Не путайте режимы/семейства прошивок (например, NCP/EZSP vs RCP) — выбирайте то, что поддерживает ваш софт.
- Избегайте сборок, которым обязательно нужен hardware flow control (RTS/CTS), если ваша конфигурация/плата его не использует: это выглядит как «прошился, но не работает».
Частые ошибки
- Пытаются прошивать ZBDongle‑E как донглы на CC2652 (это другой чип и другой подход).
- Неверный драйвер USB‑UART (CH9102 vs CP210x) → ошибки устройства и «пропадающий» COM.
- В терминале включён Flow control, из‑за чего не получается войти в бутлоадер или срывается передача.
- COM/tty занят сервисом Zigbee (прошивальщик видит таймаут).
- Отправляют не
.gbl, а другой формат или файл не для своей модели.
FAQ
Если донгл определяется как COM, это уже не brick?
Это «мягкий brick»: чаще всего спасается прошивкой через флешер или через Gecko Bootloader + XMODEM.
Какая скорость нужна для бутлоадера?
Типично 115200 8N1, без управления потоком.
Что делать, если вообще нет USB‑устройства?
Сначала исключить кабель/порт/хаб. Если на нескольких ПК донгл не появляется вовсе — вероятна аппаратная неисправность, и программное восстановление не сработает.