Протокол Sahara в устройствах Huawei — это низкоуровневый интерфейс связи между модемным процессором и компьютером, предназначенный для аварийной загрузки прошивки при полном отказе основной ОС. Он работает исключительно в режиме Emergency Download (EDL), когда устройство не выдает никаких признаков жизни на экране, но определяется в диспетчере устройств Windows как Qualcomm HS-USB QDLoader 9008. Через этот канал передаются загрузчики, разделы boot, dtbo, vbmeta и полные образы прошивки .xml + .bin без проверки цифровой подписи загрузчиком.

В отличие от привычного Fastboot, Sahara не требует разблокированного загрузчика и игнорирует политику AVB (Android Verified Boot), что делает его единственным способом оживления «кирпича» после неудачного обновления, порчи раздела misc или экспериментов с кастомными ядрами. Однако доступ к протоколу на современных моделях (серии P60, Mate 60, Nova 11 и новее) аппаратно ограничен: тестовые точки (TP) на плате часто замаскированы или отсутствуют, а загрузчик в EDL не пускает без авторизации сервера Huawei.

Что такое режим Sahara и зачем он нужен

Sahara — это проприетарный протокол Qualcomm, адаптированный Huawei для своих SoC Kirin (через промежуточный загрузчик) и Snapdragon. Он запускается на стадии Primary Boot Loader (PBL) еще до инициализации оперативной памяти и экрана. Основная задача — передать в ОЗУ и выполнить Secondary Boot Loader (SBL), например prog_emmc_firehose_8976.mbn (Firehose), который уже умеет читать/писать флеш-память eMMC/UFS по командам SCSI.

Без понимания этого механизма легко превратить телефон в бесполезный кусок металла: если загрузить несовместимый Firehose или повредить раздел partition.xml, процессор перестанет отзываться даже на Sahara. Поэтому сервисные инженеры сначала читают дамп GPT и EFS перед любой записью.

  • 🔧 Восстановление после неудачного OTA-обновления, зациклившегося на логотипе
  • 🔓 Снятие FRP-блокировки и блокировок оператора на старых моделях (до 2019 г.)
  • 🛠 Ремонт IMEI, Wi-Fi/MAC-адреса и Bluetooth-калибровки через запись в EFS/modemst1/2
  • 📦 Установка кастомных ROM, ядер и получение root-прав на устройствах с залоченным загрузчиком

⚠️ Внимание: На смартфонах с процессорами Kirin 990 и новее (Mate 30, P40, Mate 40, P50 и т.д.) вход в EDL через тестовые точки не дает доступа к записи пользовательских разделов без авторизованного загрузчика fastboot oem unlock или серверного токена. Попытка прошить userdata или super приведет к ошибке SAHARA_NAK и постоянному кирпичу.

💡

Sahara — это протокол аварийной загрузки (EDL), работающий до инициализации ОС и позволяющий прошивать разделы без разблокированного загрузчика, но на новых Kirin он ограничен политикой безопасности Huawei.

Как войти в режим Sahara (EDL) на смартфонах Huawei

Способ входа зависит от архитектуры процессора и состояния устройства. На Snapdragon (например, Enjoy/Psmart серии, старые Nova) часто достаточно замыкания тестовых точек на материнской плате под аккумулятором или на flex-кабеле зарядки. На Kirin — почти всегда требуется программный триггер через fastboot oem edl или специальный кабель Deep Flash Cable с резистором 10кОм на линии ID.

Если телефон включен и виден в ADB: выполните adb reboot edl. Если застрял на логотипе — зажмите Power + Volume Down 30 сек до вибрации, затем сразу Volume Up + Power 5 сек. На Mate 20 / P30 серии это переводит в EDL без разблокировки. На более новых моделях этот комбо вызывает только Recovery.

☑️ Алгоритм входа в EDL через тестовые точки

Выполнено: 0 / 6

После появления в диспетчере устройств как QDLoader 9008 можно загружать Firehose. Важно: кабель должен быть качественным, с поддержкой передачи данных — зарядные кабели «только питание» не подойдут. Драйвер qcusbser.sys ставится автоматически из Windows Update или вручную через QDLoader_Driver.exe из пакета QFIL.

⚠️ Внимание: Замыкание тестовых точек на плате аннулирует гарантию и при неаккуратном обращении вырывает контактные площадки. На моделях с непрямым доступом к TP (плотная пайка, подклеенные флексы) риск механического повреждения платы превышает 60%. Используйте метод программного входа, если загрузчик хоть как-то реагирует.

Схемы TP для популярных моделей

