Оживляем ZBDongle‑E: пошаговое восстановление после brick

Если Sonoff ZBDongle‑E «окирпичился» и не определяется, чаще всего его можно восстановить: сначала добиваемся появления USB/COM‑порта, затем заходим в Gecko Bootloader и заливаем прошивку .GBL по XMODEM. Полный «труп» — редкость.

Оглавление

Быстрая диагностика по симптомам

  1. Вообще не появляется в системе (нет нового USB‑устройства, нет COM//dev/tty*) — чаще виноваты кабель/порт/питание, реже железо.
  2. COM/tty есть, но Zigbee‑стек не видит донгл — обычно драйвер, занятый порт или «не та» прошивка.
  3. Видите меню 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

  1. Откройте любой serial‑терминал на COM/tty донгла.
  2. Параметры: 115200, 8N1, Flow control = None.
  3. Зажмите BOOT, нажмите RESET (RST), держите BOOT до появления меню.

Обычно в меню есть пункт вида “upload gbl”.

Прошивка .GBL через XMODEM

  1. В меню бутлоадера выберите Upload (часто это клавиша 1).
  2. Терминал начнёт ожидание XMODEM (часто печатает C C C ...).
  3. Отправьте файл firmware.gbl через XMODEM Send (в вашем терминале).
  4. Дождитесь сообщения о завершении и выберите 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‑устройства?

Сначала исключить кабель/порт/хаб. Если на нескольких ПК донгл не появляется вовсе — вероятна аппаратная неисправность, и программное восстановление не сработает.