Как откатить прошивку Sonoff ZBDongle‑E и «оживить» после неудачной прошивки

Откат прошивки (rollback) Sonoff ZBDongle‑E почти всегда сводится к повторной прошивке корректного образа, а при «кирпиче» — к входу во встроенный Gecko Bootloader и загрузке файла .gbl по XMODEM. Ниже — короткий, рабочий алгоритм, который обычно возвращает донгл к жизни за 10–20 минут.

Оглавление

Что проверить до отката

  1. Уточните тип прошивки, которую хотите получить в итоге:
  • Coordinator (EZSP/Ember) — для ZHA и Zigbee2MQTT.
  • Router — донгл становится роутером и координатором быть не сможет.
  • RCP/Thread/MultiPAN — другой стек, для Zigbee обычно не подходит.
  1. Если донгл ещё работает — сделайте бэкап перед любыми действиями. При смене типа прошивки риск потери сетевых данных заметно выше, чем при откате версии в рамках Coordinator.

  2. Освободите COM-порт: остановите Zigbee2MQTT/ZHA и закройте терминалы (PuTTY/CoolTerm/screen), иначе прошивальщик будет видеть «устройство не отвечает».

Самая частая причина «кирпича» — прошили не «плохую версию», а не тот тип (например, Router вместо Coordinator).

Быстрый rollback через фирменный flasher

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

  1. Подключите донгл напрямую к USB (по возможности без хабов).
  2. Запустите фирменный прошивальщик (WebSerial в Chrome/Edge).
  3. Выберите порт донгла → смену прошивки → тип Zigbee Coordinator.
  4. Выберите более старую версию и прошейте.
  5. Переподключите донгл и проверьте, что ZHA/Z2M используют правильный порт.

Если откат делается ради стабильности, фиксируйте «рабочую» версию (и тип прошивки) в заметках — это ускорит восстановление в будущем.

Восстановление через Gecko Bootloader и XMODEM

Используйте этот способ, если прошивальщик донгл не видит/не шьёт, но COM-порт появляется. Суть: войти в bootloader-меню и отправить .gbl по XMODEM.

Что нужно:

  • файл прошивки .gbl (Coordinator/Router — нужный вам режим);
  • терминал с XMODEM (Windows: CoolTerm/Tera Term; Linux: lrzsz + любой терминал);
  • параметры порта: 115200, 8N1, flow control OFF.

Шаг 1. Войти в bootloader

  1. Откройте serial-терминал на порту донгла (115200 8N1).
  2. Зажмите BOOT.
  3. Коротко нажмите RESET (иногда обе кнопки находятся на плате под корпусом).
  4. Должно появиться меню bootloader.

Шаг 2. Загрузить прошивку по XMODEM

  1. В меню выберите пункт загрузки (часто это клавиша 1) — устройство начнёт печатать C C C... (ожидание XMODEM).
  2. В терминале отправьте файл .gbl методом XMODEM и дождитесь завершения.
  3. Запустите прошивку из меню (часто 2) или просто переподключите донгл.

Linux (пример с lrzsz)

sudo apt update
sudo apt install lrzsz
# когда bootloader печатает CCCC...:
sx firmware.gbl < /dev/ttyACM0 > /dev/ttyACM0

Не используйте «похожие» файлы (bin/hex) вместо .gbl, если ваш метод восстановления ожидает именно .gbl — это типовая причина вечного CCCC... и «прошивка не стартует».

Как понять, что восстановление удалось

  • донгл стабильно появляется как COM/tty;
  • в ZHA/Z2M выбирается как координатор (если прошивали Coordinator);
  • устройства либо подхватываются сразу, либо требуют перепривязки (если сбросилась NVM).

Частые ошибки

  • Порт занят: прошивальщик не подключается → остановите ZHA/Z2M, закройте все терминалы, перезапустите сервис/ПК.
  • Зависание на процентах прошивки: смените USB-порт, уберите хаб, попробуйте USB 2.0; проверьте качественный дата-кабель.
  • Нет прав на /dev/ttyACM0//dev/ttyUSB0 (Linux): добавьте пользователя в группу, которая имеет доступ к порту (часто dialout), перелогиньтесь.
  • После отката «сеть как новая»: чаще всего был сменён тип прошивки или перезаписалась NVM → восстановите бэкап или переподключите устройства.

FAQ

Какой способ выбирать в первую очередь?
Если донгл виден как COM/tty — начинайте с фирменного flasher. Если не помогает — bootloader + XMODEM.

Какая скорость нужна для bootloader?
Обычно 115200 (8N1, без flow control).

Можно ли сделать rollback без потери Zigbee-сети?
Иногда да при откате версии в рамках Coordinator → Coordinator, но гарантии нет. Бэкап перед прошивкой — обязательная привычка.

Почему после прошивки донгл не координатор?
Почти всегда выбран не тот образ: прошили Router или RCP вместо Coordinator. Перепрошейте корректный тип (Coordinator/EZSP).