воскресенье, 18 сентября 2016 г.

Alcatel Idol 3 (4.7") 6039Y. TWRP Recovery. Прошивка.

В этом посте я расскажу вам о новой версии TWRP Recovery 3.0.2-0 для нашего аппарата, собранной мной недавно из исходников (основное отличие от предыдущих версий - полная поддержка Adopted Storage, т.е. карты памяти отформатированной как внутренняя память в Android 6.0.1, а также корректный backup и восстановление EFS), а также об универсальном способе прошивки этого recovery на любой Idol 3 4.7 6039Y. Под "любыми" здесь имеются ввиду даже те аппараты у которых версия прошивки старше чем 010 04 и на которых метод прошивки recovery через QFIL по каким-то причинам не срабатывает. Но для начала давайте попробуем собрать всю накопившуюся на данный момент информацию по Idol 3 воедино, т.к. постов было достаточно много и какие-то из них уже успели устареть, а какие-то актуальны и по сей день.

Подборка информации по Alcatel Idol 3 6039

  • Alcatel Idol 3 (OT-6039). Подборка материалов. - пожалуй самый первый пост от 25.05.2015, когда информация о нем только появилась в интернете. В принципе его можно было бы смело переместить "в архив", если бы не подборка полезных ссылок в нем с обзорами, видеообзорами, тестами и т.п. Так что если вы только присматриваетесь к этому аппарату, то бегло пробежаться по нему будет не лишним.
  • Alcatel Idol 3 (4.7") 6039Y. Взгляд со стороны. - первый взгяд на аппарат от меня. Пост написан когда аппарат уже появился у меня на руках и помимо общей обзорной информации включает в себя mini FAQ, некоторые вопросы из которого актуальны и сейчас. Вопрос "Как установить TWRP?" из этого FAQ уже потерял актуальность.
  • Alcatel Idol 3. Прошивка TWRP на версии ПО 010 04 и выше. - в посте рассказывается об особенностях прошивки 010 04, поясняется почему на ней невозможно прошить TWRP через fastboot, а также приводится альтернативный способ прошивки кастомного recovery через QFIL. В принципе этот метод актуален и до сих пор, но на некоторых (новых) аппаратах может не сработать.
  • Alcatel Idol 3 (4.7") 6039Y. Обновление 01004. - еще один пост, который рассказывает об особенностях релиза прошивки 010 04.
  • Alcatel Idol 3. Как создать backup NVRAM при помощи QPST? - создаем backup собственного NVRAM (nvram + efs) с помощью QPST. Актуально и по сей день, желающие могут сделать его на всякий случай.
  • Alcatel Idol 3 (4.7") 6039Y. Переразметка внутренней памяти. - можно прочитать для общего ознакомления. В настоящий момент потерял актуальность, т.к. существует zip для прошивки в TWRP для автоматической переразметки, а с выходом Android 6.0 и обновлением через MU (Mobile Upgrade) память переразмечается автоматически.
  • Idol 3. Firmware Checker. - утилита, которая позволяет определить физический объем памяти в вашем аппарате, т.е. точно определить 8-ми или 16-ти гигабайтная версия у вас.
  • Alcatel Idol 3 (4.7") 6039Y. Android 6.0.1 Marshmallow. Русская версия. - неофициальный релиз Android M сделанный на основе американской версии прошивки, с выходом официального русского релиза потерял актуальность.
  • Alcatel Idol 3 (4.7") 6039Y. Android 6.0.1 Marshmallow. Официальный релиз. - официальный релиз Android 6.0.1 для России. В посте также присутствует официальный zip-архив с обновлением, а также рассказано о способах его установки через штатный recovery и встроенное приложение обновления. Данная информация актуальна и более того, нигде до этого не публиковалась. Так что рекомендуется к прочтению.
  • Alcatel Idol 3 (4.7") 6039Y. Как получить root на Android 6.0.1? - пост в котором приводится решение проблемы с bootloop'ом при попытке прошить SuperSU и получить root на Android M. Так что если у вас 6.0.1 и вы хотите получить root, также обязательно ознакомьтесь с ним.
Ну вот, если в плане истории - как бы и все ;) Кому лень все это читать - вкратце расскажу как развивался аппарат и работа с ним:

Изначально аппарат появился в продаже с прошивкой 010 01, с ней не было никаких проблем в плане кастомизации, работали все команды fastboot'а, поэтому через какое-то время разработчиками были собраны кастомное recovery (TWRP), получен root и началась работа над кастомными прошивками. Все было хорошо вплоть до версии 010 04, в которой производитель просто вырезал команды fastboot'а из aboot (emmc_appsboot) (точно также как это было сделано в самой первой прошивке для Idol 4), в результате чего использовать fastboot для загрузки кастомного recovery стало нельзя, т.к. в aboot'е просто отсутствовала команда прошивки разделов. После чего petrov.0 на xda-developers собрал набор образов системных разделов (sbl1, rpm, tz, hyp, aboot) от предыдущей версии прошивки для возвращения команд fastboot в аппарат. Прошивалось все это через QFIL. Ну а я тем временем решил пойти по простому пути, просто сделав набор для прошивки TWRP через QFIL (все-таки трогать данные разделы не рекомендуется). Как оказалось не зря, т.к. нашлись аппараты с другим OEM PK Hash на которых ни способ восстановления fastboot, на способ прошивки recovery через QFIL не работали (универсальный способ который будет описан в этом посте - должен работать на любых аппаратах). Параллельно со всем этим появилась информация о том, что часть аппаратов была выпущена с чипом на 8 Gb (как и указано в спецификациях), а часть пошла в продажу с 16 Gb'ным чипом. Часть памяти в этом разделе была просто "скрыта" в неиспользуемом разделе userdatabak. Так и началась тема с "переразметкой". Изначально все это делалось вручную с помощью gdisk ... затем появился zip для автоматической переразметки, использующий консольный gdisk - sgdisk. Но оказалось что у части пользователей которые попытались воспользоваться скриптом для переразметки на 8 Gb'ных аппаратах "слетал" раздел userdata (что неудивительно) и восстановить аппарат после такой "переразметки" можно было только с помощью MU. Затем появилась вторая версия скрипта, в которой уже появилась проверка фактического размера eMMC Flash, то прошивка его на 8 Gb аппаратах не приводила к необходимости полной перепрошивки, скрипт автоматически определял фактический объем установленной памяти. Параллельно с этим я разработал свой Idol 3 Firmware Checker, позволяющий пользователям проверить сколько же памяти в их аппарате на самом деле простым запуском приложения ... Так и прошел год ... ) Ну да ладно, наверное все это читать утомительно и история мало кому интересна. Поэтому перейдем к главному.

TWRP Recovery 3.0.2-0-decker-1 для Idol 3 6039

Скачать последнюю версию всегда можно здесь: recovery-3.0.2-0-decker.img

Краткая история изменений:

  • Поддержка F2FS.
  • Корректное время в TWRP.
  • 24-х часовой формат времени и часовой пояс UTC+3 по-умолчанию.
  • Отсутствует SuperSU, чтобы при выходе из Recovery кто-нибудь случайно не сделал свайп для установки (особенно актуально для пользователей Android 6.0).
  • Отсутствует таймаут выключения экрана при нахождении в TWRP.
  • Возможность Backup'а EFS (разделы modemst1 и modemst2).
  • Поддержка ADB и MTP в TWRP.
  • Ядро от Android 6.0.1 (естественно, что TWRP будет работать вне зависимости от того какая ОС у вас установлена).
  • Полная поддержка Adopted Storage (т.е. SD карта отформатированная как внутренняя память будет видеться в TWRP и на ПК через MTP) [17.09.2016]
  • Исправлена ошибка "Failed to unmount '/system' (Device or resource busy)" после создания backup'а (ошибка проявлялась на предыдущих сборках) [17.09.2016]
  • Раздел Firmware (радиомодуль) добавлен к списку разделов, доступных для backup'а. [17.09.2016]
  • Очередной fix. TWRP теперь полностью построен на базе ветки android-7.0 и включает в себя все последние исправления, включая commit, исправляющий backup подразделов, баг, из-за которого восстановление EFS приводило к невозможности старта устройства. [18.09.2016]

Варианты установки

  • Через fastboot на версиях прошивки до 010 04.
  • Через QFIL на тех аппаратах где это возможно.
  • Через Sahara & Firehose Test (Alcatel Flasher) на любых аппаратах (несколько инструкций на английском и французском)

Как прошить TWRP через Sahara & Firehose Test (Alcatel Flasher)?

1. Переходим в на страницу приложения - Sahara & Firehose Test и внимательно читаем всю информацию, т.е. что это такое, для чего это нужно и т.п., чтобы впоследствии у вас не возникало лишних вопросов. После чего скачиваем архив с приложением и распаковываем его в отдельную папку.

2. Устанавливаем на ПК драйвера Alcatel, если они у вас еще не установлены. Самый простой способ сделать это - это установить утилиту Mobile Upgrade Q отсюда. Она автоматически установит все необходимые драйвера.

3. Переводим свой телефон в Download Mode. Для перевода телефона в режим Download Mode подключаем выключенный телефон к ПК и зажимаем на нем: Громкость Вверх + Громкость Вниз + Кнопка включения питания. Обязательно зажимать их при подключенном к ПК USB кабеле (!). После появления картинки как на скриншоте, нажмите Громкость Вверх для перехода в Download Mode. Если вы подключили к ПК включенный телефон, последовательность действий та же, просто держите нажатые кнопки до тех пор, пока телефон не перезагрузится. Вплоть до появления этой картинки. Далее по инструкции выше.

4. Скачиваем образ TWRP отсюда - recovery-3.0.2-0-decker.img .
5. Запускаем Sahara & Firehose Test:


6. Выбираем вашу модель телефона (1), в нашем случае - это Alcatel Idol 3 4.7" (OT-6039).
7. Нажимаем в программе кнопку Detect (2), программа должна найти список всех COM-портов в системе. Выбираем COM-порт (3) с названием Qualcomm HS-USB QDLoader 9008 (у вас он может называться чуть по-другому, в зависимости от версии драйвера установленного в системе, важно выбрать тот COM-порт, который содержит в названии 9008).
8. Нажимаем кнопку NPRG (4) для загрузки в телефон Firehose Programmer'а. Если все прошло успешно, то в окне лога (5) вы увидите что-то вроде:
18.09.2016 2:43:52: Start Download NPRG ....
18.09.2016 2:43:52: offset[0],len[52]
...
18.09.2016 2:43:52: offset[102400],len[4096]
18.09.2016 2:43:52: offset[106496],len[3044]
18.09.2016 2:43:52: SAHARA_END_IMAGE_TX_ID received

0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  *................*

18.09.2016 2:43:53: Send done command

0000: 06 00 00 00 0C 00 00 00 00 00 00 00              *............    *
9. Нажимаем кнопку Get GPT (6). В результате мы должны увидеть таблицу разделов (7). Если таблица GPT заполнилась, дальше уже можно выполнять другие действия с телефоном.
10. Теперь нам необходимо проверить корректно ли у нас работает приложение, для этого создадим backup собственного раздела recovery (сделать это обязательно - т.к. если по каким-то причинам у вас не создастся backup, т.е. некорректно пройдет чтение данных из аппарата, то использовать запись настоятельно не рекомендуется, верно и обратное, если backup у вас успешно считался, то можно смело записывать новый раздел в аппарат). В таблице разделов (7) ставим галочку напротив раздела recovery и выбираем имя файла (по-умолчанию recovery.img) куда будет сохранен backup. Запускаем создание Backup'а нажав на кнопку (9) Read. Если backup создан успешно в файле recovery.img будет сохранен образ вашего текущего раздела recovery (размер файла для Idol 3 должен быть около 32 Mb).
11. Если предыдущий шаг завершился успешно, то можно прошивать TWRP. Для этого указываем в (10) имя файла с образом TWRP recovery, т.е. recovery-3.0.2-0-decker.img и нажимаем кнопку (11) Write.
12. На экране появится запрос подтверждения:


Ответ Yes - Да, я хочу отказаться от выполнения любых операций записи, Ответ No - означает, продолжить запись. Нажимаем No и дожидаемся окончания процесса прошивки, успешное его завершение выглядит так:


Обратите внимание, после окончания процесса прошивки телефон так и останется в Download Mode, автоматической перезагрузки не происходит (а зачем? мало ли вы захотите совершить еще какие-нибудь операции с телефоном, например считать информацию (8) с помощью кнопки Info).

Поэтому после завершения прошивки TWRP вам необходимо перезагрузить его вручную. Нажимаем и удерживаем кнопку Громкость Вверх и зажимаем (т.е. нажимаем и удерживаем) кнопку Включения Питания. Телефон перезагрузится, после появления заставки Alcatel кнопку включения питания можно отпустить, но кнопку Громкость+ мы продолжаем удерживать вплоть до появления заставки TWRP. Когда она появится можно запустить TWRP. Поздравляю, вы успешно прошили и загрузились в TWRP.

p.s. Любые вопросы, предложения, пожелания, а также мысли по теме вы можете оставлять в комментариях, также стараемся не забывать про поддержку проекта, без которой было бы невозможным написание этого поста и создание утилиты для прошивки.

Внимание! Материалы приведенные в данной статье размещены в ознакомительных целях. Все действия описанные в данной статье вы осуществляете на свой страх и риск! Автор(ы) статьи не несут ответственности за вышедшее из строя оборудование, в результате ошибочных действий или неверного понимания вами смысла изложенного в ней материала, а также в силу любых прямых и косвенных причин, которые потенциально могут привести к неработоспособности вашего устройства или любым другим проблемам с ним. Если вы не уверены в своих силах, сомневаетесь и т.п. - не выполняйте ничего из вышеописанного. Используя материалы из этой статьи вы соглашаетесь с тем, что ответственность за ваши действия несете вы и только вы.

7 комментариев :

  1. Доброго времени суток. Есть такой же аппарат. Его роняли несколько раз и утопили один раз. После этого он проработал 6 месяцев. Сейчас он не загружается при включении. Доходит до заставки Alcatel и перезагружается. Но может и загрузитсься случайно и сразу экран становится синим. Потом опять перезагрузка. Сброс до заводских установок не возможен. Нет возможности попасть в рекавери. Но в даунлоад режим попасть можно нажатием клавиш громкости плюс и минус при подключенном кабеле usb. Прошил twrp рекавери как написано в статье. Все прошло успешно. Но телефон по-прежнему бесконечно перезагружается. Наверно имеет место аппаратная неисправность? Подскажите пожалуйста

    ОтветитьУдалить
  2. Доброго времени суток!
    А можно ли с помощью Сахары перенести всё содержимое внутренней памяти и все настройки с одного аппарата на другой? Уронил телефон, перестал работать тачскрин, но т.к. аппарат полностью устраивает, то хочу купить такой же, но неохота заново все устанавливать и настраивать.

    ОтветитьУдалить
    Ответы
    1. Если проблема с первым аппаратом была только в таче - переставьте основную плату из одного аппарата в другой и получите желаемое.

      Удалить
  3. ... а собрать стороннее рекавери из исходников сможите для другого аппарата?

    ОтветитьУдалить
    Ответы
    1. Для какого именно и в чем заключается моя мотивация при этом?

      Удалить
  4. Здравствуйте. По ошибке прошил AlekOS+ 2патча для 5.5" как в инструкции(https://forum.xda-developers.com/idol-3/development/rom-6045-spb-1-0-stock-stable-fast-oc-t3392375). Загорается только индикатор. Метод замыкания массы и Data+ не помогает. Хотел вот узнать, нашли ли вы так называемый testpoint? Как я понял, метод с OTG + usbA-A работает по такому же принципу как и с замыканием, но на всякий случай заказал эти два кабеля, что бы попробовать.

    ОтветитьУдалить