среда, 30 сентября 2015 г.

Как отправить сообщение на XBMC / Kodi?

Этот пост возможно будет полезен для тех у кого есть медиацентр на базе XBMC / Kodi / SPMC. Если вкратце, то у меня дома есть вот такая вот приставка (медиапроигрывытель) на Android - Smart Box Quad на котором предустановлен XBMC. Так вот на него, используя JSON-RPC API/v6 можно отправлять сообщения. Зачем это может быть нужно? Ну, например, вы смотрите фильм и хотите чтобы вам приходили какие-то уведомления прямо на экран телевизора. Например, можно написать приложение на Android (к слову, такие уже наверняка есть), которые будут проецировать входящие SMS сообщения с вашего телефона на экран телевизора или отображать другие уведомления. Сделать все это очень просто ... Достаточно включить в настройках XBMC web-сервер для управления, ну а далее послать обычный GET-запрос вида:

/jsonrpc?request={"jsonrpc":"2.0","method":"GUI.ShowNotification","params":
{"title":"title","message":"message","image":"","displaytime":1},"id":1}

И на экране телевизора мы увидим что-то вроде:


На этом все ... о возможных вариантах применения этой фишки, предлагаю вам подумать на досуге ;)

вторник, 29 сентября 2015 г.

Билайн Фаст. Мини-обзор, а также TWRP и root.

Билайн Фаст - большой и яркий ... именно такие первые впечатления сложились у меня об аппарате, когда я только взял его в руки. Вообще предыстория написания этого поста достаточно банальна. Не так давно в одном из ранних постов (Билайн Фаст. Очередные новинки на рынке брендированных устройств) я сделал небольшой анонс новой линейки устройств от Билайн - Билайн Фаст. Для тех кто не читал, расскажу вкратце что представителями этой линейки являются планшет и смартфон, оба построены на базе современных чипов от MediaTek, оба с IPS-матрицей, опять же оба с поддержкой 4G (LTE) и Android 5.1 (Lollipop). Один из моих знакомых, небезызвестный zzzepr, заинтересовался Билайн Фаст (именно смартфоном) и решил приобрести его себе, в скором времени видимо стоит ожидать видеообзор этого смартфона на его канале. Попутно он попросил меня попробовать собрать под этот аппарат кастомный recovery, рассказать о способах получения root, ну и вообще посмотреть на него под углом кастомизации ... Именно этим мы и займемся, но сначала о собственных впечатлениях.

Так получилось что пространства для фотосъемки в этот раз у меня получилось не так много, да и освещение было не очень (все фото делались поздно вечером на письменном столе под светом настольной лампы), но даже по получившимся фото уже можно составить некоторое представление о нем:


Стандартный моноблок черного цвета, задняя крышка которого выполнена из приятного наощупь, похожего на резину матового пластика. Если положить его под электрическую лампу или просто под прямые лучи любого источника света, то на нем становятся видны и отпечатки ваших пальцев и следы от соприкосновения с любыми предметами. Так, например, если вы пользуетесь телефоном без защитного чехла и он хранится у вас в кармане с ключами - будьте уверены, следы от постоянного соприкосновения с ними обязательно будут видны. На передней панели три аппаратные кнопки управления (треугольник, круг и квадрат) в стиле Android Lollipop, кнопки без подсветки, но достаточно заметные, благодаря серебристому выделению контуров.


Слева качелька громкости (на фото), справа - кнопка включения питания, на задней панели - динамик, камера и светодиод вспышки. На фото по центру - отсек для установки батареи, симкарты (здесь она стандартного размера, т.е. miniSIM) и microSD. Несмотря на 5" телефон достаточно удобно лежит в руке. Тут как нельзя кстати вспоминается одна из шуток уведенная мной на просторах социальных сетей. На картинке нарисована анкета и вариант заполнения ее человеком, вопрос анкеты звучит как "У вас было 4 апельсина, вам дали 5 яблок, а потом забрали апельсин и половину яблока. Что у вас осталось?" ... Ответ: огромные руки ;)) Так вот, чтобы удержать Билайн Фаст в руке ладонь не должна быть слишком большой, держать будет удобно, а вот пользоваться одной рукой, например, удерживая аппарат - пытаться нажать большим пальцем той же руки на одну из аппаратных кнопок управления - не очень. Впрочем, для тех у кого когда-то были 5" модели все это уже довольно привычно. Зато расположив телефон горизонтально достаточно удобно набирать сообщения, используя большие пальца обоих рук ... размер кнопок на экранной клавиатуре позволяет с комфортом делать это людям, даже не с самыми маленькими пальцами.