Для Nova 5T / P30 Lite (Kirin 710/980) TP находятся под NFC-антенной на плате основной. На Mate 20 Pro (Kirin 980) — рядом с разъемом батареи, две круглые площадки без надписи. Для серий Y / Enjoy на Snapdragon 450/625 — под аккумулятором, часто подписаны как EDL / GND. Всегда сверяйтесь с boardview-файлом (.brd/.cad) под конкретный PCB-код (например, ANE-LX2J / LYA-AL00).

Основные инструменты для работы с протоколом Sahara

Стандарт де-факто — QFIL (Qualcomm Flash Image Loader) от производителя чипсета. Он бесплатен, работает с XML-разметкой прошивки (rawprogram_unsparse.xml, patch0.xml) и поддерживает потоковую запись sparse-образов. Альтернативы: UMT (Ultimate Multi Tool), Miracle Box Thunder, Hydra Tool — платные боксы с GUI, автоматизирующие выбор Firehose и обход авторизации на старых платформах.

Для Kirin-устройств часто требуется модифицированный Firehose (prog_firehose_kirin990.mbn), подписанный тестовыми ключами Huawei, иначе Sahara отвергнет его с кодом 0x0B (Authentication Failed). Такие файлы распространяются в закрытых сервисных чатах и на форумах вроде XDA / 4PDA в темах «Service Firmware / EDL Dump».

  • 📥 QFIL — официальный, бесплатный, требует ручного выбора prog_firehose.mbn и XML
  • 🧰 UMT QcFire — платный, автопоиск Firehose по базе, бэкап EFS одним кликом
  • ⚡ Miracle Thunder — популярный в СНГ, умеет читать дампы без авторизации на Kirin 710/970/980
  • 🐍 Python-скрипты edl / fh_loader — для Linux/macOS, консольный контроль каждого пакета Sahara
💡

Всегда делайте полный дамп разделов modemst1, modemst2, fsg, fsc и persist перед любой записью. Восстановление IMEI и калибровки радиомодуля без этих бэкапов практически невозможно легально.

Типовые сценарии использования: разблокировка, восстановление, ремонт IMEI

Частая задача — снятие блокировки аккаунта Huawei ID (FRP) на устройствах до EMUI 10. В EDL стирают разделы frp, userdata, metadata через erase в QFIL, затем прошивают чистый userdata.img из стоковой прошивки. На EMUI 11+ (Android 11+) это не срабатывает: FRP привязан к TEE (Trusted Execution Environment) и очищается только сервером после верификации владельца.

Ремонт IMEI (после прошивки чужого дампа или потери EFS) делается записью оригинального дампа modemst1/2 + fsg/fsc в соответствующие разделы. Важно: IMEI должен совпадать с наклейкой на коробке/корпусе, иначе это незаконно в РФ и большинстве стран. Прошивка чужого IMEI влечет уголовную ответственность по ст. 272 УК РФ.

Сценарий Необходимые разделы Инструмент Риск
Восстановление после кирпича boot, dtbo, vbmeta, super, vbmeta_system QFIL / UMT Низкий (при верном Firehose)
Сброс FRP (EMUI 9/10) frp, userdata, metadata QFIL Средний (потеря данных)
Ремонт IMEI / Wi-Fi MAC modemst1, modemst2, fsg, fsc, persist UMT / Hydra Высокий (юридический, возможен бан в сети)
Установка кастомного Recovery recovery, dtbo QFIL + Magisk Низкий (требует EDL доступ)

Риски и ограничения при работе с протоколом

Главный риск — запись несовместимого Firehose или XML для другой аппаратной ревизии (HW version). Даже внутри одной модели (например, P30 Pro VOG-AL00 vs VOG-AL10) могут отличаться чипы памяти (Samsung KLMAG / Micron / SK Hynix), что требует своего prog_firehose с поддержкой конкретного eMMC/UFS контроллера. Ошибка приводит к «мертвому» EDL: процессор перестает отвечать на Sahara-пакеты.

На устройствах с HarmonyOS NEXT / Kirin 9000s (Mate 60, Pura 70) протокол Sahara фактически закрыт для стороннего ПО. Загрузчик проверяет цепочку доверия до PBL, а тестовые точки физически отсутствуют или требуют BGA-перепайку BGA-чипа PMIC. Единственный легальный путь — официальный сервис Huawei с серверным токеном авторизации.

