Как подобрать прошивку по процессору

Обновлено: 07.07.2024

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

Важно:
Я не несу ответственности за ваши действия после прочтения данной статьи, обязательно делайте резервные копии данных на внешнее хранилище (SD-карты или компьютер). Но не пугайтесь — если вам удалось разблокировать загрузчик и установить recovery у вас всегда будет возможность восстановить устройство даже из «System Destroyed», а в большинстве случаев и реализовать «вертай взад» — установить официальную систему с блокировкой загрузчика (как, например, у Xiaomi).

Зачем мне перепрошивать устройство?

Для чего люди вообще перепрошивают свои устройства со стабильными ОС от производителя на какие-то сборки "От Васяна"? Причины у всех разные. Кому-то не нравится напичканная китайским хламом MIUI. Чьи-то устройства производитель уже давно не обновляет, а новую систему хочется. Кому-то по душе "чистая" система, кто-то больше не может жить под вечным прицелом Google Services и так далее и тому подобное. Справедливости ради хочу отметить, что множество неофициальных прошивок имеют поддержку от их разработчиков и на них регулярно прилетают OTA обновления. При этом они не уступают в безопасности официальным, а наиболее популярные поддерживают актуальные схемы шифрования ваших данных (FBE).

Что же такое – перепрошивка устройства?

Если коротко и ясно – замена или переустановка установленной операционной системы на другую операционную систему. Прямо как “винду переставить”. Данное определение не относится конкретно к телефонам — перепрошивают всё, что угодно, даже автомобили. Применительно к устройствам на Android это также не означает, что сторонняя прошивка должна быть именно системой Android — я имел опыт установки Ubuntu на телефон. Целесообразность этого поступка — вопрос другой.

Из каких же шагов состоит установка новой ОС, вместо существующей? Для большинства пользователей они будут примерно следующими:

Поиск и установка стороннего Recovery

Поиск файлов новой прошивки

Установка новой прошивки с помощью стороннего recovery

(опционально) Установка root-прав

(опционально) Установка GApps

В этой, как самой первой статье, я разберу только первые два пункта, в силу объема остальных.

Разблокировка загрузчика

Что за загрузчик и зачем его разблокировать? Загрузчик или Bootloader простыми словами – относительно небольшой кусочек программного кода, который занимается запуском установленной системы. Сам по себе он — незаменимая часть устройства, но в его функции также входит реализация технологии Verified Boot. Эта технология призвана ограничить установку ОС до авторизованных производителем (путем проверки подписи файла). С одной стороны, это защитит ваши данные от злоумышленника (он не сможет установить другую прошивку без форматирования вашего устройства), с другой – многие популярные прошивки обеспечивают надежное шифрование раздела Data. Наша цель — отключить механизм Verified Boot для того, чтобы мы могли установить стороннюю систему.

Скажу сразу – универсальной инструкции для всех телефонов нет и быть не может. Более того – некоторые устройства вообще не имеют способа разблокировки загрузчика, а некоторые не блокируются производителем изначально. Проверить факт блокировки загрузчика можно с помощью adb в режиме fastboot - fastboot oem device-info (что это и как пользоваться этим инструментом разберу в пункте про установку). Если true – заблокирован, иначе – нет. Все дальнейшие действия будут рассмотрены на примере устройства Xiaomi Redmi 8T на базе процессора Qualcomm.

Итак, если по результатам проверки вы обнаружили, что загрузчик заблокирован, то помочь вам с поиском способа разблокировки поможет только Технотроица – Отец (Сайт производителя), Сын (4pda) и Святой дух (Google). В случае с Xiaomi всё достаточно просто – на сайте производителя есть фирменная утилита для разблокировки загрузчика, ее использование интуитивно понятно. После успешного окончания процесса разблокировки необходимо отформатировать раздел Data, поскольку он зашифрован текущей системой и новая его попросту не расшифрует (в Xiaomi за это отвечают переключатели в окне разблокировки загрузчика) и можно приступать к процессу установки стороннего Recovery.

Установка стороннего Recovery

