Как скопировать прошивку с флешки

Обновлено: 19.05.2024

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

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

Однако, довольно разглагольствований! Перейдем ближе к теме.
Для низкоуровнего (или страничного) доступа к флешке я попробую использовать возможности Sorter’a. Если упрощенно, то основное назначение процесса sorting’а – сортировка блоков памяти на «хорошие» и «плохие».

«Плохие» помещаются в специальную таблицу и в дальнейшем не используются. Определение «хороших» и «плохих» блоков - штука многофакторная и явно не тема сегодняшнего поста. Но в любом случае, эта сортировка заключается в низкоуровневых операциях записи - чтения - как раз то, что нам и нужно. И прежде, чем погрузиться в мир дампов, необходимо ответить на глупый вопрос: «А как поженить нашу флешку и Sorter?»

Например, повидавший виды 2267


UPTool выдает следующее:


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


Представление в UPTool уже несколько иное (1D - это другое представление 2268):


Гений выдает такую картину:


На форуме USBDev подобные картинки не редкость. И они говорят не о том, что у флешки снесло крышу, и надо её переводить в тест-мод. Подозреваю, что флешка уже побывала в тест-моде, раз ISP встал, и нужно смотреть не на Гения, а в UPTool (экран или отчет) - там информация должна быть вполне достоверной

А INQ-запрос к устройству и запрос версии SORTERа выдает следующую инфу:



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

Поэтому важность наличия bootloader'а во вновь разрабатываемых устройствах в большинстве случаев не вызывает сомнений. В данной статье пойдет речь о разработке bootloader'а по интерфейсу USB на микроконтроллере Atmel SAM D21 с ядром Cortex M0+. А конкретно на SAMD21J18A. У микроконтроллеров SAM D20/21 нет предзаписанного бутлоадера, поэтому придётся заниматься его программной реализацией. На сайте Atmel можно найти Application notes, как сделать его с использованием стандартных интерфейсов (UART, I2C, SPI, USB). Под катом описание процесса создания USB-бутлоадера.

Постановка задачи

  • Необходимо разработать наиболее простой, с точки зрения конечного пользователя, способ обновления прошивки устройства. Для этого потребуется скопировать на обыкновенную флешку файл с новой прошивкой, воткнуть флешку в устройство и нажать кнопку reset (или пересбросить питание). После этого стартует bootloader, проверяет наличие файла с прошивкой на флешке и заливает содержимое этого файла в качестве application
  • В качестве «защиты от дурака» используем заранее известное специальное название файла прошивки, что бы исключить случайное совпадение имен с другими файлами на флешке. При этом если «злоумышленник» самостоятельно создаст сторонний файл с именем, совпадающим с ожидаемым, устройство будет пытаться использовать его в качестве прошивки. Разумеется, в этом случае работоспособность устройства будет нарушена, но её можно будет впоследствии восстановить подсунув флешку с корректной прошивкой
  • В качестве USB интерфейса используется аппаратный USB микроконтроллера устройства
  • Устройство не имеет постоянного подключения к интернету, что бы самостоятельно скачать новую прошивку
  • Считаем что подключение ПК к устройству и обновление прошивки с помощью сторонней утилиты является более сложным для конечного пользователя

Немного теории и подготовки

Память

Организация памяти samd20

Адресное пространство в памяти микроконтроллеров серии SAMD20/21 устроено просто:

Энергонезависимая память организована рядами, каждый ряд содержит 4 страницы. Размер 1 страницы 64 байта. Энергонезависимая память стирается рядами, а записывается постранично. Это важно помнить.
Нижние (младшие) ряды в основном адресном пространстве энергонезависимой памяти могут быть использованы для бутлоадера (настраивается с помощью фьюзов BOOTPROT), а верхние ряды для эмуляции EEPROM.
Bootloader-секция защищена соответствующими этому адресному пространству lock-битами и фьюзами BOOTPROT.
Фьюзы BOOTPROT одновременно определяют размер bootloader-секции и защищают выделенную область памяти от чтения.
EEPROM может быть записана несмотря на защиту соответствующей ей области памяти.