⚠️ Внимание: Использование «сервисных» прошивок из интернета (с пометкой CUST или REMOVE_FRP) часто содержит модифицированные vbmeta с отключенной верификацией (AVB 2.0 disabled). Это ломает OTA-обновления, SafetyNet/Play Integrity и может вызвать бесконечную перезагрузку в fastbootd. Ставьте только официальные полные пакеты UPDATE.APP через EDL.

Отличия Sahara от Fastboot и Recovery

Fastboot — это протокол пользовательского пространства, запускаемый уже загруженным загрузчиком (ABL). Он требует разблокированного OEM (в настройках разработчика) и подписи образов ключом производителя (AVB). Recovery — мини-ОС для сброса и OTA, также проверяет подписи. Sahara/EDL работает на уровне PBL/SBL, до загрузки любого кода проверки подписей, и имеет прямой доступ к физическим секторам флеш-памяти через SCSI-команды Firehose.

Практический вывод: если телефон виден в fastboot devices — используйте Fastboot, это безопаснее и быстрее. Переходите к Sahara только когда Fastboot не работает (кирпич, нет разблокировки, сломан раздел abl/xbl). На новых моделях разблокировка загрузчика через официальный сайт Huawei (до закрытия программы в 2023 г.) оставалась единственным легальным способом получить доступ к Fastboot.

💡

Sahara (EDL) — это «тяжелая артиллерия» для случаев, когда Fastboot и Recovery недоступны. На современных флагманах Huawei доступ к нему аппаратно или программно перекрыт политикой безопасности.

Частые ошибки и их решение

Ошибка Sahara: Fail to send image или 0x0B — неверный или неподписанный Firehose. Решение: найдите Firehose именно для вашего PCB-кода (например, prog_firehose_ddr_8998.mbn для Kirin 970 L29). Ошибка Firehose: Partition not found — XML не соответствует GPT диска. Решение: считайте текущий GPT через sgdisk -p /dev/sdX (в Linux) или кнопку «Read Partition» в UMT, и подправьте rawprogram.xml.

Устройство не определяется как QDLoader 9008 — проверьте кабель, порт USB (лучше USB 2.0 на задней панели ПК), драйверы. В диспетчере устройств удалите «Unknown Device», нажмите «Scan for hardware changes» после замыкания TP. На Windows 10/11 иногда блокирует подпись драйвера — нужно отключить обязательную проверку подписи драйверов (F7 при загрузке -> Disable Driver Signature Enforcement).

  • 🔴 SAHARA_NAK при записи super — загрузчик заблокирован, нужен токен авторизации или разблокировка OEM
  • 🟡 Firehose: Write failed — плохой контакт кабеля, нестабильное питание USB, битая флеш-память
  • 🟢 Download completed но телефон не включается — не прошит vbmeta / dtbo или не совпадает слот (A/B). Прошейте оба слота или используйте fastboot set_active a после входа в Fastboot
FAQ: Частые вопросы про Sahara и EDL на Huawei
Можно ли войти в EDL на Huawei P60 Pro / Mate 60 без разборки?

Нет. На Kirin 9000s / 9010 программный вход в EDL заблокирован загрузчиком, тестовых точек на плате нет. Доступ есть только у авторизованных сервисных центров через серверный инструмент Huawei HiSuite Service / eService.

Почему QFIL пишет «Sahara: Fail to connect»?

Чаще всего — конфликт драйверов. Удалите в диспетчере устройств все «Qualcomm HS-USB QDLoader 9008», перезагрузите ПК, установите драйвер из папки QFIL drivers/qcusbser.inf вручную (ПКМ -> Обновить драйвер -> Найти вручную). Проверьте кабель на другом телефоне.

Безопасно ли прошивать официальный UPDATE.APP через EDL?

Да, если используете правильный Firehose и XML из той же прошивки. Официальный полный пакет (Full OTA) содержит все разделы, включая загрузчики xbl, abl, rpm, tz, hyp. Это единственный способ вернуть телефон в стоковое состояние с рабочими OTA.

Что такое «авторизованный загрузчик» и зачем он нужен в EDL?

Это файл prog_firehose.mbn, подписанный приватным ключом Huawei. Процессор в режиме PBL проверяет подпись перед выполнением кода Firehose. Без валидной подписи Sahara отправляет NAK (Negative Acknowledge) и разрывает сессию. На старых чипах (Kirin 960/970/980) утекли тестовые ключи, поэтому работают кастомные Firehose.

Где скачать актуальные драйверы и QFIL для Windows 11?

Рекомендую брать на официальном ресурсе проекта: https://huawei-gid.vercel.app — там собраны проверенные сборки QFIL, драйверы QDLoader и инструкции по моделям. Для связи с редакцией: sitezabota@gmail.com.