После включения аппарата нам неизбежно бросается в глаза яркий экран ... что хорошо, и размер значков, надписей и других элементов интерфейса. Обратите внимание насколько большой является надпись Google в виджете голосового поиска. Связано это с тем, что несмотря на 5" дисплей максимальное разрешение экрана у Билайн Фаст всего 480x854 пикселей. Со стороны кажется немного не логично, но из-за того что в аппарате используется SoC MediaTek 6735M, а не его старшая версия 6735 (без "М") поддерживающая дисплеи 1280x720, все объяснимо. Тем более что использование младшей модификации чипа также отразилось и на цене аппарата, стоял бы нем полноценный MT6735 и другой дисплей - другой была бы и цена.

Несколько скриншотов с самого устройства:




Доступной пользователю памяти, как видно здесь, 3.8 Gb (это полный объем раздела userdata). С подробными техническими характеристиками Билайн Фаст вы могли познакомиться в предыдущем посте, но на всякий случай приведу их здесь.

Технические характеристики смартфона Билайн Фаст:


  • Операционная система: Google Android 5.1 (Lollipop)
  • Процессор: 1.0 GHz, 4-ядерный, MediaTek MT6735M
  • Память: 1 Gb (RAM) + 8 Gb (ROM), поддержка карт памяти microSDHC до 32 Gb
  • Экран: IPS, 5", 480x854 пикселей, 16 млн. цветов, мультитач 5 точек
  • Камера: 5 MPix (автофокус) - основная, 2 MPix - фронтальная
  • Разъем для подключения аудио: стандартный 3.5 мм
  • Разъем для SIM-карты: mini-SIM
  • Стандарты и диапазоны: GSM 900/1800 MHz, UMTS 900/2100 MHz, LTE B3/B7/B20
  • Скорость приема / передачи данных: до 150/50 Mbit/s (указанные скорости доступны при использовании технологии LTE и являются теоретическим максимумом)
  • Беспроводные технологии: BT 4.0, Wi-Fi 802.11 a/b/g/n (2.4/5 GHz)
  • Навигационные возможности: GPS, A-GPS
  • Коммуникации: голосовые вызовы, прием / передача сообщений SMS и MMS
  • Батарея: 2200 мА·ч
  • Доступные цвета: черный, золотой, серебристый
  • Смартфон Билайн Фаст изначально настроен на работу в сети Билайн (simlock)
  • Производитель: Шеньчжэнь Лонгхуа Форчуншип Технолоджи Ко., Лтд.

Из-за используемого процессора смартфон выдает в Antutu около 20000 "попугаев", соответствующие результаты мы видим и в Vellamo Benchmark. Так, например, пытаясь добавить свой блог в закладки в Google Chrome я ощутил небольшую задержку, после нажатия "звездочки" (иконка добавления в закладки) до появления экрана с предложением ввести описание и URL сайта. Такие же микрозадержки иногда можно встретить и при навигации по меню (впрочем, может это я слишком придирчив, или мне достался такой экземпляр). Но как по мне - если серфинг, то быстрый, если рендеринг страницы в браузере - то незаметный, т.е. без задержек.