Что такое Recovery и почему мы начинаем процесс прошивки именно с него? Раздел Recovery – аналог BIOS на компьютере, также именуется как «Режим восстановления». Этакая "подсистема", которая призвана помочь в восстановлении работоспособности устройства. Заменить установленный производителем recovery сторонним необходимо потому, что "родной" не даст установить вам ничего, кроме официальной прошивки.

Немного о том, какие бывают Recovery

Я использую и настоятельно советую использовать другим именно TWRP-recovery, поскольку он сильно превосходит в функциональности и удобстве CWM.

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

После скачивания recovery вы должны получить файл образа раздела android с расширением .img . Чтобы установить его на свое устройство, нам понадобится:

Компьютер или иное подходящее для запуска ADB устройство

USB-драйвера для вашего аппарата, установленные на компьютер

Чтобы прошить новый раздел recovery, необходимо перевести телефон в особый режим загрузчика – fastboot. На большинстве устройств это делается с помощью зажатия кнопок Power и Vol- при включении телефона. Успешным входом в этот режим будет считаться черный экран смартфона с белой строкой "fastboot mode". После этого необходимо подключить устройство к компьютеру при помощи USB-кабеля.

Для прошивки раздела recovery нам понадобится единственная ADB-команда. Для исполнения этих самых команд, воспользуемся консолью Windows. (я полагаю, вы справились с установкой ADB). Общий формат команды прошивки файла в раздел устройства выглядит следующим образом:


fastboot flash partition PathToFile

fastboot — путь к файлу fastboot.exe, поставляется вместе с ADB;

partition — доступный для прошивки раздел Android. Мы шьем recovery;

PathToFile — путь к .img-образу recovery, который вы скачали;

В моем случае, команда выглядела примерно так:

C:\adb\fastboot flash recovery C:\recovery.img

Некоторые recovery поставляются с автоматическими установщиками и ADB — вам нужно лишь запустить bat-файл.

Готово!

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

Послесловие

Я намеренно не подкрепляю каждый шаг обилием скриншотов, поскольку каждый случай уникален, каждое recovery имеет свой интерфейс, но основные принципы остаются одинаковыми. Также, вы не увидите тут обилия ссылок – все приведенные проекты легко ищутся в поисковиках. Напоследок, хотелось бы привести текущую конфигурацию моего телефона:

Модель: Xiaomi Redmi Note 8T
Операционная система: Android 11 ArrowOS
Recovery: Pitch Black Recovery Project (twrp-based)
GoogleServices: NikGApps based

Мы уже не раз писали о кастомных прошивках, root-приложениях и альтернативных загрузочных меню. Все это стандартные темы в сообществе Android-хакеров, однако, кроме всего перечисленного, существует еще такое понятие, как «кастомное ядро», которое может дать практически безграничные возможности управления смартфоном и его железом на самом низком уровне. В этой я статье я расскажу, что это такое, зачем нужно и как выбрать правильное кастомное ядро.

Custom kernel?

Что такое кастомное ядро? Как мы все знаем, Android представляет собой пирог, состоящий из трех базовых слоев: ядро Linux, набор низкоуровневых библиотек и сервисов и виртуальная машина Dalvik, поверх которой работает графическая оболочка, высокоуровневые инструменты и сервисы, а также почти все приложения, установленные из маркета. Создатели большинства альтернативных кастомных прошивок обычно работают только с двумя верхними слоями, добавляя функции в графическую оболочку (например, кнопки в шторке), изменяя ее (движок тем в CyanogenMod), а также добавляя новые системные сервисы (эквалайзер в CyanogenMod) и оптимизируя существующие.

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

Выбираем алгоритм перезагрузки TCP, планировщик I/O и алгоритм управления энергосбережением

Выбираем алгоритм перезагрузки TCP, планировщик I/O и алгоритм управления энергосбережением

Однако ядро в смартфонах с разлоченным загрузчиком можно заменить отдельно от основной прошивки. И не просто заменить, а установить ядро с огромным количеством различных функций, которые требуют определенных технических знаний для управления, а потому обычно не встраиваются в ядра популярных прошивок, таких как CyanogenMod, AOKP и MIUI. Среди этих функций можно найти поддержку высоких частот работы процессора, управление гаммой экрана, режимами энергосбережения, высокоэффективные менеджеры питания и огромное количество других фич.

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