Что потребуется для организации bootloader'а?

  1. Работа с памятью контроллера – за это отвечает контроллер энергонезависимой памяти Non-volatile memory (NVM);
  2. Работа с USB – за это отвечает контроллер USB;
  3. Работа с файловой системой – это под силу FATFS.
  4. И по мелочи: работа с портами ввода/вывода, тактирование.

Примечание: в качестве среды разработки используется Atmel Studio версии 6.2 (наследница AVR Studio) и фреймворк ASF (Atmel Software Framework)

Тонкости USB

Тактирование


В соответствии со стандартом USB для реализации шины необходимо очень точное тактирование. Мы будем использовать внешний кварц на 32 кГц как опору для DFLL (Digital Frequency Locked Loop). Выход DFLL будет использоваться как для тактирования USB модуля, так и всего контроллера. Для работы USB модуля необходимо настроить DFLL так, чтобы на выходе было ровно 48 МГц. Для стабильности и точности выходной частоты DFFL он должен быть сконфигурирован в режиме closed loop.

Собираем проект

С помощью ASF wizard подключаем все необходимые нам модули, перечисленные выше.

USB Host
  • conf_usb_host.h – конфигурирует USB и настраивает обработчики прерываний (Callback),
  • conf_access.h – конфигурирует абстрактный уровень для работы с памятью.

Так же добавляем в этот файл строку:

Теперь требуется глобально определить переменную-счетчик в файле main.c, именно ее будем увеличивать при каждом вызове соответствующего обработчика:

Добавляем собственно обработчик прерывания (callback):

Файловая система

Добавляем FAT FS file system service (c помощью ASF wizard). Раскрываем модуль и выбираем режим RTC драйвера calendar_polled.
Для полноценного функционирования модуля файловой системы добавляем в начале main.c:

Работа с энергонезависимой памятью

Добавляем NVM-Non-volatile memory (driver). Кроме этого определяем необходимые константы и переменные в файле main.c:

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

Все необходимые модули добавлены, можно писать код.

Алгоритм


Стоит отметить, что если в бутлоадер использует ту же периферию, что и application, то ее нужно обязательно сбросить перед переходом в application. Сброс (reset) осуществляется специальными функциями в ASF.
Также замечу, что обращаться к USB устройству можно только после 1-2 секунд с момента его подключения к шине, так как до этого происходит инициализация устройства.
Краткий алгоритм работы (только bootloader) приведен на рисунке ниже:


Иногда любимое устройство, работающее на ОС Android, перестает радовать скоростью и стабильностью работы. Зачастую нарушения в функционировании спровоцированы некоторыми проблемами в программной среде смартфона, планшета или другого устройства на Андроиде. Как правило, они возникают из-за того, что прошивка девайса слетела или стала работать с ошибками из-за неправильной эксплуатации. Переустановить операционную систему смартфона можно несколькими способами. Рассмотрим, как прошить Android через SD-карту.

Понятие прошивки

Как прошить Android-устройство через SD карту

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

Существуют несколько видов прошивки:

  • кастомная – созданная энтузиастами для получения прав полного контроля над устройством;
  • официальная — стоковая.

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

Подбор прошивки

К подбору ПО стоит отнестись ответственно, ведь от того, как пройдет установка прошивки Android с SD-карты, будет зависеть стабильность работы Андроид-устройства. Сперва нужно узнать точную модель девайса и версию ОС. Для этого требуется:

 «Об устройстве»

  1. Включить смартфон или планшет.
  2. Зайти в меню.
  3. Перейти в пункт «Настройки», найти вкладку «Об устройстве». Здесь располагается полная информация о девайсе: версия ядра и системы безопасности, серийные номера ЦП (центрального процессора), количество ядер, объем ОЗУ.
  4. Следует обратить внимание на «Номер сборки» и «Модель гаджета». По этой информации следует искать нужное обеспечение.

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

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