Теперь немного о различных Recovery. Штатный recovery в Билайн Фаст имеется. Чтобы зайти в него необходимо при включении аппарата удерживать кнопки Громкость Вверх + Power (кнопка включения питания). В появившемся меню Select Boot Mode необходимо выбрать Recovery Mode (навигация по меню осуществляется при помощи Громкость Вверх, выбор пункта меню осуществляется с помощью кнопки Громкость Вниз). На следующем экране с лежащим разобранным Android'ом и надписью "Команды нет", нужно опять же нажать и задержать (интервал на который нужно удерживать кнопки определяется экспериментально, 1-2 секунды, после нескольких попыток - получится) Грокость Вверх + Power для входа в меню Recovery:


Ну и конечно же я не мог удержаться от возможности портировать TWRP под него (TWRP для Билайн Фаст на фото справа). Правда так как изначально портируемый recovery был взят с китайского аппарата на схожей платформе, то некоторые сообщения в логе выводятся не совсем корректно, однако, их не так много и на основной функционал это не влияет.

Установить root можно как прошивкой UPDATE-SuperSU-v2.46.zip в TWRP, так и с помощью соответствующей встроенной опции. Т.е. когда мы выбираем в меню TWRP - Reboot -> System, следующим вопросом нам предлагается установка Root. Для того чтобы установить права Root перед перезагрузкой достаточно согласиться и сделать Swipe вправо, чтобы не устанавливать Root - нажмите кнопку Do not install. 

Внимание! Перед установкой root обязательно сделайте Backup своей "нерутированной" прошивки в TWRP. После установки Root первый запуск телефона продлится около 5 минут, т.к. Android начнет оптимизировать ~105 приложений. Результат корректности установки root можно посмотреть в Root Checker:



TWRP и Root для смартфона Билайн Фаст


Пароль на архив: decker.su


В архиве находятся SP Flash Tool нужной версии, драйвера MTK, MT6735M_Android_scatter.txt - скаттер, а также образ TWRP и оригинального recovery. Методика прошивки стандартна для любых устройств на Mediatek. Запускаете SP Flash Tool, выбираете Scatter файл, затем в списке разделов которые вы хотите прошить помечаете галочкой recovery и выбираете файл с нужным образом (т.е. либо TWRP, либо оригинальный recovery). После чего нажимаем в SP Flash Tool кнопку Download, подключаем полностью выключенный телефон к ПК и наблюдаем за процессом прошивки. Также, после подключения выключенного телефона к ПК не лишним будет открыть диспетчер устройств, если у вас там появляется неопределившееся устройство, которое потом исчезает - вам необходимо установить драйвера на него из архива mtk_xp_vista_7_8_x32_x64.zip и повторить процедуру. Если кому-то нужна подробная инструкция с картинками ее можно посмотреть в любом другом посте, касающемся прошивки кастомного recovery, например, здесь или здесь. Единственная разница - архив вы качаете из этого поста, а инструкцией руководствуетесь любой, которая вам понравится.

Работа с памятью в Билайн Фаст


Здесь я бы хотел чуть более подробно остановиться на том, как организована работа с памятью в Билайн Фаст, т.к. цифры "внутренняя память" в технических характеристиках смартфона не дают ответа на главные вопросы, которые интересуют пользователей: сколько внутренней памяти действительно свободно, возможен ли перенос приложений на карту памяти, возможно ли установить штатными средствами несколько ресурсоемких игр и т.п. Как и говорилось выше - полный объем раздела userdata (в котором и сохраняются ваши данные и приложения) - 3.8 Gb. Однако, по-умолчанию часть места уже занята предустановленными приложениями. В результате, при первом включении смартфона вам доступно реальных 2.88 Gb. Однако, есть еще момент ... сразу же после настройки аккаунта Google и подключения к сети WiFi встроенные и системные приложения автоматически обновятся (приложений которые подлежат обновлению достаточно много - здесь и Билайн.Музыка, Карты, Gmail, Play Игры, Мой Билайн и другие). После установки всех обновлений в памяти телефона остаются доступными 1.83 Gb.

В результате, после установки того же World of Tanks и первом запуске приложения вы получите следующую ошибку:


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

Полезные ссылки

  • Билайн Фаст - Новая линейка LTE устройств оператора (небольшой обзор новых гаджетов).

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