Умный регулировщик

В SoC’ах OMAP35XX, используемых, например, в Galaxy S II и Galaxy Nexus, есть функция SmartReflex, которая выполняет роль умной системы регулировки вольтажа при изменении нагрузки на процессор. По сути, она избавляет от необходимости тонкого тюнинга вольтажа пользователем.

Оптимизации

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

  1. Сборка с помощью компилятора Linaro GCC с агрессивными опциями оптимизации. Писк сезона, используется почти во всех ядрах. Особую популярность этот метод получил после того, как организация Linaro с помощью каких-то непонятных синтетических тестов продемонстрировала 400%-й (!) прирост производительности Android, собранного с помощью своего компилятора. В реальных условиях эффективность Linaro GCC несколько ниже, но польза от него все же ощутима, так как он реально подгоняет код под особенности архитектуры ARMv7 и, если судить по личному опыту, не приносит никаких проблем в стабильность работы ни ядра, ни приложений.
  2. Расширение возможностей управления частотой и вольтажом центрального и графического процессоров, а также использование более эффективного для планшетов и смартфонов алгоритма управления энергосбережением. Используется во всех кастомных ядрах и ядрах большинства серьезных кастомных прошивок. Подробнее эту особенность мы рассмотрим в следующем разделе.
  3. Активация более эффективных внутренних механизмов, появившихся в последних ядрах Linux. Сюда можно отнести SLQB аллокатор памяти, который, по мнению некоторых разработчиков, может быть более эффективным, чем SLUB, однако никаких экспериментальных подтверждений этому нет. Такой аллокатор используется в ядре GLaDOS для Nexus 7.

Еще один тип оптимизации: изменение стандартного планировщика ввода-вывода. Ситуация на этом поле еще более интересная, так как вместо того, чтобы разобраться в принципах работы планировщиков, некоторые сборщики ядер просто читают в Сети документы по I/O-планировщикам для Linux и делают выводы. Среди пользователей такой подход распространен еще более сильно. На самом деле почти все самые производительные и умные Linux-планировщики совершенно не подходят для Android: они рассчитаны на применение с механическими хранилищами данных, в которых скорость доступа к данным разнится в зависимости от положения головки. Планировщик использует разные схемы объединения запросов в зависимости от физического положения данных, поэтому запросы к данным, которые располагаются близко к текущему положению головки, будут получать больший приоритет. Это совершенно нелогично в случае с твердотельной памятью, которая гарантирует одинаковую скорость доступа ко всем ячейкам. Продвинутые планировщики принесут на смартфоне больше вреда, чем пользы, а лучший результат покажут самые топорные и примитивные. В Linux есть три подобных планировщика:

  • Noop (No operation) — так называемый не-планировщик. Простая FIFO очередь запросов, первый запрос будет обработан первым, второй вторым и так далее. Хорошо подходит для твердотельной памяти и позволяет справедливо распределить приоритеты приложений на доступ к накопителю. Дополнительный плюс: низкая нагрузка на процессор в силу ну очень простого принципа работы. Минус: никакого учета специфики работы девайса, из-за чего могут возникнуть провалы производительности.
  • SIO (Simple I/O) — аналог планировщика Deadline без учета близости секторов друг к другу, то есть разработанный специально для твердотельной памяти. Две главные изюминки: приоритет операций чтения над операциями записи и группировка операций по процессам с выделением каждому процессу кванта времени на выполнение операций. В смартфонах, где важна скорость работы текущего приложения и преобладание операций чтения над записью, показывает очень хорошую производительность. Доступен в Leankernel, ядре Matr1x для Nexus 4 и SiyahKernel.
  • ROW (READ Over WRITE) — планировщик, специально разработанный для мобильных устройств и добавленный в ядро всего несколько месяцев назад. Основная задача: первоочередная обработка запросов чтения, но справедливое распределение времени и для запросов записи. Считается лучшим на данный момент планировщиком для NAND-памяти, по умолчанию используется в Leankernel и Matr1x.

