Re: Huawei Ascend P6 после мАстеров.
#42
Цитата:
Сообщение от Filik
Принесли тело после нескольких мастерских Huawei Ascend P6
Мертвое. В FastBoot не падает.
При подключении в системе появляется устройство ㌲㔴㜶㤸 USB\VID_12D1&PID_3609
Вопрос, чем поднять? И что за устройство без драйверов.
|
䕇䕎䥎 ㌲㔴㜶㤸 USB\VID_12D1&PID_3609
Это интерфейс первичного бутлоудера HiSilicon - виртуальный COM порт.
Такое бывает, как выяснилось, не только в случае, когда мертва eMMC или отсутствует инфраструктура для дальнейшей загрузки (GPT, образ Fastboot, иные компоненты), но даже в случае, когда инфраструктура есть, но подписи загрузчиков не сходятся, например, если залит чужой вторичный загрузчик (Fastboot). Причем он может физически подходить к устройству по коду, но подписи не сойдутся и аппарат немедленно окирпичится и загрузка не выйдет далее этого режима
Кому интересно поразбираться см. опыт Michfood (Michфуд)
https://4pda.ru/forum/index.php?show...#entry42345785
Обсуждение есть также на xda и 96boards.
Сразу нужно сказать, что автору восстановить свое устройство не удалось, но низкий поклон ему за то исследование, которое он провел и опубликовал подробные результаты. Возможно препятствием стали аж двойные подписи, которые я наблюдаю поверх образов разделов в официальных прошивках Huawei. При этом автор был лишен какого либо технологического оборудования, вроде обсуждаемого тут Easy JTAG, или просто паяльной станции чтобы сдуть еММС, что сильно ограничивало его возможности зайти с других сторон.
При любом фатальном сбое (невозможность дальнейшей загрузки) первичный бутлоудер, будь он кастомный из ROM2 или масочный OnChipLoader, который упоминается по ссылке, как и на других платформах, ждет загрузчика на виртуальном USB-COM порту, получив его проверяет его пригодность (в т.ч. подписи если это предусмотрено его кодом) и отдает ему управление. Загрузчик выполняет дальнейшую загрузку необходимых частей прошивки, в частности, как описано по ссылке выше, в подобных аппаратах грузит внешний образ штатного загрузчика fastboot. (уточнение: у P6, наверное, у иных более старых моделей, оказывается, вторичный загрузчик называется xloader, возможно там более лояльное отношения к подписям, но сути это не меняет)
В процессорах реализован TTL-COM порт, выведенный на пятаки на плате (везде ли?), дающий весьма много полезной информации относительно происходящих процессов. Для диагностики, подобных состояний, думается, он будет крайне полезен. Возможно, где-то есть, выведен тестпоинт принудительной активации OnChipLoader-а. Такая возможность должна быть предусмотрена на случай порчи eMMC-шного. Возможна заливка некого кода, загрузчиков через UART (TTL-COM) порт, что вытекает из анализа логов загрузки.
Распаянный USB to COM TTL к UART на Huawei Honor 4C by Michфуд
Как показало исследование, внешний загрузчик, в виде файла fastboot1.img (размером ок 120КБ, название актуально для 4C, для иных устройств может отличаться), присутствует в пакетах прошивки Huawei (UPDATE.APP, их легко распаковать) для устройств на HiSilicon, однако, никаких инструментов для его загрузки в подобных состояниях, в пакетах не наблюдается. Возможно, после разворачивания пакета неким внутренним кодом аппарата (при прошивке "по трем кнопкам"), загрузчик как-то грузится в память, по нужным адресам, и ему передается управление изнутри.
На eMMC данный внешний загрузчик НЕ прописывается (искать его в фуллах соотв бесполезно), он есть только в UPDATE.APP паках от производителя, что говорит о том, что используется он лишь для внешней (или внутренней) загрузки некого кода в память с целью непосредственного его исполнения. Информации, необходимой для разбиения пустой еММС на разделы и прописи в них образов, необходимых, как минимум, для базового рестарта в режим FastBoot, или иной режим, позволивший бы продолжить прошивку по разделам, не наблюдается.
А вот в образе Fastboot для конкретной прошивки, информация о разбиении, как раз присутствует, что позволяет предположить, что Fastboot способен сам пересоздать всю первичную разбивку и наполнение разделов сразу имея необходимые данные в памяти. Интересной особенностью данной платформы (в тех устройствах, где это реализовано) является виртуальное представление начала флеши с GPT (сектора 0-33) в виде виртуального раздела Fastboot под названием efi. В пакетах обновления UPDATE.APP также имеется образ efi.img размером 17КБ содержащий исключительно образ GPT.
Такое представление дает возможность непосредственно писать GPT (а возможно и больший объем от начала еММС) в режиме Fastboot, поскольку Fastboot оперирует представлениями разделов по их названиям и не дает прямого доступа к пространству секторов (или адресов, если говорить о NAND). В других платформах я ранее такого представления не видел. Запись GPT представляется там проблемой при работе на уровне Fastboot.
К реальному EFI все это, понятно, никакого отношения не имеет. Название возникло, видимо, либо с целью запутать исследователей, либо в силу банального непонимания разработчиком терминологии и сущности данных, с которыми он работает.
Имеющая хождение мультиплатформенная (Huawei HiSilicon/Qualcomm/MTK) утилита Huawei-Update-MultiLoader-Tool-1.0.0.9 умеет грузить прошивки в пакетах UPDATE.APP снаружи по USB, в т.ч. для свежих аппаратов (есть отзывы о ее успешном применении к 4C на Kirin 620 т.е. Hi6220, хотя комплект содержит лишь конфиг для K3V2), однако, требует первичного нахождения аппарата в режиме "трех кнопок" (некий режим загрузчика Fastboot) также, как и при загрузке пакета с SD карты в том же режиме (Первичный загрузчик, который тут упоминается, разобрать UPDATE.APP с карты не в состоянии). Принцип ее работы мне пока неизвестен. Интерфейс примитивен как 3 копейки, но код содержит немало интересных диагностических сообщений, однако, эксперименты до получения полного контроля над оборудованием/технологией для меня небезопасны (в наличии лишь один чужой исправный аппарат).
Следует учитывать, что 4C построен на Kirin 620, содержащем встроенный модем Balong, тогда как SoC P6, K3V2, как помню, модема еще не имел, посему использует модем Intel 6260 (поэтому и NVRAM/IMEI правятся интеловской утилой PhoneTool, упомянутой в обсуждении. Однако, как показывает анализ метод первичной загрузки внешних загрузчиков через устройство с теми же VID/PID характерен для HiSilicon даже очень древних моделей, таких как K3 2010г, применявшихся еще на аппаратах с Windows Mobile (см. инструменты K3FirstAid, IDT на 4pda, в комплекте последнего есть крохотный драйвер для этих VID/PID)
Прилагаю современный драйвер, найденный Michfood, скрипт заливки внешних бутлоудеров, слитый им же на 96boards.org, упомянутую утилиту от Huawei.
Надеюсь, кто-то еще поэкспериментирует, сорвет покровы и одарит нас интересной информацией. Перепаивать eMMC по 4 раза, мягко говоря, как-то не айс. Повезло еще что пятаки уцелели, благо их тут не так немного. Нужны открытые программные методы восстановления, равно как и избавление от всяких "локов" бутлоудеров и прочего шпионского или шпионско-ориентированного шлака.
Иное направление копания - работа с Diag портом модема - порт активируется, обычно, выбором Manufacturing mode в Project menu, доступном через "секретные коды", типа:
*#*#2846579#*#* Project mode service menu
Иные типичные для Huawei-HiSilicon коды:
*#0000# Phone Info - Model/Build/HWVer/IMEI info
*#*#0000#*#* About phone
*#*#2846#*#* MMI Test
*#*#2846579#*#* Project Menu
*#*#1357946#*#* Product ID show
*#*#6130#*#* Check Menu - Net Monitor, Battery Info, Usage Statistics
*#*#121314#*#* Function Test (Service Tests)
Про перевод китайского названия устройства
Ну и для развлечения и улучшения настроения попытался перевести йероглифы, которые китаезы внезапно впихнули в название устройства, отдаваемое по USB.
䕇䕎䥎 ㌲㔴㜶㤸
Оказалось, что это очень не просто. Google вообще откзался перевести хоть один йероглиф. Microsoft Translator, после уговоров переводил все как Shan или Шань.
Другие переводчики тоже затыкались и не могли ничего перевести.
Зато нашел интересный сервис, который находит и переводит йероглифы не известные Google и Microsoft
https://bkrs.info/slovo.php?ch=%E3%8C%B2
В приведенный URL уже вставлен йероглиф, который перевести так и не удалось.
Он дал следующий туманный перевод:
Первое слово, название производителя из трех йероглифов, переводится так:
hui Марена (трава), либо низший сорт растения таро (волосатый картофель)
fu Искаженная, не классическая форма наименования разнообразия трав, либо искаженная форма от "круглогодичные вьющиеся растения"
chun Инструмент, аппарат
Второе слово, название устройства, переводится так:
Первый йероглиф не удается перевести ничем вообще, к нему даже фонетическую транскрипцию никто не находит, и это при том, что в природе он существует и у него даже есть свой код в юникоде. Прямо таки, загадка Востока...
yi сельскохозяйственное орудие, инструмент,
большой жертвенный сосуд,
бронзовый трипод с двумя ушами,
котел.
wan женатая пара.
xi трудность, беспокойство,
чувствовать себя не на своем месте
В итоге, видимо, устройство следует называть не иначе как хyйфучун йиванкси, или литературно переводить, как "марена-трава - средство для беспокойства в семейной жизни", что вобщем-то соответствует ожидаемым трудностям при работе с ним.
Возможно, китайцы что-то намутили с кодировкой. Нормальный человек в здравом уме обозначать название устройства на шине USB иначе как на латинице (а еще строже - английском) не станет. У нас тут ругаются за технические жаргонизмы, когда кто-то вместо eMMC пишет еммц, а тут производство процессоров миллионными тиражами для продажи по всей планете, и всем пофиг.
[свернуть]