Заводская прошивка доступна на официальном сайте производителя устройства, где можно скачать архив с ПО. Рассмотрим пошаговый процесс на примере планшета Evromedia Play Pad Pro:

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

Как подготовить смартфон к прошивке

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

  • зарядить гаджет. Переустановка прошивки потребует много энергии, поэтому лучше зарядить устройство на 100%;
  • скачать из Google Play приложения ROM Manager, TWRP или CWM Recovery, Root Checker и любую программу-рутировщик, например, Kingoо Android Root.

Первая утилита нужна для замены стандартного меню загрузки CRM и дает возможность расширенного управления устройством, но требует root-права — права суперпользователя (администратора). Остальные приложения позволяют загружать сторонние прошивки, проверяют смартфон на наличие прав администратора и дают права суперпользователя.

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

Поле о наличии либо отсутствии прав суперпользователя

Если root-права отсутствуют, их нужно получить, иначе не удастся прошить смартфон Android через карту памяти. Процесс состоит из двух этапов: разрешение установки сторонних приложений и работа с Kingo Android Root.

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

  1. Перейти в «Настройки».
  2. Выбрать меню «Безопасность».
  3. Кликнуть на «Неизвестные источники» и разрешить установки из них, сдвинув ползунок вправо.

«Неизвестные источники»

Следующий этап — работа с программой получения root-доступа Root Kingo Android. Чтобы начать разблокировку устройства, выполните такие шаги:

«No root»

Есть вероятность, что программа на устройстве не будет работать, однако существует выход – использовать компьютер. После того, как будут получены права администратора через ПК, вы сможете перепрошить Android с SD карты.

Для разблокировки root с помощью внешнего устройства нужно разрешить отладку USB и подключить девайс к компьютеру. Пошаговая инструкция:

  1. Перейти в меню «Настройки».
  2. Кликнуть на раздел «Для разработчиков». Если он заблокирован, необходимо вернуться в меню и выбрать пункт «Об устройстве». Затем несколько раз нажать на «Номер сборки». После этого раздел станет доступным.
  3. Выбрать режим «Отладка по USB».
  4. Подключить планшет либо смартфон к ПК через USB-кабель.
  5. Запустить утилиту Root Kingo Android. Начнется автоматическое скачивание необходимых драйверов.
  6. Нажать на кнопку «ROOT».
  7. После завершения рутирования (получения прав) высветится кнопка «Finish».

Прошивка Android-устройства через SD-карту

Весь процесс прошивки девайса через карты памяти сводится к тому, что необходимо получить root-права, установить меню Recovery, если его нет по умолчанию, загрузить файл прошивки в формате zip-архива в корневую папку устройства, обычно в директорию Android. Собственно, процесс рутирования и требуется для того, чтобы получить доступ в корень устройства.

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

Поэтому перед началом процесса стоит сделать резервную копию — бэкап. Это поможет восстановить файлы и работоспособность девайса.

Создание бэкапа прошивки

Неотъемлемая часть обновления устройства — резервное копирование системных файлов. Бэкап можно сделать различными утилитами, например, стоковым либо кастомным Recovery.

Базовые рекомендации перед backup:

  • заряд гаджета до 70, а лучше до 100%;
  • свободное место на съемной карте памяти от 600 МБ (зависит от размера бэкап-файла).

Процесс установки модифицированного рекавери

Процесс установки модифицированного рекавери

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

Для установки «самодельного» ПО потребуется модифицированный рекавери, который позволит инициализировать неофициальную прошивку. Для этого нужно:

  1. Получить root-права.
  2. Запустить ранее скаченный TWRP или ROM Manager, если выбрано рекавери ClockWorkMod (CWM).
  3. Дать программе права суперпользователя.
  4. Через приложение установить рекавери.

Этап копирования прошивки и патчей на карту памяти

Не рекомендуется торопиться с установкой ПО, для начала лучше ознакомиться с ошибками и другими комментариями к прошивке.

После создания бэкапа всех файлов, который можно перенести на компьютер либо облачное хранилище, например, Google Drive, необходимо создать на SD-карте папку для архива с прошивкой и патчами.