Стоит сказать, что почти все стандартные прошивки и половина кастомных до сих пор используют ядро со стандартным для Linux планировщиком CFQ, что, впрочем, не так уж и плохо, поскольку он умеет правильно работать с твердотельными накопителями. С другой стороны, он слишком сложен, создает бОльшую нагрузку на процессор (а значит, и батарею) и не учитывает специфику работы мобильной ОС. Еще один популярный выбор — это планировщик Deadline, который не хуже SIO, но избыточен. Посмотреть список доступных планировщиков можно с помощью такой команды:

Для изменения применяется такая (где row — это имя планировщика):

Некоторые сборщики ядер применяют и другой вид оптимизации, связанный с вводом-выводом. Это отключение системного вызова fsync, применяемого для принудительного сброса изменившегося содержимого открытых файлов на диск. Существует мнение, что без fsync система будет реже обращаться к накопителю и таким образом удастся сохранить время процессора и заряд батареи. Довольно спорное утверждение: fsync в приложениях используется не так уж и часто и только для сохранения действительно важной информации, зато его отключение может привести к потере этой же информации в случае падения операционной системы или других проблем. Возможность отключить fsync доступна в ядрах franco.Kernel и GLaDOS, а для управления используется файл /sys/module/sync/parameters/fsync_enabled, в который следует записать 0 для отключения или 1 для включения. Повторюсь, что использовать эту возможность не рекомендуется.

Добавляем в ядро новые функции

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

В основном это различные драйверы и файловые системы. Например, некоторые ядра включают в себя поддержку модуля CIFS, позволяющего монтировать Windows-шары. Такой модуль есть в ядре Matr1x для Nexus S, faux123 для Nexus 7, SiyahKernel и GLaDOS. Сам по себе он бесполезен, но в маркете есть несколько приложений, позволяющих задействовать его возможности.

Еще одна полезность — это включение в ядро драйвера ntfs-3g (точнее, в пакет с ядром, сам драйвер работает как Linux-приложение), который необходим для монтирования флешек, отформатированных в файловую систему NTFS. Этот драйвер есть в ядрах faux123 и SiyahKernel. Обычно он задействуется автоматически, но если этого не происходит, можно воспользоваться приложением StickMount из маркета.

Многие ядра также имеют в своем составе поддержку так называемой технологии zram, которая позволяет зарезервировать небольшой объем оперативной памяти (обычно 10%) и использовать ее в качестве сжатой области подкачки. В результате происходит как бы расширение количества памяти, без каких-либо серьезных последствий для производительности. Доступно в Leankernel, включается с помощью Trickster MOD или командой zram enable.

Последние две интересные функции — это Fast USB charge и Sweep2wake. Первая — это не что иное, как принудительное включение режима «быстрой зарядки», даже если смартфон подключен к USB-порту компьютера. Режим быстрой зарядки доступен во всех более-менее новых смартфонах, однако в силу технических ограничений он не может быть включен одновременно с доступом к карте памяти. Функция Fast USB charge позволяет включить этот режим всегда, отключив при этом доступ к накопителю.

Sweep2wake — это новый способ будить устройство, изобретенный автором Breaked-kernel. Смысл его в том, чтобы включать смартфон, проведя пальцем по клавишам навигации, располагающимся ниже экрана, либо по самому экрану. Это действительно удобная функция, но в результате ее включения сенсор будет оставаться активным даже во время сна устройства, что может заметно разряжать батарею.

Разгон, вольтаж и энергосбережение

Разгон популярен не только среди владельцев стационарных компов и ноутбуков, но и в среде энтузиастов мобильной техники. Как и камни архитектуры x86, процессоры и графические ядра мобильной техники отлично гонятся. Однако сам способ разгона и предпринимаемые для его осуществления шаги здесь несколько другие. Дело в том, что стандартные драйверы для SoC’ов, отвечающие за энергосбережение и изменение частоты процессора, обычно залочены на стандартных частотах, поэтому для тонкого тюнинга приходится устанавливать либо альтернативный драйвер, либо кастомное ядро.

