MTKClient: как пользоваться для прошивки и разблокировки устройств MediaTek

Команда python mtk e metadata,userdata,md_udc в окне терминала MTKClient — это типичный способ сбросить FRP на смартфоне с чипом MediaTek, но до неё нужно правильно установить инструмент и перевести устройство в режим BROM. Именно на этапе подключения у большинства пользователей возникают проблемы: ПК не видит устройство, появляется ошибка DA-загрузчика или процесс зависает на этапе рукопожатия. Ниже разберём весь цикл работы с MTKClient — от установки зависимостей до чтения и записи разделов.

MTKClient — это открытая консольная утилита, которая использует уязвимости и штатные механизмы загрузчика MediaTek BootROM для низкоуровневого доступа к памяти устройства. С её помощью можно снимать дампы разделов, прошивать отдельные образы, сбрасывать блокировку FRP и восстанавливать «окирпиченные» аппараты. Работа ведётся из командной строки, поэтому базовое умение пользоваться терминалом обязательно.

Что нужно перед началом работы

Прежде чем запускать утилиту, подготовьте рабочее окружение. Вам понадобится компьютер с Windows или Linux, установленный Python 3, качественный USB-кабель и само устройство на базе процессора MediaTek. Желательно использовать порт USB напрямую на материнской плате, без хабов — это снижает риск обрывов связи во время операций.

  • 🔌 Исправный USB-кабель, желательно оригинальный от устройства
  • 🐍 Установленный Python 3 и менеджер пакетов pip
  • 💾 Драйверы MediaTek USB VCOM (для Windows)
  • 🔋 Заряд батареи устройства — желательно не менее половины
  • 📂 Скачанный репозиторий MTKClient с официального GitHub проекта
⚠️ Внимание: все операции через MTKClient выполняются на низком уровне и могут привести к полной потере данных или неработоспособности устройства. Перед любыми действиями сделайте полный дамп разделов, если устройство ещё загружается.

Установка MTKClient на Windows и Linux

Сначала клонируйте репозиторий и установите зависимости. На Linux это делается несколькими командами в терминале:

git clone https://github.com/bkerler/mtkclient

cd mtkclient

pip3 install -r requirements.txt

На Windows последовательность похожая, но дополнительно потребуется установить драйверы MediaTek USB Port, иначе система не определит устройство в режиме BROM. Пакет драйверов обычно распространяется отдельно; после установки в диспетчере устройств при подключении аппарата должен появляться COM-порт MediaTek USB Port или MediaTek PreLoader.

Также на Windows рекомендуется запускать терминал от имени администратора, а на Linux — добавить правила udev или запускать скрипт через sudo, чтобы у утилиты был доступ к USB-устройству. Без этого на этапе обнаружения вы получите ошибку доступа.

Перевод устройства в режим BROM

Ключевой этап — вход в BootROM (BROM), низкоуровневый режим загрузчика MediaTek. На большинстве аппаратов это делается так: устройство полностью выключается, затем при зажатых кнопках громкости (часто обеих, иногда только «громкость вверх» или «вниз») подключается USB-кабель к ПК. Точная комбинация зависит от модели — сверьтесь с инструкцией для вашего аппарата или попробуйте варианты по очереди.

После подключения запустите в терминале:

python mtk printgpt

Если всё сделано верно, утилита обнаружит устройство, выполнит рукопожатие и выведет таблицу разделов GPT. Это самая безопасная команда — она только читает структуру памяти и ничего не изменяет. Именно с неё стоит начинать знакомство с инструментом.

📊 На каком этапе работы с MTKClient у вас возникли сложности?
Установка и зависимости
Драйверы и определение устройства
Вход в режим BROM
Ошибки при чтении/записи разделов

Основные команды MTKClient

Синтаксис утилиты строится по шаблону: python mtk <действие> <параметры>. Ниже — основные операции, которые используются чаще всего.

КомандаНазначениеРиск
python mtk printgptПоказать таблицу разделовНет, только чтение
python mtk r boot boot.imgСчитать раздел boot в файлНет, только чтение
python mtk w boot boot.imgЗаписать образ в раздел bootВысокий при неверном образе
python mtk e metadata,userdata,md_udcСтереть разделы (сброс FRP)Полная потеря данных
python mtk rl dumpСнять дамп всех разделов в папкуНет, но занимает много места

Обратите внимание: команда чтения (r) принимает имя раздела и имя файла, команда записи (w) — тот же порядок аргументов. Перед записью любого образа убедитесь, что он предназначен именно для вашей модели и ревизии устройства — прошивка чужого boot-образа является самой частой причиной «окирпичивания» при работе через MTKClient.

