Китайские Телефоны Четверг, 14.12.2017, 09:23
Меню сайта
Категории каталога
Технологии для мобильных [7]
Настройка телефона [3]
Прошивка телефона [5]


Наш опрос
Оцените наш сайт
Всего ответов: 335
Интересные ссылки..
Объявление

Главная » Статьи » Полезное в телефоне » Прошивка телефона

Прошивка "китайцев", часть 3


Всем доброго дня (вечера, утра, ночи…)!
Для самых стойких, у кого ещё не пропало желание (да не о том вы! ) научиться прошивать китайские телефоны – предлагаю очередную часть своего творения. Нет, увы! – это ещё не русификация; статья про русификацию китайских телефонов практически готова и, надеюсь, в течение недели выложу и её. Сейчас же вашему вниманию предлагается обобщённый вариант ответов на наиболее часто задаваемые вопросы в личку. Суть их сводится к двум основным: 1) После прошивки телефон не включается. Что делать? 2) Существует ли какая-либо методика поиска подходящих прошивок?
Частично наш уважаемый админ сам пытался ответить; например, в форуме. Но - не люблю, когда за меня мою работу делают; совесть потом мучает… Да и – моя ведь вина: в предыдущих частях нужно было эти вопросы хотя бы вкратце рассмотреть. Так что – вашему вниманию предлагается «работа над ошибками»!

Прежде всего, хотелось бы спросить: зачем Вы решили прошивать своего «кита»? И спрашиваю я это не из праздного любопытства: однажды ко мне в мастерскую пришёл клиент и попросил русифицировать какую-то очередную «типа Nokia». Телефон, естественно, был китайский, а было это года два назад, прошивок с нормальным русским в Интернете было… значительно меньше, чем сейчас, да и навыков русификации «китов» тоже поменьше... короче, я попытался «отмазаться». Спрашиваю: что, мол, русского нет совсем? Мужик хмуро кивает. Я беру телефон и, что называется, «на дурачка» набираю «*#0007#» (для тех, кто не в курсе – стандартный код переключения «кита» на русский язык). Телефон мигнул и… правильно, сначала офигел я, а потом – мужик. Тело переключилось на русский! Корявый правда, «звоните език», но худо-бедно разобрать можно! По какой-то непонятной логике разработчики ПО для телефона русский ленгпак предусмотрели, но переключиться на него посредством пользовательского меню действительно было невозможно!!! Возможно, это можно было сделать через инженерное меню, но я не любитель лазанья туда… Так я это всё к чему рассказываю-то: если вы просто хотите русифицировать своего «китёнка» - сначала попробуйте стандартные коды, чем чёрт не шутит – вдруг получится?! Несколько кодов я, на всякий случай приведу, остальные - Яндекс пока никто не отменял…
*#0007# - Переключение телефона на русский язык;
*#0044# - Переключение телефона на английский язык;
*#0000# - Язык по умолчанию (обычно английский; иногда – китайский);
*#66*# - Версия прошивки в телефоне; иногда вместо этого кода работают *#800# ; *#900# ; #*888# ; #*878# ; может, есть ещё что – не знаю.
*#369# - Регулировка контраста телефона, часто бывает полезна после «общего сброса»;
*#77218114# ; *#881188# ; *#94267357# ; *#9426*357# ; *#19912006# ; *#118811# ; *#3646633# - это всё те самые коды общего сброса «китайцев». Иногда бывает нужен пользовательский код телефона, он же – защитный код. Кроме стандартных 0000 и 1234 можно попробовать следующие: 1122, 1111, 00000, 12345, 00000000, 01020304, 10203040.
Кстати: если интересно – постараюсь как-нибудь выложить все коды, что знаю; только – их много, а по сему – это будет отдельная страничка. Знаю, не спортивно это – пользоваться кодами, но иногда помогает. Если же фокус с цифрами не удался – продолжим процедуру.
Для успешного поиска подходящей прошивки следующим шагом должен стать максимально полный сбор информации о подопытном телефоне. Зачем? Дело в том, что китайские «тела» страдают забавной болезнью: аппараты с абсолютно одинаковой внешностью, названием, продающиеся под одной и той же торговой маркой очень часто имеют совершенно разную электронную начинку! А по сему, для успешного поиска подходящей прошивки неплохо бы знать о телефоне что-нибудь ещё кроме названия; а фразы типа: «ищу прошивку для китайской Nokia E71», часто встречающиеся на форумах и в личных сообщениях - звучат, ну скажем, немного нелепо. Я видел не меньше десятка вариантов той же самой «Е71»! Интересует нас, прежде всего, два параметра: полное название процессора и объём установленной микросхемы флеш-памяти. Попутно неплохо бы выяснить реальное разрешение камеры (камер) и размер (разрешение) экрана, а так же сенсорный экран или нет; но процессор и обьём флешки – знать обязательно! Тип процессора можно просто прочитать на самом процессоре (процессор – это такой чёрный квадратик на плате с размерами примерно 1,5х1,5 см. и надписью вроде МТК-6226ВА), а обьём флешки посмотреть при помощи «Flash tool» (мы уже делали эту процедуру). Очень желательно также посмотреть версию уже залитой в телефон прошивки. Иногда это можно сделать, набрав код *#66*# или какой-либо другой (Яндекс в помощь!). Но часто ни один код не подходит, а иногда – телефон вообще не включается. Как тут быть? А быть тут программке «WChinaTool», в частности – «WChinaTool_v0.4», которой я сам пользуюсь (может, есть и более новая – не знаю, поищите). Эта программа анализирует бекап фулла, слитого с телефона, и выдаёт массу интересной информации. Запускаем программку, «показываем» ей, где лежит наш фулл, программа немного подумает и выдаст примерно такую картинку:

Как видим, в моём случае в аппарате установлен процессор МТ6226, размер микросхемы флеш-памяти – 16Мб, версия ПО – это синяя строчка вверху: T6226_05C_PCB01_GPRS_MT6226_S01.B10_EFATRIS_V0915A.
Для любителей всё потрогать и пощупать ручками: то же самое, в принципе, можно увидеть и без программы – всего лишь при помощи любого HEX-редактора: нужно посмотреть слитый файл прошивки начиная с адреса 000003E5 ну и дальше по смыслу.
Вот такую штуковину и нужно набирать в Яндексе, если вы хотите залить в аппарат ту же самую прошивку, которая и была. Но нужно учитывать и строчку BUILD: в ней закодирована версия печатной платы, установленная в вашем аппарате. Очень часто бывает так, что строчка ROM одинакова для всех телефонов одной серии, а BUILD различается; и в результате при попытке залить неродную прошивку наблюдаются различные глюки (не работает камера, тихий звук, картинка не на весь экран…) или телефон не работает вовсе. В идеале должны совпадать и ROM, и BUILD; но то ведь в идеале… А нам-то интересно как раз «не идеальное»! Зачем менять прошивку с корявым русским, без Явы и читалки на прошивку… с корявым русским и без Явы и читалки? smile Какой-то определённой методики поиска и подбора подходящей прошивки нет (да и откуда ей взяться?); технология одна: скачиваем, заливаем, включаем… Не включается? Пытаемся восстановить зону безопасности. Не получается? Скачиваем другую прошивку и всё повторяем сначала. Вопреки расхожему мнению могу с полной уверенностью заявить: каких-либо ограничений на количество попыток заливки/чтения фулла нет: и после тысячного цикла перепрошивки телефон будет работать точно так же, как и после первой прошивки, сделанной на заводе! Так что – не бойтесь экспериментировать: что-то повредить или исчерпать число попыток попросту невозможно! Разумеется, это верно лишь в том случае, если вы делаете всё «как надо». А что касается поиска подходящего фулла - могу посоветовать только одно: ориентируйтесь на вышеназванные показатели: процессор, размер памяти, камера, экран. Если вместе с фуллом будет лежать и фото телефона – можно обратить внимание и на него; но это – не стопроцентный показатель! Однажды я залил фулл от N95 слайдера в N95 моноблок (или наоборот; давно было дело, не помню) и телефон благополучно заработал! Не работала только одна камера, но зато появилась поддержка Ява-приложений. Клиент остался доволен! Да, и ещё один момент: если размер флеш-памяти, установленной в вашем аппарате, ну скажем, 4Мб, а вы нашли прошивку, которая «весит» 16Мб – можете даже не пытаться её скачивать, не тратьте попусту трафик и время! Размер файла прошивки должен АБСОЛЮТНО, с точностью до бита совпадать с объёмом флешки. Просто для контроля – можно посмотреть размер бекапа родного фулла и при поиске обращать внимание только на прошивки такого же размера. Скачанную прошивку неплохо бы сразу же посмотреть при помощи всё той же «WChinaTool»: программа, помимо всего прочего, показывает также языки и шрифты, «заложенные» в прошивку. Возможно, эта информация сэкономит лишний час жизни: прошивка вообще без русского языка как-то… скучна, что ли…;) Вот чтобы лишний раз не прошивать телефон наличие русского языка можно и проверить.

