Прошивка Qualcomm телефона в EDL режиме в Linux на примере Meizu M6Note

7
SUCCESS: Your vote is considered!

    Есть в нашей жизни некоторые устоявшиеся стереотипы, которые на практике почти никогда не подтверждаются, но все в них продолжают упорно верить. Одним из таких стереотипов является утверждение о том, что операционная система Windows более дружелюбна к пользователю и многие вещи в ней делать намного проще. Вот и я недавно стал заложником этого стереотипа. Не надолго, правда.

    Итак возникла необходимость прошить телефон на базе процессора Qualcomm. У этих процессоров есть низкоуровневый режим EDL для прошивки. После изучения интернетов было выяснено, что прошивка делается через программу QFIL работающую естественно только из одной ОС. Также стало известно, что под Linux существует небольшая консольная программка работающая по протоколу EDL называется она QDL, ну и вводящие в заблуждение комментарии на ЛОРе о том, что не стоит с этим связываться на Linux-е и проще, и быстрее поставить в Virtualbox винду и пробросить USB порт, что я и начал делать, но вскоре пожалел об этом. Инструкции, как таковой, для этого действия нету и приходилось по кусочкам её искать в разных местах. Если быть кратким то действия для прошивки можно свести к следующим пунктам:

  • Выключить проверку подписи драйвера
  • Установить драйвер
  • Установить программу
  • Ну и прошить телефон
    И это все без учета установки ОС и небольшой, но все-же, настройки виртуалбокса. Из этого всего я знал только как установить программу, все остальное пришлось искать в инете. Ох, а инструкции на 4pda (которые, по своему содержанию, примерно соответствуют выше приведённому списку) - это отдельная форма садизма. В общем, после кучи убитого времени, мне так и не удалось все это дело завести. Наверное я криворукий и мне противопоказано пользоваться такими простыми и ориентированными на пользователя операционными стемами. Ну да и Бог с ними, расскажу я лучше о QDL и Linux.

    Под Linux необходимых действий оказалось меньше.

  • Установить программу
  • Прошить телефон
    Если вы пользуетесь ubuntu, то вам ещё нужно отключить ModemManager. А теперь по подробней, я буду приводить команды для самого популярного дистрибутива.

Установка

    Устанавливаем зависимости, их всего две libxml2 и libudev.
sudo apt install fastboot libxml2-dev libudev-dev git build-essentials make
    Скачиваем исходный код.
git clone https://git.linaro.org/landing-teams/working/qualcomm/qdl.git
    Переходим в директорию с исходным кодом.
cd qdl
    Запускаем сборку.
make
    Если вы используете ubuntu то нужно отключить ModemManager.
sudo systemctl stop ModemManager
    Пользователи Arch Linux могут установить QDL из AUR-а но только отредактировав PKGBUILD и сменив версию 1.0 на версию из мастера.

Прошивка

    Теперь приступим к прошивке. Скачиваем и распаковываем архив с прошивкой (глобальная версия Flyme OS 6.1.4.0G прикреплена внизу статьи).

    Запускаем QDL.
./qdl —debug —storage <storage_type> --include <firmware_dir> <prog.mbn> <rawprogram.xml> <patch.xml>
    Пример запуска:
./qdl --debug --storage emmc --include /path/to/unpacked_firmware /path/to/unpacked_firmware/prog_emmc_firehose_8953_ddr.mbn /path/to/unpacked_firmware/rawprogram_unsparse.xml /path/to/unpacked_firmware/patch0.xml
    И только после этого переводим телефон в режим EDL с уже подключённым USB кабелем, зажав на выключенном телефоне все три кнопки. В списке подключённых USB устройств (lsusb) должен появится телефон Qualcomm с id оканчивающимся на 9008. После чего начнётся прошивка которая будет длится около 10 минут и окончится перезагрузкой в работающую систему.

Flyme OS 6.1.4.0G

Пожалуйста войдите, что-бы оставить коментарий.
Нет акаунта? Регистрация