воскресенье, 27 сентября 2015 г.

Mikrotik RouterOS. Создаем OpenVPN сервер для подключения клиентов Windows и Android.

Сегодня мы рассмотрим довольно изъезженную тему про поднятие OpenVPN сервера на Mikrotik. Но в отличие от множества мануалов, которые можно найти в сети мы будем настраивать именно TUN (в терминологии Mikrotik - IP), а не TAP (Ethernet) сервер, причем таким образом, чтобы к нему могли подключаться как Windows клиенты, так и клиенты на Android. Большинство мануалов в сети, например, этот предполагают поднятие OpenVPN сервера в Mode: Ethernet. Однако при таком варианте настройки Windows клиенты будут подключаться к нему без проблем, а вот при попытке подключения с Android ничего не получится, т.к. два распространенные клиента под Android - OpenVPN Connect и OpenVPN for Android не умеют работать с TAP-интерфейсом.

Вообщем, наша цель - создать такой сервер, чтобы мы без проблем коннектились к нему и из под Windows, и из под Android и не испытывали при этом никаких проблем. Предполагается что вы уже знакомы с генерацией сертификатов для OpenVPN-сервера и можете сгенерировать их либо в самом Mikrotik'е, либо с использованием OpenSSL. Последний вариант, кстати, хорошо расписан в этой статье. Поэтому здесь мы подробно не будем останавливаться на этом.

Настраиваем OpenVPN следующим образом:


Стандартный для OpenVPN TCP порт 1194 мы изменили на 8888, также не забываем что нам нужно разрешить на него входящие подключения в firewall'е. В mode выставляем ip, что соответствует tun интерфейсу, а в netmask - ставим 30. Как все это будет работать - вы поймете чуть позже. 

В openvpn-profile мы ничего не настраиваем, т.е. Local Address и Remote Address оставляем пустыми. Вместо этого мы будем назначать адреса вручную в PPP -> Secrets для каждого клиента в отдельности. Предположим что у нас их два, один - смартфон на Android (android01), второй - клиент на Windows (правда назвал я его зачем-то android02):


Теперь давайте разберемся ... у нас используется tun интерфейс, при этом должна использоваться маска подсети /30 (почему так - описывать здесь не буду, почитайте мануалы по OpenVPN) ... Что же такое маска /30 (255.255.255.252), чтобы было нагляднее - давайте я приведу вам пример нескольких подсетей с такой маской, включая адреса хостов:

Сеть 1:
Сеть: 172.16.0.0/30
Кол-во хостов: 4
Базовый адрес сети: 172.16.0.0
Широковещательный адрес сети: 172.16.0.3
Первый адрес хоста: 172.16.0.1
Последний адрес хоста: 172.16.0.2
Маска сети: 255.255.255.252

Сеть 2:
Сеть:172.16.0.4/30
Кол-во хостов:4
Базовый адрес сети:172.16.0.4
Широковещательный адрес сети:172.16.0.7
Первый адрес хоста:172.16.0.5
Последний адрес хоста:172.16.0.6
Маска сети:255.255.255.252


Т.о. мы получаем что при использовании tun-адаптера local и remote address должны быть из одной подсети /30, так, для клиента android01 мы прописали local address 172.16.0.1, а remote address 172.16.0.2, для android02 - 172.16.0.5 и 172.16.0.6 соответственно. Теперь напишем клиентский конфиг:

client
dev tun
proto tcp
remote openvpn-server-ip 8888
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert android01.crt
key android01.key
verb 3
pull
auth-user-pass auth.cfg
redirect-gateway def1
dhcp-option DNS 8.8.8.8
dhcp-option DNS 8.8.4.4
tls-cipher TLS-RSA-WITH-AES-256-CBC-SHA