Затем перекинуть файл в формате zip с ПО и патчами в созданную директорию.

Как сделать вайп

“Wipe” в переводе с английского означает вытирать, форматировать. Если сделать вайп, выбранные в Recovery папки полностью очистятся от находящиеся там файлов, настроек и прочего. Как инструмент для Wipe используйте приложение TWRP. Придерживайтесь этой инструкции:

  1. Выключите девайс и зайдите в меню Recovery с помощью одновременного нажатия кнопок включения и регулировки громкости + или -. Для устройств разных производителей способы отличаются, поэтому этот шаг лучше уточнить на сайте производителя или в интернете.
  2. В меню рекавери TWRP выбрать пункт «Wipe», а затем – «Advanced Wipe».
  3. В списке выбрать все разделы, кроме «Android Secure».
  4. Передвинуть ползунок «Swipe to Wipe» вправо.

Следует помнить, что не рекомендуется прерывать вайп, так как это отрицательно скажется на стабильности системы.

Выполнение процесса прошивки

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

  1. Войти в меню Recovery.
  2. В меню Recovery выбрать раздел «Install» или «Install from SD card», а также другие подобные названия раздела, по смыслу подходящие под «Применить ZIP-архив».
  3. С помощью диспетчера файлов выбрать архив с прошивкой.
  4. Нажать «Swipe to Confirm Flash».

«Swipe to Confirm Flash»

После этого начнется процесс прошивки. По завершению, возможно, придется дополнительно установить Google-сервисы и системные службы девайса, если они не вшиты в кастом ROM. Для этого нужно скачать архив с указанными компонентами.

Как происходит прошивка пакета гугл-приложений

Бывает, что стандартный пакет гугл-утилит (GAPPS) отсутствует в новой прошивке (как правило, в прошивках Cyanogen Mod или AOKP) либо лицензия Гугла не разрешает установку служб по умолчанию на конкретном смартфоне.

Процесс смены версии ОС не предусматривает автоматическую загрузку приложений Google — почты, браузера, Coogle Play и так далее. Эти программы устанавливаются вручную. Придерживайтесь таких шагов:

  1. Скачайте архив с «GAPPS».
  2. Повторите те же действия, как в пункте «Процесс прошивки».
  3. Установите Gapps из скачанного приложения Open Gapps Manager из Google Play.

Процесс установки патчей

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

Настройка девайса после прошивки

Первичный запуск устройства может оказаться долгим, что связано с автоматической оптимизацией системы. Через несколько минут обновленный Android запустится и предложит провести первую настройку. После старта ОС нужно выбрать язык, установить время и подключиться к точке доступа.

Нет времени читать? - Смотрите видео по теме:

Что потребуется для обновления

  • Компьютер с интернетом;
  • USB-флешка 4 ГБ или больше;
  • Наличие новой прошивки для телевизора на сайте Samsung.

Как понять, что вышла новая прошивка

  1. Проверьте версию прошивки на своем телевизоре.
На телевизоре На сайте
T-HKMDEUC_1453 T-HKMDEUC_1460

Как обновить прошивку

Скачайте установочный файл.

Как обновить прошивку телевизора Samsung через USB-флешку

Отформатируйте флешку на компьютере в файловую систему FAT32.

Скопируйте файл с прошивкой на флешку.

Откройте скопированный файл на флешке (два клика левой кнопкой мыши).

Нажмите на кнопку «Extract» в появившемся окне.

Дождитесь завершения распаковки файла.

Безопасно извлеките флешку.

Подключите флешку к USB-разъему на задней части телевизора.

Откройте настройки телевизора.

Как открыть настройки


На кнопочном пульте нажмите кнопку «MENU» .


На телевизоре R, M, N, Q, LS, K-серии нажмите кнопку «HOME» , пролистайте влево и выберите пункт «Настройки» на экране телевизора.


На смарт-пульте телевизора J-серии нажмите кнопку «MENU/123» и выберите пункт «Меню» на экране телевизора.