Немного о самом процессе прошивки. Немного – потому, что в предидущих частях я подробнейшим образом рассказал о чтении фулла из телефона, а помещение его обратно – практически тот же самый процесс. Подключаем кабель, настраиваем программу (порт, битрейд,...), только теперь нужно нажимать кнопочку «Download» для Flashtool или Flash для Spiderman. Не забывайте про начальный и конечный адреса для Flashtool-а и про выбор правильного лоадера (для него же). В этом плане я бы посоветовал пользоваться «Человеком-пауком», Spiderman-ом то бишь. Но! Как всегда встревает это самое «но». Спидерман теоретически сам в автоматическом режиме восстанавливает зону безопасности телефона; так что «моргалик» или труп получить сложнее… но то – теоретически! Не люблю я слов «в автоматическом режиме». Пару раз было так, что прошивка по всем параметрам должна работать, Spidrrman её честно заливает, не менее честно чего-то там восстанавливает; а в итоге – мирно спящий труп! Вот здесь-то и вспоминается народная мудрость, что самая короткая дорога не всегда оказывается самой лёгкой! Если тело не подаёт признаков жизни – можно попытаться пропатчить прошивку при помощи программы «MTK_Repair6226». Тут нам понадобится сама эта программа, ну и наша старая знакомая FlashTool. Порядок действий примерно такой:
1) Скачиваем и запускаем MTK_Repair6226BA. Запускаем, запускаем… Нет, это не побитые шрифты, это шрифты, по видимому, китайские! После запуска файла MTKDecryte.exe взору является такая вот картинка:

Ещё раз повторю: не нужно лезть в настройку шрифтов в вашем компьютере: пробовал, не помогает! Как в том анекдоте про лягушку: придётся есть так.
2) Нажимаем верхнюю левую кнопочку, обозначенную «???» и показываем путь к файлу прошивки, которая не заработала (а должна была!). Причём, программа видит только файлы с расширением *.bin, а фулл, сливаемый тем же самым ФлешТулом сохраняется вообще без расширения; так что, возможно, придётся поменять имя файла (к имени файла добавить .bin). Если всё сделано правильно, то адрес и имя файла прошивки появятся в верхней светлой строчке, а в нижней – адрес пока что несуществующего файла с именем, отличающимся от исходного только на три символа: «_jm».
3) Нажимаем на правую нижнюю кнопку – программа чего-то там заругается (не глядя соглашаемся!) и создаст тот самый файл, про который она писала в нижней строчке. Файл появится в той же папке, где лежал исходный, но в принципе, путь для него можно указать, нажав кнопочку, обозначенную как «????». Не знаю, правда, зачем это нужно…
4) Запускаем программу FlashTool, устанавливаем битрейд, порт, стандартный лоадер… и в качестве файла прошивки указываем полученный файл – тот, который …_jm.bin. Заливаем его в телефон и радуемся! Спидерман такого не умеет.
5) Небольшое дополнение: если размер полученного файла равен 0 байт – такой файл, разумеется, прошивать не стоит. Не за чем. Ноль байт означает, что либо прошивка исправна, но всё же совершенно не подходит к аппарату, либо (чаще) – что программа просто не знает, что с такой прошивкой делать… Для нас оба варианта равнозначны: тело не ожило и это главное. И ещё: как нетрудно догадаться, программа работает только с процессорами MTK6226BA. Жаль. Для всех остальных процессоров есть ещё один способ, ещё более запутанный, но зато – универсальный! Расскажу о нём.
Понадобится нам какая-нибудь программа-компаратор, которая умеет работать с шестнадцатеричными файлами. Для определённости пусть будет CMP_v2_20 (все почему-то советуют именно её – пускай, согласимся; хотя это не принципиально). Внимание: смысл следующего действия – получение файла зоны безопасности ОТДЕЛЬНО ОТ ВСЕГО ФАЙЛА ПРОШИВКИ!!! Прочитайте эту фразу ещё раз и осознайте: это важно! Предыдущий способ «работал» только с конкретным типом процессора, только с файлом прошивки… и далеко не всегда корректно. Тот кусочек файла, который мы получим в результате дальнейших действий вполне можно «наложить» на любую из выбранных прошивок, на русифицированную прошивку, на прошивку, слитую с другого телефона… И этот файлик содержит уникальные настройки, «прошитые» на заводе-изготовителе только для вашего аппарата! Так что – с этим файлом вероятность нахождения «правильной» прошивки для вашего аппарата резко возрастает! Можно как угодно извращаться, заливая практически любые подходящие прошивки от аналогичных аппаратов, затем поверх «накладывать» свою родную «зону безопасности» и с вероятностью 90% получится рабочий аппарат! Заинтересовал? Тогда продолжим.
Как я уже говорил, нам понадобится 16тиричный компаратор (CMP_v2_20), бекап РОДНОГО фулла: не скачанного с Интернета, а именно РОДНОГО, слитого с ещё работающего аппарата; ну и флешер, всё та же FlashTool.
1) Заливаем в телефон родной фулл (для определённости назовём его FF_01).
2) Считываем его обратно из телефона и сохраняем в файл (пусть будет FF_02).
3) Запускаем компаратор. В поле «Файл А» указываем путь к FF_01; в поле «Файл В», соответственно, путь к FF_02 (не перепутайте!).
4) Если всё сделано правильно – программа в столбиках слева покажет примерно 100…116 несовпадений. Откуда они взялись? Ну… если не очень точно, но хоть немного понятно, то есть в флеш-памяти телефона несколько ячеек, в которых хранятся уникальные для вашего аппарата настройки и при заливке родного фулла телефон их не перезаписывает (или восстанавливает). Нетрудно догадаться, что если залить в телефон прошивку от какого-нибудь другого тела с другой зоной безопасности, то возможен такой вариант, когда новые настройки «загоняют» телефон в такой режим, в котором он просто не сможет включиться по всем законам физики! Хотя казалось бы: вся прошивка совпадает, не совпадают лишь несколько байт настройки… Вот эти-то несовпадающие байты нас и интересуют! Сохраняем их. Для особо любопытных: некоторые байты зоны безопасности могут совпадать, а потому число «несовпадений» в зависимости от аппарата может меняться.
5) Дважды щёлкаем по первому несовпадению (столбец слева), в правом поле программа подсветит синим значение ячейки выбранного адреса. Не перепутайте! Нас интересует именно левый столбец, тот, где «Файл А»! В правом поле, всё в том же файле А выделяем часть файла, содержащую все несовпадения. Для этого щёлкаем по первой подсвеченной ячейке, зажимаем клавишу <Shift> и щёлкаем по последнему несовпадению. Лишнего не выделяйте! Нас интересует только зона безопасности размером 116 байт, не больше! Для выделения можно так же использовать клавиши курсора + клавиша <Shift>. Учитывайте так же, что программа позволяет выделять либо одну ячейку, либо сразу слово (или несколько слов); половинку строчки выделить не удастся.
6) При помощи кнопочки «Сохранить выделенный фрагмент» сохраняем интересующий нас кусочек файла, ну например, в файл «Bezopasnost.bin». Советую для этого файла создать папку и в неё же положить файлик *.doc или *.txt с названием телефона и – главное – АДРЕСОМ ПЕРВОГО НЕСОВПАДЕНИЯ! Это важно!
7) Создаём любой файл с расширением *.txt, например, «my_new_scat.txt» и в него записываем следующее содержание (с точностью до символа!):
ROM 0x08хххххх
{
}
где хххххх - это адрес того самого первого несовпадения. Сохраняем изменения.
8) В общем-то всё! Файл «Bezopasnost.bin» - это и есть ваша зона безопасности, а «my_new_scat.txt» - это файл-лоадер с адресом первой ячейки, начиная с которой нужно заливать «Bezopasnost.bin». Дальше догадаетесь, что делать?
9) При помощи программы FlashTool заливаем файл FF_01 (ну, или какой-нибудь другой, из Интернета скачанный: интересно же! wink ), при этом используем стандартный лоадер (scat26.27.28.29). Затем поверх, уже при помощи нашего «самодельного» лоадера «my_new_scat.txt» в телефон заливаем «Bezopasnost.bin».
10) Радуемся и идём за Клинским!
Ко всему вышесказанному добавить могу следующее. На форумах народ волнуется по поводу: «А что, если нет родного фулла? Тогда зоны безопасности не видать?». Отвечаю. По хорошему – ничего тут уже не поделаешь. К сожалению. Не, можно и поделать : покупаем GSM-тестер стоимомтью несколько тысяч зелёных рублей… Но можно и по плохому. Ищем в Е-Нете фулл уж хоть с каким-нибудь китайско-русским, пусть без Явы, пусть с некрасивыми картинками… короче – любой, лишь бы подошёл к телу и он нормально включился. Заливаем его в аппарат. Заряжаем батарейку и ходим с телефоном несколько дней, проверяя его на предмет «глюков», беспричинной потери сети, быстрого умирания батарейки… ну и так далее. Если глюки достают уж очень сильно – начинаем всё сначала: ищем прошивку, заливаем… Ну, а ежели, паче чаянья, телефон хоть приблизительно работает – делаем ему общий сброс, формат (средствами самого телефона!); затем вышеописанным способом «добываем» из него зону безопасности и приступаем к поиску уже нормальной прошивки с русским языком и Явой или к русификации и «доводке до ума» уже существующей. И не нужно меня бить по лицу за такой совет: знаю, вероятность глюков вполне себе сохраняется, а способ, мягко говоря, не идеальный… Зато – работает!