Обратите внимание, здесь в auth-user-pass задается имя файла с логином и паролем auth.cfg (файл состоит из двух строк, на первой логин, на второй пароль), redirect-gateway def1 - нужна для переопределения основного шлюза, т.е. чтобы при подключении к OpenVPN-серверу весь траффик шел через него, и последняя строка tls-cipher задает используемый тип шифрования. Без нее мы получим проблему с TLS failed при соединении, которая подробно описана вот здесь (вообще на форуме Mikrotik'a очень много тем про ошибку TLS при подключении, но решения так нигде и не приведено, по-крайней мере сходу оно не находится, причем как утверждают там же на ранних версиях RouterOS все работало, а вот после обновления версии прошивки почему-то перестало).

Проверяем подключение в OpenVPN Connect и OpenVPN for Android:


Как видно, все работает. Под Windows, с использованием OpenVPN 2.3.8 x86_64-w64-mingw32 все также отлично подключается:



суббота, 26 сентября 2015 г.

Alcatel Idol 3. Как создать backup NVRAM при помощи QPST?

Продолжаем наш маленький цикл статей про Alcatel Idol 3. Не так давно я рассказывал о том, как прошить TWRP через QFIL, однако, не лишним будет иметь еще и backup NVRAM содержащий калибровку вашего телефона и другие важные параметры, такие как IMEI, MAC-адрес WiFi, Bluetooth и т.п. Что нам потребуется? QPST одной из последних версий, например, 2.7.422 (найти ее можно на просторах интернета или взять тут), Mobile Upgrade Q 4.8.7 для установки необходимых драйверов или отдельно комплект Qualcomm'овских драйверов - Alcatel_QCOM_USB_Drivers_AF02_AF08.7z.

Общий смысл операции сводится к активации диагностического порта Qualcomm и последующего снятия backup'а при помощи QPST. Ниже подробная инструкция с картинками:

  1. Подключаем телефон к ПК обычным USB кабелем и во встроенной звонилке набираем комбинацию ###2324# (этот момент также описан в mini-FAQ вот здесь).
  2. После этого на экране телефона появляется надпись:

  3. А в диспетчере устройств новый COM-порт с названием Android HS-USB Diagnostics AF08. Запоминаем его номер, у меня это был COM16.
  4. Далее запускаем QPST Configuration из меню Пуск и добавляем COM16 в список портов:


  5. Запускаем QPST Software Download, переходим на закладку Backup, задаем имя QCN-файла и нажимаем кнопку Start:


  6. По окончании создания backup'а в строке Status должна отобразиться надпись: Memory Backup Completed.
  7. Сохраняем этот файл в надежное место и ни с кем им не делимся, т.к. он содержит персональные данные вашего аппарата. Восстановление из backup'а производится аналогично, только вместо Backup нужно выбрать Restore и выбрать сохраненный вами ранее файл QCN.

воскресенье, 20 сентября 2015 г.

Alcatel Idol 3. Активация Download Mode (HS-USB QDLoader 9008).

"В этом посте расскажу вам удивительный секрет ... Кирпичам всем на Qualcomm'е - скажем дружно наше нет!" ;) Именно с таким преподнятым настроением я и пишу этот пост. Если вы периодически читаете мой блог, то наверное видели предыдущий пост в котором я рассказывал о том, как окирпичил свой телефон до состояния в котором он не определялся в ПК вообще никак. Т.е. ни Android HS-USB QDLoader 9008, необходимый для прошивки не появлялся, ни вообще что-либо. Единственное что умел телефон - это включать светодиод на передней панели при подаче питания через USB. Отчаявшись, я варварским методом (с помощью отвертки) разобрал телефон и попытался найти testpoint методом "научного тыка". Т.е. вслепую. Надо отдать должное компании Alcatel - ибо даже эти попытки замыкания всех подряд контактов на массу телефон пережил (никогда так не делайте). А решение пришло совершенно неожиданно, после разговора с ruslan_3_, который уже описывал данный способ восстановления в нескольких ветках, посвященных устройствам от Alcatel.