☑️ Порядок безопасной работы с MTKClient

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

Типичные ошибки и их решение

Самая частая проблема — утилита не видит устройство и бесконечно ждёт подключения. Возможные причины: не установлены драйверы, устройство не вошло в BROM, неисправен кабель или порт. Проверьте диспетчер устройств: при корректном подключении там должен появиться новый COM-порт. Если устройство определяется как «неизвестное», переустановите драйвер вручную.

Вторая распространённая ситуация — ошибки на этапе загрузки DA (Download Agent). На новых чипах MediaTek с включённой защитой SLA/DAA стандартный DA может быть отклонён. В таком случае потребуется подходящий DA-файл для конкретной модели, который подключается параметром --loader. Универсального решения здесь нет — ищите загрузчик под ваш чип и прошивку.

⚠️ Внимание: если устройство перестало определяться после неудачной записи раздела, не подключайте его повторно в спешке. Полностью отсоедините кабель, подождите около минуты, затем попробуйте войти в BROM заново — чип MediaTek почти всегда остаётся доступен через BootROM, даже если система не грузится.
Что делать, если ПК гасит USB-порт при подключении

Некоторые устройства в BROM потребляют ток рывками, и USB-порт может отключаться. Попробуйте другой порт напрямую на материнской плате, отключите экономию энергии USB в настройках Windows (Диспетчер устройств → Контроллеры USB → Корневой USB-концентратор → Управление электропитанием) или используйте питание от другого ПК.

Сброс FRP и восстановление устройства

Одна из популярных задач — снятие блокировки Google FRP после сброса настроек. Для этого обычно стирают разделы frp либо связку metadata, userdata и md_udc:

python mtk e frp

Имейте в виду: стирание userdata удаляет все данные пользователя без возможности восстановления. Кроме того, на некоторых новых прошивках простое стирание раздела frp не срабатывает — защита восстанавливается из других разделов. Если после перезагрузки блокировка осталась, потребуется стирать расширенный набор разделов.

Для восстановления «кирпича» логика обратная: сначала получают стоковые образы разделов из официальной прошивки для вашей модели, затем записывают их по одному через команду w либо целиком через режим записи флешера. Критично, чтобы образы соответствовали точной модели и региону устройства.

Меры предосторожности

Работа с низкоуровневыми инструментами требует дисциплины. Несколько правил, которые сберегут ваше устройство и нервы:

  • 💾 Всегда снимайте дамп разделов boot, nvram, nvdata и protect1/protect2 до любых изменений — в них хранятся калибровки и IMEI
  • 📴 Не отключайте кабель во время операции записи — обрыв на середине гарантированно повреждает раздел
  • 🧭 Используйте образы только от вашей точной модели и ревизии платы
  • 🔍 Проверяйте результат каждой команды по выводу в терминале, прежде чем идти дальше
⚠️ Внимание: разделы nvram и nvdata содержат уникальные данные устройства, включая IMEI и MAC-адреса. Их потеря или запись чужих дампов может привести к потере связи и юридическим проблемам. Не стирайте и не перезаписывайте эти разделы без крайней необходимости и резервной копии.

Часто задаваемые вопросы

Работает ли MTKClient с процессорами Qualcomm или Unisoc?

Нет. Утилита предназначена исключительно для устройств на чипах MediaTek, так как использует протокол их BootROM. Для Qualcomm существуют свои инструменты (например, работа через режим EDL), для Unisoc — отдельные решения.

Устройство не определяется в BROM — что проверить в первую очередь?

Последовательность такая: драйверы MediaTek в диспетчере устройств, другой USB-кабель и порт, правильная комбинация кнопок при подключении. Также убедитесь, что устройство полностью выключено, а не находится в спящем режиме.

Можно ли пользоваться MTKClient без root-прав на устройстве?

Да. Все операции выполняются через BootROM на выключенном устройстве, поэтому root на самом аппарате не требуется. Права администратора нужны только на компьютере — для доступа к USB.

Что значит ошибка при загрузке DA и как её обойти?

Ошибка на этапе Download Agent обычно означает, что на устройстве включена защита SLA/DAA, и стандартный загрузчик отклонён. Решение — использовать подходящий DA-файл для конкретной модели через параметр --loader. Универсального обхода нет.

Удалит ли сброс FRP через MTKClient пользовательские данные?

Зависит от команды. Стирание только раздела frp обычно сохраняет данные, а стирание userdata и metadata удаляет всё содержимое устройства. Выбирайте минимально достаточный вариант и делайте резервные копии заранее.