И ещё один момент хочется озвучить в завершение темы прошивки. Китайские тела после прошивки периодически возмущаются: мол, «не мой IMEI и работать не буду!». Это не часто, но всё же бывает. Логично предположить, что в прошивку надо бы вернуть родной IMEI – тот, который на этикетке под батарейкой. И даже программку специально для этого придумали, тоже бесплатную между прочим: «MTK IMEI changer» называется. Но, да простят меня разработчики этой программы – работает она… нечасто… и немного. Зато – через стандартный шнурок, идущий в комплекте с аппаратом, прошивочный шнур не нужен! Но как-то у меня не срослось с этой программкой; Spiderman делает то же самое, но стабильно и просто! Есть возможность записать в тело сразу два IMEI-кода (если в телефоне реально два трансивера!). В общем, рекомендую Spiderman: сам проверял, работает.
Несколько слов о кабеле. Sorry, если ещё раз в чём-то повторюсь, но… Для прошивки ОБЯЗАТЕЛЬНО именно прошивочный кабель! Да, правильно заметили наиболее любопытные и наблюдательные: на выходе микросхемы PL2303 и ей подобных формируются сигналы Rx и Tx; но ведь точно такие же сигналы присутствуют и на стандартном COM и LPT – портах! Правильно, такие. Согласен. Но всё же – не совсем такие. И СОМ, и LPT порты работают с протоколами передачи данных RS-232 и иногда – RS-485 (говорят, сам не видел). Так вот, согласно протоколу RS-232 «физическое» напряжение, соответствующее логической «единице» равно +12 Вольт, а логический «ноль» равняется -12В. физических. Протокол передачи данных, применяемый в китайских телефонах – это логическая «единица», равная 0…+0,7В и логический «ноль», соответствующий напряжению 2,5…3В. Ну и что тут общего? Мало того, что телефон просто «не поймёт», не сможет обработать сигналы такого уровня, так ещё и запросто сгореть может! Три и двенадцать вольт – всё-таки разница в четыре раза… Много однако! И ещё: даже если каким-то чудом и получится подключить «китайца» к СОМ-порту – так не забывайте и ещё одну «мелочь»: СОМ-порт работает на скорости 4700 кБит/сек; а виртуальный СОМ-порт можно «разогнать» до 115200 кБит/сек. Как, ощутимо? А теперь – представьте: файл прошивки «весит» 32Мб. Сколько времени займёт процесс прошивки телефона на скорости 4700? А если ещё и несколько раз прошивать придётся? Ну, за месяц управитесь!
Ну вот и всё, что я хотел сказать на этот раз. Подробнейшая статья про русификацию близится к завершению: в ближайшие несколько дней всё будет готово.
Всем добра и до скорых встреч на страницах этого сайта!
/Сергей Искрицкий.
Категория: Прошивка телефона | Добавил: Romantic-2004 (23.04.2010) | Автор: Сергей Искрицкий
Просмотров: 25766 | Комментарии: 5 | Рейтинг: 4.7/16 |
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Статистика
Купи
Copyright MyCorp © 2017
При копировании материалов активная ссылка на источник KitayPhone.Ru обязательна
Создать бесплатный сайт с uCoz