На самом деле все очень просто. Если ваш телефон не определятся при подключении к ПК уже никак, то еще не все потеряно. Есть способ получить доступ к Android HS-USB QDLoader 9008 COM-порту, с помощью которого аппарат можно прошить с помощью QFIL или любого другого аналогичного софта (прошивку для аппарата под QFIL в этом посте я выкладывать не буду, т.к. ремкомлпект все еще не готов, собственно в попытках его создания я и окирпичил свой девайс). Я восстановил аппарат прошивкой поврежденных у меня разделов через QFIL, вы же можете попробовать поднять аппарат который находится в состоянии QDLoader 9008 (Download Mode) через тот же Mobile Upgrade. В этом посте я только расскажу о том, как нам получить QDLoader 9008, когда уже "все потеряно".

Итак, нам понадобится самый обычный USB-кабель типа "папа-папа", т.е. USB-A - USB-A, вот такой:


И обычный USB - OTG кабель, т.е. вот такой:


Далее мы просто соединяем все это в единое целое и подключаем к телефону:


После чего вставляем контакты батареи ... и в ПК у нас появляется Android HS-USB QDLoader 9008 COM-порт:


Всё. После этого телефон можно прошивать. Как видите, все успешно:


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


Плюс будьте аккуратны с контактными площадками, на которых располагаются кнопки, т.к., я например, умудрился нечаянно оторвать площадку от кнопки "Громкость-", в результате она у меня не нажимается, т.к. нажиматься там нечему:


(1) - целая кнопка, (2) - отсутствующая кнопка. Надеюсь все эти ужасы помогут вам быть предельно аккуратными при разборке аппарата (если вдруг таковая понадобится) и не повторять моих ошибок. В моем случае, разборка на самом деле не требовалась, чтобы получить порт для прошивки (9008) нужно было просто подключить аппарат к ПК описанным способом.

Обновлено 25.09.2015 02:04

Ну и небольшая картинка на тему чем отличается USB-OTG кабель от "обычного":


Alcatel Idol 3. Прошивка TWRP на версии ПО 010 04 и выше.

На столе у меня лежит две коробки от Alcatel Idol 3 4.7" 6039Y ... о содержимом одной из них я вспоминаю с большой грустью. Телефон превратился в кирпич, который без тестпойнта (расположение которого в этом аппарате пока никому неизвестно) восстановить нельзя. Предыстория этого печального события достаточно банальна, на xda-developers некто petrov.0 выложил способ восстановления fastboot на прошивке 010 04. Способ заключался в прошивке раздела aboot от предыдущей версии прошивки (именно этот файл, по-сути это обычный исполняемый файл ELF, только с подписанными цифровой подписью разделами и отвечает за работу fastboot) через QFIL, который входит в комплект QPST. Как сказал сам автор, у него был некий мануал, в котором описывался процесс загрузки MSM 8916, поэтому чтобы не было неприятностей при прошивке, он включил в файл прошивальщика rawprogram0.xml также и разделы SBL1, RPM, TZ, HYP и две копии GPT. Т.к. неизвестно было, заработает ли aboot от предыдущей версии прошивки с новыми SBL1, RPM и т.п. или нет. Способ уже успели опробовать несколько пользователей и вполне успешно. Я же на волне "больше, лучше, полезнее" зачем-то решил заняться созданием полного repair kit'а для 6039Y, который бы полностью прошивал все разделы, возвращая стоковую прошивку 010 01. Вообщем то-ли я ошибся где-то с одним разделом, то ли перепутал что-то, но в конечном итоге при тестировании своего repair комплекта я получил кирпич :( Который не определяется в Download Mode (9008) и вообще ничего не умеет, кроме как включать светодиод на передней панели при подключении питания. Вот кстати он в разобранном виде:


Так или иначе, пока на 6039Y не найден тестпойнт восстановить я его вряд-ли смогу. А телефон был рабочим ... постоянно использовался ... и вообще всем нравился. Поэтому я отправился в ближайший салон связи и скрепя сердцем купил еще один 6039Y, правда уже серебристый (предыдущий был черным). 