На смарт-пульте телевизора H-серии нажмите кнопку «KEYPAD» и выберите пункт «Menu» на экране телевизора.


На смарт-пульте телевизора F-серии нажмите кнопку «MORE» и выберите пункт «Menu» на экране телевизора.

Выберите «Обновление ПО».

Если пункт «Обновление ПО» неактивен, выйдите из настроек и зайдите через 2-3 минуты.

Выберите «Обновить сейчас».

Телевизор предложит проверить прошивку на флешке, нажмите «Да».

Подождите, пока телевизор определит прошивку на флешке.

Выберите «Обновить» или «Да».

Дождитесь завершения установки.

Не вытаскивайте флешку и не выключайте телевизор, пока он обновляется.

После установки новой версии телевизор автоматически выключится и включится снова.

Всем привет! Неспроста я взялся писать статью о том, как прошить флешку – есть опыт. Вчера восстанавливал свою флешку Kingston DT Elite 3.0 16GB. Все получилось, и я подумал, а почему бы не написать подобную инструкцию, и рассказать что и как делать, что бы подарить флешке новую жизнь :).

Восстановление USB накопителя

Какие могут быть признаки жизни USB накопителя?

Это интересно: Для чего нужно безопасное извлечение устройства?

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

Windows просит форматировать флешку при подключении

Так как на флешке не было Важных файлов, я не раздумывая запустил форматирование.

Windows не удалось завершить форматирование USB накопителя

Но все же отформатировал я ее, раза так с десятого и только в FAT 32. После чего USB накопитель нормально определился и я уже даже обрадовался. Но не тут то было. Начал копировать на нее файлы, а скорость записи была примерно 100 кб/с. Решил прошить ее, что и сделал.

Определяем VID и PID USB контроллера

Для начала нам нужно определить VID и PID. Это данные о модели и производителе контроллера, который находится в нашем накопителе. По этим данным мы будем искать утилиту для прошивки. Есть много разных программ, с помощью которых можно определить VID и PID. Я советую утилиту Flash Drive Information Extractor скачать можно по этой ссылке.

Подключите флешку к компьютеру и запустите программу Flash Drive Information Extractor (извлеките папку с программой с архива и запустите файл GetFlashInfo.exe) .

Это интересно: В тишине и прохладе: чем смазать кулер компьютера, чтобы он хорошо охлаждал и не шумел

Программа выдаст нам результат. Смотрим информацию которая находится напротив VID и PID.

Определяем VID и PID контроллера

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

Ищем утилиту для прошивки флешки

Нажимаем кнопку Search и смотрим результат.

Поиск утилиты для прошивки накопителя

В результатах поиска ищем флешку похожую на нашу. В списке могут быть устройства и других производителей. Просто у них такой же контроллер, он определился по VID и PID. Возможно Вы заметили, что у меня флешка на 16 Гб, а в списке я выделил на 32 Гб. Думаю, что в этом нет ничего страшного (просто там где на 16 Гб не указано название утилиты) . Вы же старайтесь выбрать более похожее устройство из списка.

Нас интересует поле UTILS (утилита) , копируем ее название, полностью.

Скачиваем утилиту

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

Это интересно: Как в БИОС настроить загрузку с флешки?

Процесс восстановления USB накопителя

Расскажу как делал я (просто у Вас может быть другая утилита и там все может быть по-другому, но не должно очень сильно отличатся) .

Утилита запущена. Подключаем флешку. У меня в двух строчках в программе появилась информация о флешке. Нажимаем кнопку Start. В моем случае желтая полоска сигнализировала о процессе прошивки. Ждем.

Процесс прошивки накопителя

Когда процесс закончился, я увидел зеленый цвет, походу все хорошо.

Восстановление завершено

Проверил скорость записи, все как положено для USB 3.0, все отлично!

Необходимо быть готовым к тому, что действия могут отличаться от тех, что описал я. И не все может получиться с первого раза. Главное не сдайтесь и все получиться!

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