Что общего между пустыней Сахара и пожарным шлангом спросите вы? И то, и другое (Sahara и Firehose) названия протоколов по которым происходит обмен данными с устройствами на базе Qualcomm. В частности все "сервисные утилиты", программы-прошивальщики (flasher'ы), так или иначе используют в своей работе эти протоколы. Останавливаться подробно на том что и для чего используется, пожалуй, я не буду, материалов по этой теме конечно не так много, но они есть. Например, очень полезная тема "Общие принципы восстановления загрузчиков на Qualcomm" на одном из популярных мобильных форумов, которая отлично находится поисковиками.
Перейду сразу к сути "проблемы" ;) Общедоступных утилит по работе с платформой Qualcomm на "низком уровне", т.е. утилит для прошивки, чтения разделов из памяти телефона и т.п. сервисных операций, практически нет. Если конечно небезызвестная всем QPST и QFIL, eMMC RAW Tool, про которую я как-то рассказывал, но так или иначе использовать их в "повседневной" жизни удается не многим. Приведу простой пример. Не так давно я писал о вышедшем официальном обновлении Android 6.0.1 для Alcatel Idol 3 4.7" 6039Y, некоторым из пользователей, которые успели обновиться по ряду причин он не понравился и они хотели бы вернуться на предыдущую версию Android - Lollipop. Однако, официального пути сделать это нет, прошивок (помимо nandroid backup'ов в TWRP) вообщем-то тоже. А ведь было бы вполне неплохо, если бы можно было за'backup'ить все разделы с работающего аппарата (напомню, что Idol 3 построен на базе MSM8916) и иметь рабочую версию стоковой прошивки, которой в любом момент можно было бы восстановить аппарат. Т.е. не понравился апдейт - вернулся к предыдущему состоянию. То же самое касается и backup'а / прошивки отдельных разделов, например, recovery и т.п.
Вообщем отсутствие инструментария способного вытаскивать и прошивать разделы на Qualcomm'е сподвигло меня к написанию своего приложения, которое получило рабочее название Sahara & Firehose Test. Пишется оно крайне медленно (уже на протяжении нескольких месяцев, т.к. время на разработку удается найти только в свободное от работы и других дел время), однако, процесс не стоит на месте:
На данный момент приложение умеет:
На скриншоте как раз видно считанную с Idol 3 6039Y GPT. В будущем (если будет время и мотивация) планируется расширить функционал приложения, вплоть до создания полноценного флешера. Объем работы там очень большой, т.к. все создается с нуля, в некоторых местах "изобретаются велосипеды", а некоторые вещи приходится изучать по-ходу дела. Так, например, пока я не взялся писать Sahara & Firehose Test я имел весьма отдаленное представление о том как работает Sahara. Пришлось найти в интернете множество различных исходников (кстати, я уже писал об одном Open Source инструменте, который позволяет работать с Sahara'ой - OpenPST, другим таким инструментом является проект qtools, разработкой которого занимаются уважаемые forth32 и vve), потратить не один час за анализом протоколов обмена с загрузчиком в USBLyzer'е и перелопатить кучу другой информации.
Разработка проекта ведется в Delphi 7 ;) Конечно, когда на двое 2016 год использование такой древней IDE выглядит мягко говоря странноватым, тем более что основной Delphi является Object Pascal, в то время как практически повсеместно распространены C / C++ / C# ... Но причина такой моей любви к Delphi достаточно банальна, т.к. это Rapid Application Development Tools. Мне не нужно задумываться о написании интерфейсов, работой с окнами, обработкой событий и т.п., все визуальные элементы (кнопочки, таблички и т.п.) представлены отдельными компонентами и работать с ними достаточно просто. Кто-то конечно скажет, ха, удивил, можно взять например современный MSVC и все то же самое сделать там. Плюс, при использовании MFC и т.п. работа c контролами GUI также не представляет ничего сложного. Так-то оно так, только я не хочу осваивать ни MFC, ни Qt, ни что-либо еще. И не хочу писать на C#. Причина банальна - время. Т.е. я могу писать и на C, некоторые вещи правда придется вспоминать со справочниками / Google'ем, т.к. постоянного опыта программирования у меня нет (писать что-то приходится от случая к случаю и в основном для себя, в крупных проектах с несколькими разработчиками и т.п. участия я никогда не принимал), но на все это уходит время, а я стремлюсь к наиболее быстрому получению результата.
Т.е. если мне нужна форма с кнопочкой при нажатии на которую будет выполнена нужна мне последовательность действий - я хочу просто разместить на форме эту кнопочку и написать соответствующий обработчик onClick, а не Google'ить про каркасные Win32 приложения, обработку событий и т.п. ;) Т.к. все это опять же время, хотя по-сути ничего сложного там нет. Просто потратить еще несколько дней, например, на то чтобы понять как работать с диалогами с помощью WinAPI и т.п. - для меня это "непозволительная роскошь". Поэтому в качестве IDE разработки используется именно то, что для меня быстрее и удобнее. Более новые версии Delphi я не использую, т.к. не люблю "монструозности", плюс, все равно проекты собранные в Delphi 7 одинаково работоспособны как на Win2k/XP, так и на более современных версиях ОС, включая Win10, поэтому особенных преимуществ в использовании новой IDE я тоже не вижу.
Обновлено 27.08.2016 21:20 (MSK)
Работа потихоньку движется, несколько рабочих скриншотов утилиты на разных версиях ОС:
Перейду сразу к сути "проблемы" ;) Общедоступных утилит по работе с платформой Qualcomm на "низком уровне", т.е. утилит для прошивки, чтения разделов из памяти телефона и т.п. сервисных операций, практически нет. Если конечно небезызвестная всем QPST и QFIL, eMMC RAW Tool, про которую я как-то рассказывал, но так или иначе использовать их в "повседневной" жизни удается не многим. Приведу простой пример. Не так давно я писал о вышедшем официальном обновлении Android 6.0.1 для Alcatel Idol 3 4.7" 6039Y, некоторым из пользователей, которые успели обновиться по ряду причин он не понравился и они хотели бы вернуться на предыдущую версию Android - Lollipop. Однако, официального пути сделать это нет, прошивок (помимо nandroid backup'ов в TWRP) вообщем-то тоже. А ведь было бы вполне неплохо, если бы можно было за'backup'ить все разделы с работающего аппарата (напомню, что Idol 3 построен на базе MSM8916) и иметь рабочую версию стоковой прошивки, которой в любом момент можно было бы восстановить аппарат. Т.е. не понравился апдейт - вернулся к предыдущему состоянию. То же самое касается и backup'а / прошивки отдельных разделов, например, recovery и т.п.
Вообщем отсутствие инструментария способного вытаскивать и прошивать разделы на Qualcomm'е сподвигло меня к написанию своего приложения, которое получило рабочее название Sahara & Firehose Test. Пишется оно крайне медленно (уже на протяжении нескольких месяцев, т.к. время на разработку удается найти только в свободное от работы и других дел время), однако, процесс не стоит на месте:
- Работать с телефоном из 9008 Download Mode (Emergency)
- Загружать Firehose Programmer по протоколу Sahara (естественно что для каждого устройства необходим свой MPRG)
- Осуществлять ряд базовых операций через Firehose
- Считывать с eMMC Flash таблицу разделов GPT и парсить ее
На скриншоте как раз видно считанную с Idol 3 6039Y GPT. В будущем (если будет время и мотивация) планируется расширить функционал приложения, вплоть до создания полноценного флешера. Объем работы там очень большой, т.к. все создается с нуля, в некоторых местах "изобретаются велосипеды", а некоторые вещи приходится изучать по-ходу дела. Так, например, пока я не взялся писать Sahara & Firehose Test я имел весьма отдаленное представление о том как работает Sahara. Пришлось найти в интернете множество различных исходников (кстати, я уже писал об одном Open Source инструменте, который позволяет работать с Sahara'ой - OpenPST, другим таким инструментом является проект qtools, разработкой которого занимаются уважаемые forth32 и vve), потратить не один час за анализом протоколов обмена с загрузчиком в USBLyzer'е и перелопатить кучу другой информации.
Разработка проекта ведется в Delphi 7 ;) Конечно, когда на двое 2016 год использование такой древней IDE выглядит мягко говоря странноватым, тем более что основной Delphi является Object Pascal, в то время как практически повсеместно распространены C / C++ / C# ... Но причина такой моей любви к Delphi достаточно банальна, т.к. это Rapid Application Development Tools. Мне не нужно задумываться о написании интерфейсов, работой с окнами, обработкой событий и т.п., все визуальные элементы (кнопочки, таблички и т.п.) представлены отдельными компонентами и работать с ними достаточно просто. Кто-то конечно скажет, ха, удивил, можно взять например современный MSVC и все то же самое сделать там. Плюс, при использовании MFC и т.п. работа c контролами GUI также не представляет ничего сложного. Так-то оно так, только я не хочу осваивать ни MFC, ни Qt, ни что-либо еще. И не хочу писать на C#. Причина банальна - время. Т.е. я могу писать и на C, некоторые вещи правда придется вспоминать со справочниками / Google'ем, т.к. постоянного опыта программирования у меня нет (писать что-то приходится от случая к случаю и в основном для себя, в крупных проектах с несколькими разработчиками и т.п. участия я никогда не принимал), но на все это уходит время, а я стремлюсь к наиболее быстрому получению результата.
Т.е. если мне нужна форма с кнопочкой при нажатии на которую будет выполнена нужна мне последовательность действий - я хочу просто разместить на форме эту кнопочку и написать соответствующий обработчик onClick, а не Google'ить про каркасные Win32 приложения, обработку событий и т.п. ;) Т.к. все это опять же время, хотя по-сути ничего сложного там нет. Просто потратить еще несколько дней, например, на то чтобы понять как работать с диалогами с помощью WinAPI и т.п. - для меня это "непозволительная роскошь". Поэтому в качестве IDE разработки используется именно то, что для меня быстрее и удобнее. Более новые версии Delphi я не использую, т.к. не люблю "монструозности", плюс, все равно проекты собранные в Delphi 7 одинаково работоспособны как на Win2k/XP, так и на более современных версиях ОС, включая Win10, поэтому особенных преимуществ в использовании новой IDE я тоже не вижу.
Обновлено 27.08.2016 21:20 (MSK)
Работа потихоньку движется, несколько рабочих скриншотов утилиты на разных версиях ОС:
Описывать "внутренние изменения" и вести history of changes пока рановато, но могу сказать что их не мало и даже на данном этапе уже проделана большая работа. Маленькая колонка справа в списке таблицы разделов предназначена для выбора действия с конкретным разделом. Т.е. та операция, которая будет производиться. Возможные значения:
- E - Erase partition
- R - Read partition
- W - Write partition
С помощью утилиты можно будет не только сделать Backup любого раздела аппарата, но и прошить его. Таким образом утилиту можно будет использовать как для полной прошивки аппарата, так и для прошивки определенных разделов (например, recovery). По мере сил и возможностей постараюсь держать вас в курсе разработки ... ну а пока, stay tuned ... ;)
Обновлено 02.09.2016 22:03 (MSK)
Как я и писал ранее работа над альтернативным флешом для наших устройств продолжается. На данный момент реализованы следующие вещи:
Обновлено 02.09.2016 22:03 (MSK)
Как я и писал ранее работа над альтернативным флешом для наших устройств продолжается. На данный момент реализованы следующие вещи:
- Определение списка COM-портов в системе, в том числе и их названий.
- Взаимодействие с аппаратом и загрузка Firehose Programmer'а по протоколу Sahara.
- Чтение и парсинг таблицы разделов (GPT) устройства.
- Чтение информации об устройстве (IMEI, Артикул, серийный номер)
- Чтение выбранных разделов с устройства (на данный момент можно считать только разделы boot и recovery)
- Поддержка Alcatel Idol 3 4.7" 6039 и Alcatel Idol 3 5.5" 6045.
Рабочее название приложения Sahara & Firehose Test, в будущем это будет полноценный flasher с возможностью полной прошивки, записи отдельных разделов и, возможно, некоторыми другими функциями. На данный момент требуются тестеры, готовые проверить работу флешера, а именно, существующие функции, на своем аппарате. Страшного ничего не произойдет, т.к. флешер пока только читает данные и ничего не записывает в аппарат.
Краткая инструкция
- Устанавливаем на ПК драйвера Alcatel, если они у вас еще не установлены. Самый простой способ сделать это - это установить утилиту Mobile Upgrade Q отсюда. Она автоматически установит все необходимые драйвера.
- Переводим свой телефон в Download Mode так, как описано в этом посте. На всякий случай, повторюсь и тут. Для перевода телефона в режим Download Mode подключаем выключенный телефон к ПК и зажимаем на нем: Громкость Вверх + Громкость Вниз + Кнопка включения питания. Обязательно зажимать их при подключенном к ПК USB кабеле (!). После появления картинки как на скриншоте, нажмите Громкость Вверх для перехода в Download Mode. Если вы подключили к ПК включенный телефон, последовательность действий та же, просто держите нажатые кнопки до тех пор, пока телефон не перезагрузится. Вплоть до появления этой картинки. Далее по инструкции выше.
- Нажимаем в программе кнопку Detect, программа должна найти список всех COM-портов в системе. Выбираем вашу модель телефона и COM-порт с названием Qualcomm HS-USB QDLoader 9008 (у вас он может называться чуть по-другому, в зависимости от версии драйвера установленного в системе, важно выбрать тот COM-порт, который содержит в названии 9008).
- Нажимаем кнопку NPRG для загрузки в телефон Firehose Programmer'а. Если все прошло успешно, то вы увидите что-то вроде:
02.09.2016 21:45:03: Start Download NPRG .... 02.09.2016 21:45:03: offset[0],len[52] 02.09.2016 21:45:03: offset[52],len[96] 02.09.2016 21:45:03: offset[4096],len[4096] 02.09.2016 21:45:03: offset[8192],len[2440] 02.09.2016 21:45:03: offset[12288],len[4096] 02.09.2016 21:45:03: offset[16384],len[4096] 02.09.2016 21:45:03: offset[20480],len[4096] 02.09.2016 21:45:03: offset[24576],len[4096] 02.09.2016 21:45:03: offset[28672],len[4096] 02.09.2016 21:45:03: offset[32768],len[4096] 02.09.2016 21:45:03: offset[36864],len[4096] 02.09.2016 21:45:03: offset[40960],len[4096] 02.09.2016 21:45:03: offset[45056],len[4096] 02.09.2016 21:45:03: offset[49152],len[4096] 02.09.2016 21:45:03: offset[53248],len[4096] 02.09.2016 21:45:03: offset[57344],len[4096] 02.09.2016 21:45:03: offset[61440],len[4096] 02.09.2016 21:45:03: offset[65536],len[4096] 02.09.2016 21:45:03: offset[69632],len[4096] 02.09.2016 21:45:03: offset[73728],len[4096] 02.09.2016 21:45:03: offset[77824],len[4096] 02.09.2016 21:45:03: offset[81920],len[4096] 02.09.2016 21:45:03: offset[86016],len[4096] 02.09.2016 21:45:03: offset[90112],len[4096] 02.09.2016 21:45:03: offset[94208],len[4096] 02.09.2016 21:45:03: offset[98304],len[4096] 02.09.2016 21:45:03: offset[102400],len[4096] 02.09.2016 21:45:03: offset[106496],len[3044] 02.09.2016 21:45:03: SAHARA_END_IMAGE_TX_ID received 0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 *................* 02.09.2016 21:45:04: Send done command 0000: 06 00 00 00 0C 00 00 00 00 00 00 00 *............ *
- Нажимаем кнопку Get GPT. В результате мы должны увидеть таблицу разделов. Если таблица GPT заполнилась, дальше уже можно выполнять другие действия с телефоном. Например прочитать информацию о нем или сделать backup разделов boot и recovery.
- Проверяем функционал Info и Read. Чтобы считать раздел из телефона (напомню, что пока поддерживается только чтение boot и recovery) необходимо поставить галочку напротив него и выбрать файл, куда будет сохранен образ раздела. После чего нажать кнопку Read.
- Тестируем пока имеющийся функционал и отписываемся в теме. Если что-то пошло не так, например, телефон завис в процессе чтения данных или произошла любая другая нештатная ситуация, опять вводим телефон в Download Mode, т.е. выполняем инструкцию с пункта 2. Да, важное замечание, кнопку NPRG небходимо нажимать только один раз, т.е. загрузчик загружается в телефон единожды после перевода его в Download Mode. Для выполнения дальнейших действий загружать его повторно не нужно.
Все свои вопросы, предложения, пожелания и т.п. можно высказывать здесь в комментариях.
Имя файла: Alcatel_Flasher.rar
Пароль на архив: decker.su
Обновлено 03.09.2016 00:48 (MSK)
Краткий FAQ от 02.09.2016
- Q. А эта разработка только для Alcatel или с какими вообще аппаратами ее можно использовать?
A. В целом ПО можно научить работать и с другими моделями аппаратов на Qualcomm, но на данный момент поддерживаются только две модели Alcatel Idol 3 6039 и Alcatel Idol 3 6045. Пока говорить о поддержке других моделей и т.п. рано, т.к. для начала необходимо отладить основной функционал, чтение / запись и т.д. и т.п. Работы еще достаточно много. - Q. Ок, понятно. У меня как раз Idol 3, могу ли я прошить TWRP с помощью этого ПО?
A. На данный момент нет, т.к. запись разделов пока не реализована. Однако вы можете уже сейчас попробовать сделать backup разделов boot и recovery с вашего аппарата, чтобы убедиться что все работает так, как нужно. Для записи будет аналогичная кнопка - Write, однако, это пока не реализовано. - Q. И когда следующий релиз с поддержкой записи?
A. Этого я и сам, к сожалению, не знаю, прочитайте пост чуть выше, там все рассказано о том как и за счет чего ведется разработка. Одно могу сказать точно, этот тот проект, который я заинтересован довести до конца, хотя бы для использования в личных целях. Когда это произойдет - это вопрос времени. - Q. А как я могу узнать об обновлениях, например, о выпуске нового билда и т.п.?
A. Вы можете следить за всеми новостями на этой странице, добавьте ее в закладки и периодически просматривайте. Вся новая информация сперва будет появляться здесь. Возможно я также буду публиковать ее на некоторых других ресурсах, но первоисточник тут и только тут. Т.к. иногда просто физически нет времени писать везде и обо всем. - Q. Как я могу поддержать проект или помочь в его развитии?
A. Поддержать проект вы можете здесь, если речь идет о donate. На той же странице вообщем-то виден и вклад других участников. Также, вы можете поддержать проект своим участием в тестировании или распространением информации о нем, например, с помощью кнопок "Поделиться" в социальных сетях и т.д. и т.п. Любая помощь проекту является абсолютно добровольной, поэтому в чем именно выразится конкретно ваша поддержка - решать вам.
Обновлено 03.09.2016 00:48 (MSK)
До следующего релиза еще далеко, но могу сказать что флешер уже "обучен" читать все разделы, в том числе и разделы размер которых превышает 2147483647 байт (именно с этим сегодня была небольшая проблема). На скриншоте ниже показан результат чтения всех разделов с Idol 3 6039Y:
Кстати, как сообщают различные СМИ 04.09.2016 в опасной близости от Земли пройдет очередной астероид, размеры которого сопоставимы с 2016 QA2 , так что если 4-го сентября вдруг настанет час "X" для человечества или определенной его части, я бы хотел немного отдохнуть от разработки, хотя бы в эти дни ... Stay tuned ... ;)
Обновлено 03.09.2016 22:43 (MSK)
Исправлена ошибка при которой при наличии нескольких COM-портов в системе при выполнении любого действия автоматически выбирался первый порт из списка. Спасибо пользователю dennwgsm за багрепорт. Обновленная версия приложения доступна по ссылке "Скачать" выше.
Обновлено 04.09.2016 20:26 (MSK)
Обновлено 07.09.2016 03:15 (MSK)
Очередное обновление build'а приложения (если вы заметили, релизы приложения нумеруются не по номерам версий, а по дате / времени компиляции). Добавлена обработка ошибок при чтении разделов на некоторых конфигурациях PC. В процессе тестирования выяснилось, что у некоторых пользователей приложение работает без проблем, а у некоторых при попытке backup'а раздела зависает. С чем это связано пока, к сожалению, выяснить не удалось, т.к. пользователей принимающих активное участие в процессе тестирования довольно мало и проблема проявилась только у двух из них (проблема может быть как в ОС, так и в драйверах, также не исключается вариант с проблемным USB-контроллером). В этой версии приложения внесено несколько существенных изменений, направленных на выяснение причины этих "зависаний", теперь при обнаружении проблемы максимум информации должно отображаться в логе. Улучшено определение параметров устройства, специфичных для некоторых аппаратов Alcatel. Последняя версия приложения всегда доступна по кнопке "Скачать" в этом посте, так что обновляемся и отписываемся.
Обновлено 07.09.2016 19:57 (MSK)
Радостная новость для всех кто следит за проектом. Начиная с билда 07.09.2016 19:41:45, который уже можно скачать по ссылке из поста - доступна запись разделов. На данный момент поддерживаются только RAW образы разделов (т.е. образы полученные с помощью побайтного копирования или backup'а), SPARSED образы - не поддерживаются.
В текущей версии приложения доступно чтение и запись только двух разделов - boot и recovery. Перед любыми операциями записи настоятельно рекомендуется сделать сначала backup выбранных разделов. Обратите внимание, что на некоторых конфигурациях PC (возможно из-за установленных драйверов или специфических USB контроллеров) чтение backup'а разделов может проходить с ошибкой. В этом случае не рекомендуется использовать функцию записи. Т.е. вначале проверяем - если backup (read) разделов у вас создается успешно, то воспользоваться функцией записи можно. Если backup приводит к ошибке или приложение "зависает" в процессе - то пользоваться режимом записи не рекомендуется, т.к. это потенциально может привести к повреждению данных в разделе и другим нежелательным последствиям. Восстановить "все как было" в данном случае можно будет только прошив аппарат используя Mobile Upgrade.
Также, теперь приложение можно использовать для прошивки TWRP даже для тех аппаратов, на которых его прошивка через QFIL или другими способами была невозможна. Давайте рассмотрим все на примере.
Как прошить TWRP Recovery с помощью Sahara & Firehose Test?
На этом пока всё. Тестируем и отписываемся в комментариях.
Обновлено 23.10.2016 11:55 (MSK)
Поздравляю всех с выходом долгожданного build'а с поддержкой Alcatel Idol 4 6055, начиная с релиза от 23.10.2016 он полностью поддерживается:
Обновлено 03.09.2016 22:43 (MSK)
Исправлена ошибка при которой при наличии нескольких COM-портов в системе при выполнении любого действия автоматически выбирался первый порт из списка. Спасибо пользователю dennwgsm за багрепорт. Обновленная версия приложения доступна по ссылке "Скачать" выше.
Обновлено 04.09.2016 20:26 (MSK)
- [TOOL] Sahara & Firehose Test (Alcatel Flasher oncoming ...) - ветка с приложением на XDA.
Аналогичный пост в теме про Idol 3 на 4PDA.(пост удален ввиду отсутствия интереса у пользователей)
Небольшое видео иллюстрирующее методику тестирования приложения:
Обновлено 07.09.2016 03:15 (MSK)
Очередное обновление build'а приложения (если вы заметили, релизы приложения нумеруются не по номерам версий, а по дате / времени компиляции). Добавлена обработка ошибок при чтении разделов на некоторых конфигурациях PC. В процессе тестирования выяснилось, что у некоторых пользователей приложение работает без проблем, а у некоторых при попытке backup'а раздела зависает. С чем это связано пока, к сожалению, выяснить не удалось, т.к. пользователей принимающих активное участие в процессе тестирования довольно мало и проблема проявилась только у двух из них (проблема может быть как в ОС, так и в драйверах, также не исключается вариант с проблемным USB-контроллером). В этой версии приложения внесено несколько существенных изменений, направленных на выяснение причины этих "зависаний", теперь при обнаружении проблемы максимум информации должно отображаться в логе. Улучшено определение параметров устройства, специфичных для некоторых аппаратов Alcatel. Последняя версия приложения всегда доступна по кнопке "Скачать" в этом посте, так что обновляемся и отписываемся.
Обновлено 07.09.2016 19:57 (MSK)
Радостная новость для всех кто следит за проектом. Начиная с билда 07.09.2016 19:41:45, который уже можно скачать по ссылке из поста - доступна запись разделов. На данный момент поддерживаются только RAW образы разделов (т.е. образы полученные с помощью побайтного копирования или backup'а), SPARSED образы - не поддерживаются.
В текущей версии приложения доступно чтение и запись только двух разделов - boot и recovery. Перед любыми операциями записи настоятельно рекомендуется сделать сначала backup выбранных разделов. Обратите внимание, что на некоторых конфигурациях PC (возможно из-за установленных драйверов или специфических USB контроллеров) чтение backup'а разделов может проходить с ошибкой. В этом случае не рекомендуется использовать функцию записи. Т.е. вначале проверяем - если backup (read) разделов у вас создается успешно, то воспользоваться функцией записи можно. Если backup приводит к ошибке или приложение "зависает" в процессе - то пользоваться режимом записи не рекомендуется, т.к. это потенциально может привести к повреждению данных в разделе и другим нежелательным последствиям. Восстановить "все как было" в данном случае можно будет только прошив аппарат используя Mobile Upgrade.
Также, теперь приложение можно использовать для прошивки TWRP даже для тех аппаратов, на которых его прошивка через QFIL или другими способами была невозможна. Давайте рассмотрим все на примере.
Как прошить TWRP Recovery с помощью Sahara & Firehose Test?
- Первое что необходимо сделать - это сохранить backup раздела recovery, так, как это описано в краткой инструкции выше и показано в видео.
- Если backup успешно сохранен просто выбираем файл с образом TWRP recovery, соответствующим вашей версии аппарата, ставим галочку на разделе recovery и нажимаем кнопку Write.
После чего вам будет выдано следующее предупреждение:
Если вы нажмете Yes - операция записи будет отменена, если вы выберете No - запись будет продолжена. Пример лога успешной записи раздела recovery:
07.09.2016 20:15:17: Ready to do job with 1 partition(s)
07.09.2016 20:15:17: Process "recovery" - File: D:\Temp\alcatel_flasher\recovery_twrp.img
07.09.2016 20:15:17: Partition size: 33554432 bytes
07.09.2016 20:15:17: Data size: 33554432 bytes
07.09.2016 20:15:18: Bytes read: 91
XML[0] = <?xml version="1.0" encoding="UTF-8" ?><data><response value="ACK" rawmode="true" /></data>
07.09.2016 20:15:23: Bytes read: 92
XML[0] = <?xml version="1.0" encoding="UTF-8" ?><data><response value="ACK" rawmode="false" /></data>
На этом пока всё. Тестируем и отписываемся в комментариях.
Обновлено 23.10.2016 11:55 (MSK)
Поздравляю всех с выходом долгожданного build'а с поддержкой Alcatel Idol 4 6055, начиная с релиза от 23.10.2016 он полностью поддерживается:
К сожалению, из-за низкого интереса пользователей и отсутствия поддержки проекта я вынужден приостановить все работы над ним. Немного статистики: из 1000 человек скачавших утилиту было собрано всего около 60 USD пожертвований на развитие проекта от 5 разных человек (все они участники форума xda-developers.com), за что им огромное спасибо. Естественно, что собранной суммы недостаточно для покупки тестовых устройств и продолжения работ, более того, я получил в ЛС не одно сообщение в стиле "почему я должен страдать, вы должны выложить утилиту прямо сейчас", "если тебе нужны деньги найди себе работу программистом или что-то вроде этого" и т.п. ... неудивительно, что при таком отношении всякая мотивация заниматься проектом полностью пропала. Так что, можно сказать, что пользователи сами выбрали судьбу этой разработки, а их отношение показало только одно - труд разработчиков никто не ценит и любая поддержка проекта за счет "голосования рублем" изначально обречена на провал. Жаль, потому что интересных идей было много, например, в проекте были функции по сбросу FRP и некоторые другие идеи. Что ж, как говорится, community сделало свой выбор.
Готовую сборку TWRP recovery с полной поддержкой дешифрования раздела userdata вы можете скачать здесь - twrp_recovery_idol4_6055.img .
Готовую сборку TWRP recovery с полной поддержкой дешифрования раздела userdata вы можете скачать здесь - twrp_recovery_idol4_6055.img .
А когда примерно выйдет?
ОтветитьУдалитьКак я уже и сказал - сроки не определены. Все зависит от наличия свободного времени и мотивации.
УдалитьА ты как делаешь прогу? Как в OpenPST оберка на консольные утилиты или все в одну программу пихаешь?
ОтветитьУдалитьРазработка ведется с "нуля", т.е. это самостоятельное приложение, а не GUI для существующих консольных утилит.
УдалитьТяжелое решение
ОтветитьУдалитьпо ряду причин он не понравился. почему именно не нравиться 6.0 на Alcatel Idol 3 4.7" 6039Y
ОтветитьУдалитьПривет, а планируется ли добавление других моделей телефонов в программу? например Micromax Q415 Canvas Pace 4G?
ОтветитьУдалитьОб этом говорить пока рано, но технически - это не представляет особенных сложностей. Для начала нужно протестировать имеющийся на данный момент функционал.
Удалитькак можно потестировать, на микромаксе? просто хочется помочь хоть чем-то
УдалитьЕсли что раскирпичивать умею
Попробовал программу, работает. Образы разделов boot и recovery сохранил. А как этой информацией можно воспользоваться для диагностики? Мой Idol3 впал в циклический ребут. Перепрошивка в Mobile Upgrade Q не помогла, хотя программа пишет, что прошивка прошла успешно и смартфон готов к работе.
ОтветитьУдалитьSorry for english,
ОтветитьУдалитьcan you make "developer" version,
with some .ini file, to be able to change used programmer,
because different manufacturers, use differntly signed loaders
Of course, if standard sahara is still present ...
idea is to test it with other alcatel models, or other brands, like Lenovo etc.
thanks in advance
b.r.
Alex (mobilexpert from XDA, Brka from gsmhosting forum).
Good idea, maybe I'll use it in the future and add possibility to use custom ("user defined") NPRG. When this feature comes to app, unfortunately, I can not say anything concrete.
Удалитьwow, your new alcatelflasher tutorial is very close to mine, no prob ;)
Удалитьdonations begins from XDA idol4 members, they are waiting for you :)
пытался пару раз все проходит нормально копирование итд в рекавери забиваю recovery-3.0.2-0-decker.img или twrp-2.8.7.0-idol3_3.img
ОтветитьУдалитьполоска индикации в конец и никаких сообщений ни логов
ждал около 5 минут twrp после перезагрузки не вышло / родное выходит /пробовал несколько раз
забыл добавить модель 6045I ANDROID 6.01
ОтветитьУдалитьУказанные вами образы TWRP recovery-3.0.2-0-decker.img и twrp-2.8.7.0-idol3_3.img предназначены только для OT-6039, т.е. для 4.7" модели. При прошивке их в 5.5" версию, естественно ничего работать не будет. Вам нужно найти TWRP для вашей версии аппарата, после чего прошить его указанным в статье способом и сразу же после прошивки загрузиться в TWRP (не дожидаясь загрузки ОС Android). Если после прошивки recovery Android все-таки запустится, то прошитый вами TWRP будет автоматически заменен стоковым recovery, именно поэтому важно сразу после прошивки загрузиться в него до того как Android загрузится первый раз.
Удалитьспасибо!
ОтветитьУдалитьhttp://www.phonandroid.com/forum/twrp-2-8-7-0-alcatel-one-touch-idol-3-t132569.html тут взял twrp программой вашей прошил все ок
ОтветитьУдалитьСПАСИБО ОГРОМНОЕ!!!
04.10.2016 11:34:19: Port COM31 succefully opened.
ОтветитьУдалить04.10.2016 11:34:20: Bytes read: 0
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 *................*
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 *................*
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 *................*
04.10.2016 11:34:20: Failed to Download NPRG, Please reset the handset and try again.
Данный лог может говорить о многом, например, о том что телефон в момент подключения не находится в Download Mode, или же, например о том, что на ПК есть другие программы, которые пытаются читать / записывать данные из COM порта в момент подключения телефона, или же, например, о некорректно установленных драйверах, неисправном USB-кабеле, или проблемах в ОС или с USB контроллером. Попробуйте проделать ту же самую операцию на другом ПК или ПК со свежеустановленной ОС. Если в ПК несколько USB контроллеров, например USB3.0 и USB2.0 - попробуйте подключить аппарат к другому USB контроллеру. В любом случае предоставленной вами информации недостаточно для того чтобы сказать что-то определенное. Хотите реальной помощи - снимите видео, показывающее что вы делаете и как. На видео должно быть видно какие действия вы производите с аппаратом, содержимое диспетчера устройств и т.д. и т.п. Если уж приводить "багрепорт", то он должен быть максимально полным.
УдалитьЯ так и не понял на данный момент можно этой программой прошить TWRP recovery или нет?
ОтветитьУдалитьТекущая версия работает с Idol 3 6039 и Idol 3 6045. На этих моделях, естественно, можно прошить TWRP. Вот, как пример - Alcatel Idol 3 (4.7") 6039Y. TWRP Recovery. Прошивка.
УдалитьНаписано ведь, что начиная с билда 07.09.2016 19:41:45, который уже можно скачать по ссылке из поста - доступна запись разделов.
УдалитьНетерпится дождаться поддержки IDOL 4,чтобы прошить twrp и поставить наконец рут, спасибо вам большое за ваш труд.
ОтветитьУдалитьНа данный момент в поддержку разработки флешера собрано около 60 USD, причем практически все пожертвования собраны участниками европейского форума xda-developers, за что им отдельное спасибо. Однако, пока собранной суммы недостаточно для покупки "тестовых аппаратов" 6055K и 6070K ... как только я смогу позволить себе купить еще один 6055K для экспериментов выйдет релиз с поддержкой Idol 4.
УдалитьИсходя из этого стоит ли ожидать поддержку Micromax Q415 Canvas Pace 4G, если есть время напишите мне на почту frikks91@ya.ru
УдалитьОтвет есть в посте: "К сожалению, из-за низкого интереса пользователей и отсутствия поддержки проекта я вынужден приостановить все работы над ним ..."
УдалитьYou should translate your donation page in English... it may help you get some money ;)
ОтветитьУдалитьПривет!
ОтветитьУдалитьДля таких как я есть решение?
12.01.2017 16:38:18: Ready to do job with 2 partition(s)
12.01.2017 16:38:18: Error process "boot", empty filename ...
12.01.2017 16:38:18: Error process "recovery", empty filename ...
6045К, 6.0.1, 010 10
Есть. Называется оно "читаем внимательно". Вы не выбрали файл для чтения / записи разделов. Т.е. если вы считываете информацию из разделов boot и recovery, нужно выбрать файл, вернее два файла, куда будут считаны эти разделы. Если записываете, то естественно нужно указать файлы из которых будут браться образы разделов.
Удалитьблин а когда же выйдет поддержка флагмана алкатель IDOL 4S 6070K ?
ОтветитьУдалитьПроект закрыт, ввиду отсутствия интереса к нему пользователей. Новых версий и обновлений не планируется. Посмотрите на количество загрузок, если хотя бы половина из этих пользователей перечислила в поддержку проекта символическую сумму в 100 руб., то был бы смысл продолжать. А так - увы ... нет никакой мотивации этим заниматься.
УдалитьЗдравствуйте уважаемый разработчик! Наткнулся на вашу статейку, очень увлекательно и познавательно. К сожалению таких умных и добрых людей очень мало в мире осталось. Ваш проект действительно нужен многим людям, я сам пробовал начинать писать скрипты на С++, но в связи со своими микро познаниями и как вы выражаетесь, нехватка свободного времени, вскоре забросил это не посильное дело. Я прекрасно понимаю ваш не оправданный труд, но ни в коем случае не отпускайте руки. Скачал ваше творение, в данный момент юзаю. Мне чаще приходится работать с железом (телефоны, планшеты).А как вы понимаете железо без ПО это ничто! В общем ближе к моей проблеме: пылится у меня телефончик NOKIA RM-1013 на QYALCOMM MSM8210 висит в 9008. Помогите пожалуйста! Можно вашими средствами и познаниями восстановить загрузчик на данном аппарате? Спасибо!
ОтветитьУдалитьДавайте я вам перечислю 1000р если сделайте TWRP и Рут права для idol 4s 6070К просто без всего этого как без рук ни Viper FX не поставить не блокировщик рекламы, элементерно поменять шрифт без Рут прав нечего этого не получается ..перепробовал множество программ для его получения в том числе King Root не одна его не берет ((
ОтветитьУдалитьВы действительно считаете что эта сумма сопоставима с месяцами работы, которые ушли на разработку Sahara & Firehose Test?
ОтветитьУдалитьДавайте я приведу вам простую аналогию из реальной жизни ... Представьте, что вы занимаетесь строительством домов, коттеджей и прочих построек. Вы начали строить трехэтажный коттедж и успели построить только первый этаж ... при этом в недостроенное здание был свободный доступ, т.е. каждый мог зайти, посмотреть, оценить, воспользоваться построенным помещением, например, для защиты от дождя, отдыха и т.п. Вы рассчитывали что людям понравится то что вы создали и, как минимум, в рамках "демо-проекта" соберется некая сумма достаточная для постройки второго и третьего этажей. Но к сожалению, люди регулярно заходили в ваше здание, прятались в нем от дождя, смотрели телевизор в удобном кресле, но выходя так никто и не закинул ту самую монетку в банку с надписью "копилка" на выходе. И вы закрыли проект, потому что больше не видели смысла вкладывать в него свои ресурсы.
Через некоторые время на горизонте появляется группа людей и говорит вам, вау, какой классный дом, плохо только что одноэтажный, а давайте, если вы достроите еще два этажа мы дадим вам 1000 руб.? А теперь вдумайтесь ... какова реальная стоимость такого строительства.
p.s. Если вам действительно нужна поддержка Idol 4s во флешере, а также TWRP - создавайте проект на любой краудфандинговой платформе, правила которой позволяют размещать проекты, касающиеся разработки приложений. И объявляйте bounty ну хотя бы в 2000 USD. Я думаю что ближе к тому времени как необходимая сумма начнет потихоньку собираться разработчики наверняка проявят интерес к поставленной вами задаче и, возможно, в их числе буду и я.
для того чтоб набрать 2000 нужно около 250 человек по 500 рублей..Николай Носов предлагает вам 1000!!! рублей, и таких жедающих много..не нужно набивать себе цену. Или должен каждый сложится на ваш проект по 2000уе??? Копилка быстро набьется, не нужно "понты колотить"..
ОтветитьУдалитьКорысть ваш тормоз...
Давайте начнем с того, что это нужно не мне, а пользователям. Это первое. Второе - сумма взята не с потолка. Считаем цену смартфона 26990 руб. (463 USD по текущему курсу), плюс 1500 USD (средняя месячная зарплата инженера). Ну и третье - объявиться в комментариях и сказать что-то вроде "у меня есть целая тысяча рублей" - это каждый мастер, а вот поддержать проект этой тысячей - таких людей нет. Где же все те желающие про которых вы говорите, если до сих пор даже 10-ой части от стоимости телефона не набралось? ;)
УдалитьНу и еще один момент ... прежде чем написать что-то в очередной раз, представьте себе следующую ситуацию: работодатель в один прекрасный день скажет вам, уважаемый iFreeman ... предлагаю вам работать на меня бесплатно, также, вам придется приобрести за собственный счет необходимый вам для работы инструмент и материалы ... Вы ведь понимаете, что ваша работа очень важна для людей. Если вас смущает отсутствие зарплаты - помните, "Корысть ваш тормоз..." ... Что вы ответите ему на подобное предложение? В самой мягкой форме - это предложение поискать других сотрудников на подобных условиях.
УдалитьСоглашусь с тем что люди в 98,9% не готовы "пожертвовать" небольшой суммой даже 50р не могут скинуть.
УдалитьСам являюсь разработчиком уникальных методов, и в свое время имел неосторожность отдать их даром.
А в целом проект интересный, хотя меня больше интересует несколько вопросов
удалось ли обойти ограничение 32 бита адресного пространства в PBL протокол sdl (streaming) и как в firehose записываете данные с использованием rawprogram0.xml
заранее извиняюсь за философию, но уважаемый Decker абсолютно прав- труд должен оплачиваться, и при этом трудами тов. Decker-a пользуется огромное количество людей не говоря даже спасибо не то что денежные поощрения... лично знаю массу людей заработавших деньги в сервисах по ремонту разблокируя те же самые q415 или модемы от мегафона... идея к сожалению обречена на провал изначально- общество не готово к этому и врядли будет готово в ближайшее время. Люди имеющие финансы не имеют заинтересованности, а имеющие заинтересованность не имеют финансов... замкнутый круг. тем не менее вам ув.Decker огромнейшее человеческое СПАСИБО за всю проделанную вами работу как инженером, так и программистом.
УдалитьАга,,, 100р сложно найти? это-ж такие деньги,,,Ооо! 1000человек*100р= 100.000р, а если 2000 или 3000 человек? Это не отсутствие денег, это или не понимание ситуации или ненадобность данного решения.
Удалитьздравствуйте. вобщем такая проблема:я купил телефон но на нем нет режима фастбут, он вырезан производителем"ради безопасности" так вот:я хочу в него запилить рекавери но через адб не прошивает и через рекавери тоже ни как .рут на телефон не встает потому что новый андроид 6 . ваша программа телефон видит но его нет в списке устройств. как быть? и еще вопрос: телефон определяется как 9008 а мне надо 9006 так как определённая программа работает только в этом режиме.как мне перевести в этот режим? телефон алкатель 5056D quallcomm 210
ОтветитьУдалить