Ну да опустим лирику ... В обсуждении на форуме 4PDA родилась более другая идея. А не проще ли для того чтобы воспользоваться TWRP не восстанавливать fastboot, а просто прошить TWRP через тот же QFIL? Реализацией и тестированием этого метода я и занялся уже на вновь приобретенном аппарате на свой страх и риск. Все получилось и результатом этого и стал этот мануал.

Как прошить TWRP (или восстановить оригинальный recovery) через QFIL?

Перед прошивкой TWRP рекомендуется снять backup nvram так, как описано в этой статье - Alcatel Idol 3. Как создать backup NVRAM при помощи QPST?
  1. Первое что у вас должно быть, это QPST версии не ниже 2.7.422 в состав которого входит QFIL, умеющий работать с протоколом FireHose. Скачать его можно тут или просто найти в Google.
  2. Второе - это драйвера Qualcomm, чтобы телефон корректно определялся в Download Mode. Установить драйвера можно поставив Mobile Upgrade Q 4.8.7, они в нем идут в комплекте. Если что-то вдруг не установится автоматически - сами драйвера находятся в папке с установленным MU - "C:\Program Files (x86)\Mobile Upgrade Q\tool\usb_driver\installdriver" и можно установить их вручную в случае чего.
  3. Далее вам понадобится вот этот архив: 6039Y_TWRP_with_gdisk.7z , его мы скачиваем и распаковываем в отдельную папку.
  4. Выключаем телефон и подключаем его к ПК. Ждем пока пропадет значок батареи. После чего зажимаем одновременно обе кнопки громкости и кнопку Power до появления экрана Download Mode:


  5. Чтобы попасть в режим Download Mode нажимаем и удерживаем Громкость+ на этом экране. Экран при этом у нас очистится, а в диспетчере устройств должен появиться COM порт с названием Android HS-USB QDLoader 9008:

  6. Запускаем QFIL. В качестве Programmer Path выбираем файл prog_emmc_firehose_8916.mbn из архива, который вы скачали в пункте 3. Далее чуть ниже нажимаем кнопку Load XML и последовательно выбираем rawprogram0.xml и patch0.xml из той же папки. В результате у вас должно получиться что-то вроде этого:

  7. После того как вы нажмете Download QFIL автоматически прошьет файл recovery.img, в котором по-умолчанию находится TWRP с GDISK'ом. При этом в логе QFIL'а будут следующие строки:
    Download Image
    PROGRAM: Replace the partition sectors number 0x10000 to file size in sector 0x64dc
    PROGRAM: Partition 0, Sector: 466016, Length: 25820 Sectors, Sector Size: 512 Bytes
    File: D:\Work\Alcatel OT-6039Y\QFIL\6039Y_TWRP_with_gdisk\recovery.img
    PROGRAM: Written Bytes 0xc9b800 (64)
    < ... >
    Reset Phone


  8. По завершению прошивки телефон перезагрузится. При этом у вас будет прошит TWRP с gdisk'ом (загрузиться в него можно удерживая кнопку Громкость+ + Power) и можно переходить к созданию резервной копии или переразметке. Если же вы захотите восстановить оригинальный recovery - скопируйте recovery_original.img в файл с именем recovery.img, т.к. шьется именно он. Если же вам опять нужно прошить TWRP - берете образ TWRP (recovery_twrp_gdisk.img или другой), переименовываете его в recovery.img и шьете по той же схеме.
Ну вот вроде как и все. Благодаря этим 8-ми пунктам прошить TWRP теоретически можно на любую версию прошивки. На 010 04 - работает.

Внимание! Данный способ работоспособен только для 6039Y, т.к. файл rawprogram0.xml включает в себя описание разметки именно под этот аппарат. Если ваш аппарат имеет другую разметку, образ recovery прошьется неизвестно куда, например, поверх другого раздела ... и в этом случае вы имеете все шансы получить кирпич. Естественно что все что описано в этой статье приведено только в ознакомительных целях и никто кроме вас не несет ответственности в случае если что-то пойдет не так. Также, имейте ввиду, что при любых модификациях телефона вы можете лишиться гарантийного обслуживания.

Краткий FAQ