Почти все более-менее качественные и популярные кастомные ядра уже включают в себя разлоченные драйверы, поэтому после их установки возможности управления «мощностью» процессора значительно расширяются. Обычно сборщики кастомных ядер делают две вещи, влияющие на выбор частоты. Это расширение частотного диапазона за рамки изначально заданных — можно установить как более высокую частоту процессора, так и очень низкую, что позволяет сохранить батарею и увеличить градацию частот, например, вместо трех возможных частот предлагается на выбор шесть. Второе — это добавление возможности регулировки вольтажа процессора, благодаря чему можно снизить напряжение процессора на низких частотах для сохранения заряда батареи и повысить на высоких для увеличения стабильности работы.

Всем этим можно управлять с помощью известной платной утилиты SetCPU или же бесплатной Trickster MOD. Рекомендации по управлению все те же, что и для настольных систем. Нижнюю частоту процессора лучше установить минимальной, но не ниже 200 МГц (чтобы избежать лагов), верхний порог повышается постепенно с тестированием стабильности работы, при падении которой рекомендуется немного поднять вольтаж для данной частоты. Каких-то рекомендаций по вольтажу нет, так как каждый процессор уникален и значения будут для всех разными.

Главный экран утилиты настройки ядер Trickster MOD

Главный экран утилиты настройки ядер Trickster MOD

Кроме изменения частот, сборщики зачастую добавляют в ядро новые алгоритмы управления энергосбережением (автоматическим управлением частотой процессора), которые, по их мнению, могут показать лучшие результаты в сравнении со стандартными. Почти все из них базируются на используемом по умолчанию в новых версиях Android алгоритме Interactive, суть которого заключается в том, чтобы резко поднять частоту процессора до максимальной в случае повышения нагрузки, а затем постепенно снижать до минимальной. Он пришел на смену используемому раньше алгоритму OnDemand, который плавно регулировал частоту в обе стороны соразмерно нагрузке, и позволяет сделать систему более отзывчивой. Сборщики альтернативных ядер предлагают на замену Interactive следующие алгоритмы:

  • SmartAssV2 — переосмысление алгоритма Interactive с фокусом на сохранение батареи. Основное отличие в том, чтобы не дергать процессор на высокие частоты в случае кратковременных всплесков нагрузки, для которых хватит и низкой производительности процессора. По умолчанию используется в ядре Matr1x.
  • InteractiveX — тюнингованный алгоритм Interactive, главная особенность которого в залочке процессора на минимальной указанной пользователем частоте и обесточивании второго ядра процессора во время отключения экрана. По умолчанию используется в Leankernel.
  • LulzactiveV2 — по сути, изобретенный заново OnDemand. Когда нагрузка на процессор превышает указанную (по умолчанию 60%), алгоритм поднимает частоту на определенное число делений (по умолчанию 1), при понижении нагрузки — опускает. Особый интерес представляет тем, что позволяет самостоятельно задавать параметры работы, поэтому подходит для прожженных гиков.

Вообще, сборщики ядер очень любят придумывать новые алгоритмы энергосбережения по причине простоты их реализации, поэтому можно найти еще с десяток других. Большинство из них полный шлак, и при выборе планировщика следует руководствоваться правилом: либо один из трех описанных выше, либо стандартный Interactive, который, кстати, очень неплох. Сделать выбор можно с помощью все той же Trickster MOD.

Trickster MOD позволяет активировать почти все возможности кастомных ядер

Trickster MOD позволяет активировать почти все возможности кастомных ядер

Интерфейсы управления

Большинство популярных кастомных ядер включают в себя несколько механизмов тонкого управления различными параметрами драйверов, наиболее распространены из которых ColorControl, GammaControl, SoundControl и TempControl.

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

Первые два интерфейса доступны практически везде, включая ядра CyanogenMod, вторые два — в Leankernel и, может быть, в других. Так или иначе, всеми ими можно управлять с помощью Trickster MOD.

Какое же ядро выбрать? На этот вопрос нет однозначного ответа, и не потому, что «каждому свое», а потому, что в мире существует огромное количество Android-устройств и почти столько же различных ядер. Тем не менее есть несколько популярных ядер, которые разрабатываются сразу для нескольких устройств. Так или иначе многие из них я упоминал по ходу повествования, здесь же приведу их краткое описание.

