Шаг за шагом: безопасная прошивка Zigbee‑координатора

Коротко: прошивка выполняется через CC‑Debugger для CC2531, через serial bootloader (cc2538‑bsl / llama‑bsl) для CC26x/CC2652 или через фирменный flasher/GUI для ConBee; перед записью обязательно сохранить NVRAM/IEEE и сделать конфиг‑бэкап.

Перед прошивкой отключите питание от критичных устройств сети и убедитесь в физическом доступе к донглу на случай отката или входа в Bootloader.

Какие координаторы и методы прошивки существуют

  • CC2531 / CC2530 (старые 8051): обычно через CC‑Debugger + downloader cable или через Arduino/ESP с веб‑флешером. Требуют SmartRF/CC‑Debugger или XZG‑web.
  • CC26x / CC2652 / CC1352 (ARM): прошивка через ROM serial bootloader (cc2538‑bsl / llama‑bsl) по USB‑TTL; многие донглы поддерживают удержание BSL‑кнопки.
  • ConBee / ConBee II: фирменный Flasher/GUI и OTA‑обновления; обычно самый простой путь — официальный инструмент.

Подготовка перед прошивкой (обязательно)

  • Скопируйте конфиг вашего Zigbee‑стека (Zigbee2MQTT, ZHA, deCONZ).
  • Считайте и сохраните IEEE (MAC) координатора и NVRAM/EEPROM, если инструмент это поддерживает — это предотвратит потерю привязки устройств.
  • Скачайте проверенную прошивку, соответствующую модели и ревизии платы. Ошибочная прошивка может заблокировать адаптер.
  • Подготовьте программатор и кабели, установите драйверы (особенно на Windows).

Пошаговая инструкция для большинства случаев

  1. Определите модель донгла (по маркировке или в логах Zigbee‑софтa).
  2. Подготовьте файл прошивки (.hex/.bin) подходящий для вашей платы.
  3. Подключите программатор:
    • CC2531: CC‑Debugger + downloader cable или Arduino/ESP + веб‑флешер.
    • CC26x/CC2652: удерживайте BSL‑кнопку при подключении или переведите в BSL последовательностью производителя.
  4. Запустите софт:
    • Для CC2531/8051 — SmartRF Flash Programmer (GUI) на Windows.
    • Для ARM‑чипов — cc2538‑bsl.py / llama‑bsl (Python). Пример команды:
      python3 cc2538-bsl.py -ewv -p /dev/ttyUSB0 ./CC2652_coordinator.hex
  5. Дождитесь сообщений Verified / Success. Подключите донгл к хосту и проверьте логи Zigbee2MQTT / ZHA / deCONZ — строка с версией координатора подтверждает успех.

Если доступен веб‑флешер (XZG/Multi‑Tool), это часто самый простой путь: браузер обнаружит устройство и предложит прошивку.

Как не потерять сеть: NVRAM и IEEE

  • Если инструмент умеет читать NVRAM — сделайте dump и сохраните файл.
  • При переносе на другой физический адаптер можно вручную установить старый IEEE в конфиг нового координатора, чтобы привязки устройств сохранились.
  • Если NVRAM потерян и IEEE изменился — потребуется повторная привязка устройств.

Проверка и отладка

  • После перезапуска Zigbee‑стека убедитесь, что в логах появилась информация о версии координатора.
  • При ошибках прошивки просмотрите вывод flasher‑утилиты — чаще всего виден CRC/Verification error или проблемы с портом.
  • Если адаптер совсем не отвечает, попробуйте другой кабель/порт, повторите вход в BSL; при полном «кирпиче» потребуется аппаратная перепрошивка.

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

  • Не удалось войти в BSL: удерживайте кнопку BSL при подключении, смените кабель/порт, проверьте питание.
  • Неправильный файл прошивки: сверяйте ревизию платы и тип микроконтроллера.
  • Потеря IEEE/NVRAM: всегда делайте бэкап перед записи.

FAQ

  • Нужно ли перепривязывать устройства после прошивки?
    Если вы сохранили/перенесли IEEE или NVRAM — обычно нет. При смене IEEE — да, потребуется повторная привязка.
  • Можно ли прошить с Raspberry Pi без CC‑Debugger?
    Да: для CC2531/CC2530 возможны методы с Raspberry Pi, Arduino или ESP и веб‑флешером.
  • Где взять безопасную прошивку?
    Используйте официальные сборки вашего проекта/поставщика и проверенные репозитории.

Чеклист перед началом:

  • [ ] Скопирован конфиг Zigbee‑стека.
  • [ ] Сохранён NVRAM/EEPROM (если возможно).
  • [ ] Скачана проверенная прошивка и выбран корректный файл.
  • [ ] Подготовлен программатор/кабели и драйверы.
  • [ ] Есть физический доступ к донглу на случай отката.

Если хотите, подготовлю точную команду прошивки и шаги под вашу модель (CC2531, Sonoff CC2652P, ConBee II и т.д.) — укажите модель и стек (Zigbee2MQTT, ZHA, deCONZ).