Q.  В архиве несколько *.img файлов, для чего они?
A. Тут все просто. При прошивке через QFIL прошивается файл с именем recovery.img, по-умолчанию в нем находится TWRP с gdisk'ом, который используется для переразметки. В файле recovery_twrp_gdisk.img находится он же, в файле recovery_original.img - оригиальный recovery от прошивки 010 04, в файле twrp_recovery_alcatel_6039y.img находится мой TWRP, который умеет backup'ить дополнительные разделы. Копируете тот, который вам нужно прошить в recovery.img и прошиваете по инструкции.

Q. А будет ли у меня работать OTA, т.е. обновление по воздуху?
A. Это зависит от того что вы будете делать с телефоном. К примеру, вы получили root и удалили один из файлов в разделе system. Обновления которые приходят по FOTA накопительные, т.е. если обновление не включает тот файл который вы удалили, то оно установится, если включает - то нет. То же самое касается измененных файлов и разделов. Обновление проверяет SHA1 некоторых файлов и разделов для применения патча, если какой-то из файлов или разделов участвующих в обновлении изменялся по сравнению со стоковой прошивкой - то обновление пришедшее по FOTA 100% не установится.

Q. А если я прошью только TWRP, а все остальное даже трогать не буду?
A. С установленным TWRP обновление пришедшее по FOTA не прошьется, нужен будет оригинальный recovery. Могу рассказать с чем это связано ... но это уже наверное будет лишним. Все дело в том, что в оригинальном recovery разделы именуются как /dev/block/bootdevice/by-name/имя_раздела, а в TWRP - /dev/block/platform/soc.0/by-name/имя_раздела. updater-script в обновлении пришедшем по FOTA будет обращаться именно к bootdevice, а TWRP его найти не сможет. Как-то так.

Q. А можно еще вопрос про модификации и FOTA?
A. Уже не сегодня ... Вообще хотел рассказать хороший пример. Вот представьте себе что у вас есть автомобиль и он у вас на гарантии. Пока вы обслуживаетесь у официалов - все более-менее чудесно, по-крайней мере у вас есть штампы в сервисной книжке. Захотели кастомизации или решили перебирать двигатель с парнями в гараже, нет проблем. Но нет и гарантии и поддержки производителя. Вот примерно все то же самое можно перенести и на телефоны. Пока вы ничего не трогаете девайс находится на поддержке и отлично обновляется через FOTA, принимает обновления от производителя и т.п. Как только вы что-то поменяли, прошили кастомный recovery, установили root и т.п. - готовьтесь к тому что вся эта идиллия нарушится. Т.к. обновления FOTA предназначены только для обновления немодифицированных устройств. В случае с модифицированными - зачастую придется изменять сами update.zip обновления, чтобы нормально обновиться. Так что решайте сами, либо вы кастомизируете свой телефон и причисляете себя к "клану умельцев", либо вы пользуетесь всем тем, что дает производитель.

Q. В чем принципиальные отличия способа приведенного здесь от способа описанного на XDA?
A. Если вкратце, то про проблему работоспособности fastboot начиная с 010 04 наверное знают все. На самом деле большинству людей нужен не fastboot как таковой, а способ загрузить TWRP. Т.к. именно через TWRP с gdisk делается переразметка, устанавливается root и т.п. Так вот в способе на XDA берут aboot и еще пару разделов от предыдущей версии прошивки и прошивают, в результате у вас получается работоспособный fastboot. В способе же который предлагается здесь - fastboot остается "проблемным", однако, тут просто прошивается TWRP, что снимает проблемы с переразметкой, получением root и т.п.

Q. Прошил все по инструкции, но после перезагрузки у меня опять стоковый recovery. Что делать?
A. Сразу после прошивки TWRP, до загрузки телефона, надо удерживать Громкость Вверх + Power (кнопка включения питания), чтобы зайти в него. Если после прошивки TWRP - аппарат загрузится, то TWRP будет заменен стоковым recovery, т.е. нужно до загрузки Android'а загрузиться в TWRP.

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