Возможности ядра сильно разнятся от устройства к устройству, поэтому подробности придется смотреть на месте. Тем не менее, прошивая это ядро, ты получишь возможность разгона, тюнинга драйверов, отличную производительность, а также поддержку различных алгоритмов энергосбережения и планировщиков. По сути, ядро включает в себя почти все описанные в статье твики. Считается одним из лучших доступных ядер. Имеется приложение для автоматического обновления franko.Kernel Updater. Конфигурировать можно с помощью Trickster MOD.

Как установить?

Все ядра распространяются в стандартных для Android ZIP-архивах, которые следует прошивать через консоль восстановления точно так же, как альтернативные прошивки. Обычно ядра совместимы с любыми прошивками, поэтому, подобрав нужное ядро, его можно смело устанавливать. Единственное, на что следует обратить внимание, — это версия Android, с которой обеспечена совместимость ядра. Оно может как подойти ко всем доступным для устройства версиям Android, так и работать только с одной (разработчик обычно явно говорит об этом). Перед прошивкой обязательно сделай бэкап текущей прошивки с помощью все той же консоли восстановления. Если что-то пойдет не так, ты всегда сможешь откатиться.

Выводы

Как ты смог убедиться, кастомные ядра обладают множеством преимуществ перед ядрами, используемыми в стандартных или сторонних прошивках. А что еще более важно — необязательно знать все тонкости Android, чтобы их использовать, достаточно скачать и установить ZIP-архив.

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Приступим к прошивке. Самые простые на мой взгляд в плане прошивки устройства - это устройства фирмы Apple. Скачиваем и устанавливаем программу iTunes, эта программа при установке сама установит все необходимые драйверы, сама точно определит какое устройство подключено, сама скачает прошивку. Есть 3 режима из которых можно прошить яблочное устройство:
А) normal. Это обычный режим, когда iphone/ipad/ipod загружается до рабочего стола, вы можете разблокировать устройство и вам просто надо обновить устройство, с сохранением данных пользователя. Просто подключаете разблокированное устройство к пк, на экране устройства нажимаете "доверять этому пк", если айтюнс сообщит что есть новая прошивка, то нажимаете "обновить", со всем соглашаетесь и через 15-30 минут (в зависимости от размера прошивки и скорости вашего интернета) вы получите самую новую версию программного обеспечения для вашего устройства на сегодняшний день.
Б) recovery. Если ваше яблочное устройство заглючило, не загружается, висит на заставке и дальше яблока не загружается, или циклически перезагружается, или надо просто стереть все данные вместе с экранным паролем, или на экране устройства вот такая картинка, то действуем следующим образом: подключаем к пк устройство, зажимаем клавишу home(или клавишу уменьшения громкости начиная с айфон7) и нажимает кнопку включения секунды на 3-5, держим обе кнопки пока устройство не перезагрузится и сразу отпускаем кнопку включения, продолжаем держать home. Как только увидим на экране яблочного устройства значок "подключитесь к айтюнс" можно отпускать кнопку home. Программа айтюнс на пк должна найти устройство в режиме восстановления и предложить вам либо ВОССТАНОВИТЬ УСТРОЙСТВО (сотрёт все данные и пароли, прошьёт самую свежую прошивку), либо ОБНОВИТЬ (просто прошьёт самую свежую прошивку, данные не будут затронуты). Если же вы зажмёте на клавиатуре пк клавишу shift и одновременно кликните ВОССТАНОВИТЬ, то айтюнс предложит выбрать вам локальный файл прошивки, заранее вами скаченный.

Небольшой курс по прошивке смартфонов Прошивка, Xiaomi, Apple, Samsung, Android, Mediatek, Qualcom, Huawei, Видео, Длиннопост

Если же смартфон не загружается, то версию прошивки можно посмотреть зайдя в recovery (звук+ домой и включение)

Небольшой курс по прошивке смартфонов Прошивка, Xiaomi, Apple, Samsung, Android, Mediatek, Qualcom, Huawei, Видео, Длиннопост

Версия прошивки подчеркнута красной линией, версия загрузчика 5й символ, если считать справа налево. Так вот если вы вдруг решите прошить в самсунг прошивку с более низкой версией загрузчика, у вас ничего не получится.
Есть программа для скачивания прошивок Samsung, называется SamFirm, существует много разновидностей этой софтины, ибо разработчики постоянно меняются. Если вдруг вы решите воспользоваться этой программой, то я для вас подготовил расшифровку регионов.
Russia — SER
Afghanistan — AFG
Algeria — TMC
Argentina — ARO
Argentina — CTP
Argentina (Claro) — CTI
Argentina (Moviestar) — UFN
Argentina (Personal) — PSN
Australia — XSA
Australia (Optus) — OPS
Austria (3 Hutchison) — DRE
Austria (A1) — MOB
Austria (Orange) — ONE
Austria (T-Mobile) — MAX
Austria (Telering) — TRG
Baltic — SEB
Bangladesh — TML
Belgium / Luxemburg — PRO
Bosnia and Herzegovina — ERO
Bosnia and Herzegovina (BH TELECOM) — BHT
Brazil — ZTO
Brazil (Claro) — ZTA
Brazil (TIM) — ZTM
Brazil (VIVO) — ZVV
Bulgaria — GBL
Bulgaria (MTL) — MTL
Bulgaria (VVT) — VVT
Chile — CHO
Chile (Claro) — CHL
Chile (Entel PCS) — CHE
Chile (Telefonica) — CHT
China — CHU
Colombia — COL
Colombia (Comcel) — COM
Colombia (Moviestar) — COB
Costa Rica — ICE
Croatia — TRA
Croatia (T-Mobile) — CRO
Croatia (VIPNET) — VIP
Cyprus — CYV
Cyprus (Cytamobile Vodafone) — CYO
Czech Republic — XEZ
Czech Republic (O2C) — O2C
Czech Republic (T-Mobile) — TMZ
Czech Republic (Vodafone) — VDC
Denmark (3) — HTD
Dominica — DOR
Dominican Republic — CDR
Ecuador — ECO
Ecuador — EBE
Egypt — EGY
France — XEF
France (Bouygues) — BOG
France (Orange) — FTM
France (SFR) — SFR
Germany — MBC
Germany — DBT
Germany (E-Plus) — EPL
Germany (O2) — VIA
Germany (T-Mobile) — DTM
Germany (Vodafone) — VD2
Greece — EUR
Greece (Cosmote) — COS
Greece (Vodafone) — VGR
Guatemala — TGU
Guatemala — PGU
Guatemala (Tigo) — CGU
Hong Kong — TGY
Hungary — XEH
Hungary (T-mobile) — TMH
Hungary (Telenor) — PAN
Hungary (VDH) — VDH
India — INU
India — INS
Indonesia — XSE
Iran — THR
Iraq — MID
Ireland (Meteor) — MET
Ireland (O2) — O2I
Ireland (Three) — 3IE
Ireland (Vodafone) — VDI
Israel — ILO
Israel (Cellcom) — CEL
Israel (Mirs) — MIR
Israel (Orange/Partner) — PTR
Israel (Pelephone) — PCL
Italy — ITV
Italy (H3G) — HUI
Italy (Vodafone) — OMN
Italy (Wind) — WIN
Jamaica — JDI
Kazakhstan — SKZ
Kazakhstan (Kcell) — KCL
Kenya — AFR
Kenya — KEN
Libya — BTC
Luxembourg — LUX
Macedonia — VIM
Macedonia — MBM
Malaysia — XME
Mexico — IUS
Mexico (Movistar) — TMM
Mexico (Telcel) — TCE
Morocco — FWD
Morocco (MAT) — MAT
Morocco (MED) — MED
Morocco (MWD) — MWD
Nepal — NPL
Netherlands — PHN
Netherlands (T-Mobile) — TNL
Netherlands (Vodafone) — VDF
New Zealand (Vodafone) — VNZ
New Zeeland — NZC
Nigeria — ECT
Nordic countries — NEE
Norway (Telenor) — TEN
Open Austria — ATO
Open Europe — OXA
Pakistan (PAK) — PAK
Panama — TPA
Panama — PBS
Panama (Cable & Wireless) — PCW
Panama (Claro) — CPA
Peru — PET
Peru (SAM) — SAM
Philippines — XTE
Philippines (Globe) — GLB
Philippines (Smart) — SMA
Philippines (Sun) — XTC
Poland — XEO
Poland (Orange) — IDE
Poland (PLUS) — PLS
Poland (Play) — PRT
Poland (T-mobile) — TPL
Portugal (Optimus) — OPT
Portugal (TMN) — TMN
Portugal (TPH) — TPH
Portugal (Vodafone) — TCL
Puerto Rico — PCT
Romania (Cosmote) — COA
Romania (Orange) — ORO
Romania (Vodafone) — CNX
Saudi Arabia — KSA
Saudi Arabia (JED) — JED
Serbia — TSR
Serbia (Telenor) — MSR
Serbia (Vip SRB) — TOP
Singapore — XSP
Singapore — MM1
Singapore (SingTel) — SIN
Singapore (StarHub) — STH
Slovakia — ORS
Slovenia (Mobitel) — MOT
Slovenia (Si.mobil) — SIM
South Africa — XFE
South Africa — XFA
South Africa (Vodafone) — XFV
Spain — PHE
Spain (Moviestar) — XEC
Spain (Orange) — AMN
Spain (Vodafone) — ATL
Spain (Yoigo) — YOG
Sri Lanka — SLK
Sweden — VDS
Sweden (Tre) — HTS
Switzerland — AUT
Switzerland (Swisscom) — SWC
Taiwan — BRI
Taiwan (WAN) — WAN
Thailand — THL
Trinidad and Tobago — TTT
Tunisia — ABS
Tunisia — TUN
Turkey — TUR
Ukraine (Kyivstar) — SEK
United Arab Emirates — XSG
United Kingdom — BTU
United Kingdom (H3G) — H3G
United Kingdom (O2) — O2U
United Kingdom (Orange) — ORA
United Kingdom (T-Mobile) — TMU
United Kingdom (Vodafone) — VOD
Uruguay — UFU
Uruguay — UPO
Uruguay (Claro) — CTU
Vietnam — XXV
Vietnam — XEV
Ну и для наглядности ролик по прошивке Samsung SM-G531

Qualcomm. Чипы этой фирмы есть в каждом 2м смартфоне на планете. Программа, которая прошивает устройства на базе процессоров qualcomm называется QFIL (qualcomm flash image loader) и входит в пакет программ QPST. Для прошивки используется режим EDL (emergency download - экстренная прошивка), устройство в этом режиме определяется компьютером как HS-Diagnostic interface 9008. Для установки этих драйверов необходимо отключать проверку цифровой подписи на 64 битных ОС. Принудительно ввести устройство в режим edl можно либо комбинацией клавиш (у каждого производителя и модели эта комбинация своя, необходимо гуглить), а некоторые модели только с помощью тестпоинтов или сервисного кабеля.

Небольшой курс по прошивке смартфонов Прошивка, Xiaomi, Apple, Samsung, Android, Mediatek, Qualcom, Huawei, Видео, Длиннопост

Testpoint - это такие контакты на материнской плате смартфона, при замыкании которых устройство входит в специальный режим прошивки.

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

Для начала качаем эту программу здесь программы
Драйвера для телефона можно найти здесь драйвера

Устанавливаем и запускаем эту программу. Её можно русифицировать, но для наглядности я буду рассказывать о непереведённой версии этой программы. Всё и так в принципе понятно…


Подключаем телефон и если программа не определила телефон, хотя драйвера мы поставили и в диспетчере устройств телефон отобразился, нажимаем на значок Connect , выбираем Phone и нажимаем далее.


Дальше указываем, что телефон будем подключать через кабель, и нажимаем далее


Дальше мы соглашаемся с тем что драйвера на телефон установлены, что телефон подлечен к компьютеру и т.д.


Далее компьютер определяет наш телефон, предварительно просканировав все порты, мы нажимаем на наше устройство и как всегда жмём- далее.


Теперь мы видим всю информацию о телефоне. Тип нашего процессора, версия нашей прошивки, уровень заряда батареи, уровень сигнала, наши ИМЕИ и ещё много чего интересного.


Главное вы увидели версию своей прошивки , теперь осталось найти данную прошивку на просторах интернета и достать из неё все коды, в их числе и должен будет быть наш заветный вход в инженерное меню.

Читайте также: