![]() |
|
![]() |
![]()
Сообщение
#1
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 1806 Регистрация: 20.10.2007 Из: Moscow Пользователь №: 11 Спасибо сказали: 172 раз(а) Девайс:Samsung Galaxy Ace ![]() |
В приложении роверовский XIP (любезно выковырянный k0ster'ом) и утилиты для ковыряния.
При распаковке этого XIP сталкиваюсь с проблемой: не могу построить карту (write map). Обращался к k0ster'у - у того карта строится. Попробуйте, строится ли карта у вас? Сообщение отредактировал BigMike - 18.11.2007, 23:48
Прикрепленные файлы
|
![]() |
|
![]() |
![]()
Сообщение
#21
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Молодец! Я долго ковырялся с хипами на предмет релокации модулей, но почему-то натравить на них M'Reloc_nk не догадался (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) А портировать ядрос WM5 даже не пытайся - слишком разные системы, там драйвера даже разными процессами грузятся, вот цитата с MSDN: "The Windows Embedded CE driver model has changed for Windows Embedded CE 6.0. In Windows CE 5.0 and earlier, drivers ran in the Device.exe process. In Windows Embedded CE 6.0, drivers run in the NK.exe process." Ну... до M'Reloc_nk я сегодня утром дошел (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) До этого пытался вручную откорректировать (IMG:http://forum.pda2u.ru/style_emoticons/default/blink.gif) (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) А вот по 6.0 не согласен (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Windows Mobile 6.0 базируется на Windows CE 5.2. Windows CE 6.0 видимо будет в семерке... Сам вчера и сегодня до упада пытался разобраться в нумерации осей от MS. С другой стороны, там такое ощущение, что толи нужно еще ремапить родной nk.exe из-за ремапа драйверов, толи у нее в nk.exe где-то жестко прошит возврат версии 5.1. Хотя вроде бы это должно быть в ядре операционной системы, а не nk.exe. Такое ощущение, что те кто реально портировал свой nk.exe на другое устройство это нашли, но вот информации нет. См., например, http://forum.xda-developers.com/showthread...ght=physlast%3A И еще было в цепочке по прогрессу WM6 для Trinity. Там как раз сначала удалось тупо портировать файлы оси, просто понизив у них версию до 5.1. А уже потом видимо было найдено, где же эта версия прошита... Может быть в nk.exe, тогда результат закономерен (IMG:http://forum.pda2u.ru/style_emoticons/default/sad.gif) |
![]() |
|
![]()
Сообщение
#22
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Да, забыл еще написать. Я бы не стал слепо доверять утилитам типа M'Reloc_nk. Не было времени серьезно проверить, но похоже, что они даже не ведут разбор PE-заголовка (впрочем, его ведут другие утилиты, это так, общее замечание (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) ) и вообще кода. Алгоритм похоже следующий - просто по выравниванию на двойное слово идет поиск по маске и замена. Удобно, но потом баги придется вылавливать. В общем, для окончательной версии (если она будет (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) ), придется ручками проверять...
P.S. Это я к тому, что M'Reloc_nk отказался мне двигать pm.dll, когда я пытался собрать ядро на базе RW6815. А там как раз больше всего было пересчетов. |
![]() |
|
![]()
Сообщение
#23
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Нашел, может не очень полезную с практической точки зрения, информацию. Номер версии ОС жестко зашит в coredll.dll в теле функции GetVersionExW. Код имеет подобный вид:
CODE EXPORT GetVersionExW GetVersionExW STMFD SP!, {R4,R5,LR} ; GetVersionEx MOVL R3, 0x79С ; 1948 MOV R2, #0x114 MOV R1, #5 MOV LR, #2 MOV R4, #3 ... BX LR ; End of function GetVersionExW Теоретически, нужно вытащить coredll.dll, дизассемблировать ее, найти функцию и посмотреть HEX-код, который уже и поменять на нужный в смысле версии. Практически, т.к. я не большой специалист по кодированию инструкций этих процессоров, то привожу поясняющую картинку, дешифровку и метод замены только для прошивок на базе WM6 ATOM и ATOM EXEC (смотрел штуки четыре, везде именно так). Менять можно либо в разобранной coredll.dll в S000 в XIP, либо напрямую в diskimage_Ver.nb0. 1. Кодирование версии ОС (5.2.1948): MOVL R3, 0x79С ; 79 3E A0 E3 0C 30 83 E3 MOV R1, #5 ; 05 10 A0 E3 MOV LR, #2 ; 02 E0 A0 E3 2. Метод замены (см. иллюстрацию) Ищем в diskimage_Ver.nb0 или S000 coredll.dll последовательность: 05 10 A0 E3 02 E0 A0 E3 Меняем по соответствующим смещениям билд. Вроде все. Да, для других осей поисковая цепочка может быть иной, нужно смотреть реализацию функции в coredll.dll. Например, для WM5 на RW6815 (6828) цепочка поиска 05 20 A0 E3 01 10 A0 E3. Основной источник: Обсуждение на xda-developers P.S. Теоретически, таких последовательностей вроде должно быть две, т.к. функций вроде бы две GetVersionEx и GetVersionExW. Но я не дизассемблировал полностью coredll.dll, нашел только одну. Может там просто ссылки на одну и туже функцию...
Прикрепленные файлы
|
![]() |
|
![]()
Сообщение
#24
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
В общем, с портированием WM6 на аппаратное ядро RW6815 как то пока не очень получается. Вроде бы все верно, но WM6 с новым ядром не запускается. Почему верно - вставил собранный новый XIP с ядром ОС WM6 и аппаратным ядром от RW6815 в родную WM5 и она загрузилась! При этом в About показывает все верно - 5.2.1948, т.е. на чем и собирал. В чем загвоздка, непонятно... Публикую использовавшуюся технологию и результирующий собранный XIP, может у кого возникнут светлые мысли, в чем я неправ? (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
Экспериментов было много, поэтому описываю просто по последней сборке. Делал и иначе, результат не меняется... 1. Взяд WM5 HP RW6815 WWE и вытащил из нее XIP. Разобрал его. 2. Взял XIP от WM6 ATOM EXEC сборки оси 5.2.1948 3. Из Modules XIP WM5 удалил отладочные hd.dll и osaxst0.dll (и без них все отлично работает (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) ) 4. Из XIP WM6 из Files и Modules перенес с заменой все файлы ОС WM6 из MSXIPKernel и MSXIPKernelLTK. 5. Взял из XIP WM5 библиотеки аппаратного ядра ceddk.dll, cecompr.dll, stratad_intel_l.dll и trueffs.dll и переместил их по vbase и realaddress XIP WM6 с помощью M'Reloc_nk. Они конфликтуют с pm.dll и regenum.dll от XIP WM6 (можно двигать и эти, но результат как то не меняется). Единственная хитрость, нужно добиться от M'Reloc_nk, чтобы после DoIT realaddress был правильный, для этого из нужного адреса вычитаем длину блока. 6. Заменил в XIP WM5 соответствующие библиотеки на исправленные. 7. Увеличил в ROMHDR.TXT physlast (на XIP WM6). 8. Запустил XIPPort и сделал Realoc_P, write_maps. 9. Заменил в S000 nk.exe адрес рома. 10. Собрал новый XIP. Как результат - вставляю его в WM5 RW6815 WWE - грузится с новым ядром. Вставляю в WM6 - повисает на надписи сброса настроек (причем как бы правильно, т.е. секунд 7-8 горит яркая надпись, потом где-то на 18-20 она чуть притухает... дальше как бы должна грузиться ОС, а реально висим и надпись через какое-то время еще сильнее гаснет...). Вот. Прикладываю собранный XIP, может кто посмотрит отладочные надписи на большом компьютере. Я себе, конечно, соберу кабель, но это долго (IMG:http://forum.pda2u.ru/style_emoticons/default/sad.gif) XIP для прошивки ОС 5.2.1948 ATOM EXEC... Могу выложить и целиком diskimage_Ver.nb0 для RW6815.
Прикрепленные файлы
|
![]() |
|
![]()
Сообщение
#25
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Всех с наступившим Новым Годом! Успехов и счастья в новом году! (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
По поводу XIP с WM6 и аппаратным ядром RW6815, думается, скоро все заработает (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Перерыл кучу форумов, такое ощущение, что в конечном портировании WM6 на устройства с WM5 всегда принимал участие cnomex. Что конкретно делал этот волшебник, пока не ясно. Основное - правильный релок ядра, в трудных случаях - редактирование nk.exe и аппаратных драйверов (но это, надеюсь, не наш случай (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) ). В общем, скачал с его сайта монументальные труды по редактированию ромов и релоку. Сейчас изучаю. К сожалению, они относятся к более ранним платформам, но общие принципы сохранились. Часть про WM5/WM6 устройства он обещает дописать в скором времени... С другой стороны, сейчас выкачал и разобрал WM5 для ATOM. Что самое интересное - ядро практически (на том, что успел посмотреть просто полностью) идентично WM5 на RW6815! Осталось сделать последний маленький шажок - разобраться, что именно было сделано на шаге перехода от WM5 к WM6 на ATOM и повторить для RW6815. Так что, наверное, это дело нескольких дней. Ну а если не получится, придется, как и всем предшественникам, обращаться к cnomex за помощью (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) |
![]() |
|
![]()
Сообщение
#26
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Вот и все! (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) Я нашел самое ключевое изменение!!! Правим в S000 в nk.exe:
25160: 01 02 Грузимся!!! WM6 на родном аппаратном ядре 6815! Там идет ключевой код, о котором я писал несколько сообщений назад по проверке версии: CODE ... STR R3, [R5,#4] CMP R2, #5 BHI 0x54 BNE loc_28 LDRB R3, [R5,#3] CMP R3, #1 BHI 0x54 ... Соответственно меняем гениальные CMP R3, #1 на CMP R3, #2, т.е. 5.1 на 5.2. И все. Нужно, конечно, еще дальше покапать. Там много всего, но ГРУЗИМСЯ!!! P.S. Для других коммуникаторов можно попробовать поискать: 05 00 52 E3 0E 00 00 8A Далее по смещению +0x10 должно быть 01 00 53 E3 Там и правим 01 на 02... |
![]() |
|
![]()
Сообщение
#27
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Уу...у! (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) Ну ладно, раз никто не пишет, пойду тоже пить, все что горит (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
Я теперь тоже хочу высказать благодарности, как все мейкеры ядер... ArHon и alex_beda за то, что указали, что Светлый путь существует! И главное показали, куда идти! (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) cnomex, bepe и mamaich за то, что этот путь нашли вообще! (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) В общем, еще раз хочу поздравить всех с Новым Годом и пожелать всего самого лучшего! |
![]() |
|
![]() ![]()
Сообщение
#28
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: 129 раз(а) Девайс:HP iPAQ rw6815 ![]() |
AGC, молодец! Как просохнешь, собирай всю инфу в кучу - и в подробностях расписывай портирование ядра с wm5 на wm6! Поздравляю!!! (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif)
P.S. Проверил - все прошивается, главное не забыть ручками править файлы imageinfo.txt после M'Reloc_nk, правда есть одно НО - не смог сделать ХР (может я уже туплю, но ведь на 6815 ХР делается - обе трубки + питание + ресет?) - не реагирует, как и на атомовское питание+ресет. Пока вот. P.S.S. Так... у меня с этим ядром те же проблемы, что и с атомовским - не ставятся кабы, не производится синхронизация с ББ, давай подробную инструкцию - может чего не сделал |
![]() |
|
![]()
Сообщение
#29
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
AGC, молодец! Как просохнешь, собирай всю инфу в кучу - и в подробностях расписывай портирование ядра с wm5 на wm6! Поздравляю!!! P.S. Проверил - все прошивается, главное не забыть ручками править файлы imageinfo.txt после M'Reloc_nk, правда есть одно НО - не смог сделать ХР (может я уже туплю, но ведь на 6815 ХР делается - обе трубки + питание + ресет?) - не реагирует, как и на атомовское питание+ресет. Пока вот. P.S.S. Так... у меня с этим ядром те же проблемы, что и с атомовским - не ставятся кабы, не производится синхронизация с ББ, давай подробную инструкцию - может чего не сделал Спасибо! А инструкция грядет (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Сегодня-завтра допишу полностью. Хотя я вроде все описал в предыдущих сообщениях, но опишу более подробно именно для портирования с ATOM и ATOM EXEC. Правда сейчас, вроде бы, я уже представляю себе, как принципиально портировать если не с любого устройства, то с более менее совместимого (по процессору, строению, ну и т.п. естественно (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) ). Главное не забыть еще OEMDrivers самой ОС. А желательно и весь OEM... Ну и сертификаты, будь они не ладны (IMG:http://forum.pda2u.ru/style_emoticons/default/rolleyes.gif) С ХР сейчас посмотрю, я и забыл, что ядро поменялось. В результате сейчас опять вогнал устройство в перепрошивку (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) Нажимая разные кнопочки... По проблемам, честно говоря, этих не обнаружил. (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Кабы ставятся, как минимум ставил твой - эмуляции расширенного рома, еще ставил твой же каб камеры, т.к. забыл по первости ее вшить в прошивку. Все Ок. Синхронизация тоже проходит на ура, по крайней мере записную книжку тащит нормально. А что за ОС стоит на большом компьютере - случайно не Vista? (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) В общем, на Windows XP SP2 + ActiveSync 4.5 все вроде работает... P.S. Сейчас в нашей ветке выложу тестовую сборку. Попробуй на ней. Я просто, на самом деле, много чего менял, может что действительно забыл описать... P.P.S. Прошу делать скидку на мою оговорку, что найдено именно "ключевое изменение" при переходе от ATOM WM5 к ATOM WM6 (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) Там побайтное сравнение nk.exe дает 3610Kb отличий. Ясно, что 99,9% этих отличий связаны с релоком пары частей nk.exe в памяти (опять же, пока не очень понял, зачем они это делали, может просто подгоняли под то устройство, с которого портировали ОС, а может были более практические причины)... --- Дописано позднее --- Разобрался с остальными 3610Кб изменений. Первые три байта - смещение рома, последний байт - описанное ключевое изменение. Остальное - "мусор". Там картинку в S000 поменяли, а я сразу и не сообразил (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) Так что в S000 nk.exe действительно исправили лишь один байт в проверке версии... |
![]() |
|
![]()
Сообщение
#30
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: 129 раз(а) Девайс:HP iPAQ rw6815 ![]() |
AGC, есть положительный результат! По твоей технологии все сделал, только вместо портирования ядра в родной хип, сделал наоборот - портировал устройство-зависимые файлы и модули в новый хип из родного. Т.е. те файлы, которые попадают в папку OEMXIPKERNEL после команды make pkgs в xipport3. Так что все ок, готовь полную инфу с учетом сказанного. И еще я сделал релок giisr.dll. Пока выложу новую сборку своей прошивки с ядром 1948. Если хочешь, могу сам инфу наклепать - а то роверовцы ждут, им тоже экран нормальный нужен. Правда вот с ХР надо будет еще ковыряться....
|
![]() |
|
![]()
Сообщение
#31
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
AGC, есть положительный результат! По твоей технологии все сделал, только вместо портирования ядра в родной хип, сделал наоборот - портировал устройство-зависимые файлы и модули в новый хип из родного. Т.е. те файлы, которые попадают в папку OEMXIPKERNEL после команды make pkgs в xipport3. Так что все ок, готовь полную инфу с учетом сказанного. И еще я сделал релок giisr.dll. Пока выложу новую сборку своей прошивки с ядром 1948. Если хочешь, могу сам инфу наклепать - а то роверовцы ждут, им тоже экран нормальный нужен. Правда вот с ХР надо будет еще ковыряться.... Молодец, здорово! Я же не зря писал, что сейчас начало появляться реальное понимание, как портировать WM6 на WM5-устройства практически с любого более-менее совместимого девайса. (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) В плане осмысленности действий (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Во время экспериментов, я как только не извращался... Там даже не суть как важно, что и куда, главное "правильно" + ключевое изменение cnomex (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) В общем, сейчас постараюсь следующим сообщением собрать воедино изложенные ранее обещанные принципы портирования, большая просьба, если что забуду, поправь. У меня уже взгляд замылился, часть вещей делается на автопилоте (ты, кстати, абсолютно верно уточнил выше, что нужно после M'Reloc_nk править ручками imageinfo.txt, просто уже забыл это написать). Да и взгляд уже разбегается на русские прошивки, родной HTC Touch + VoiceCommander русский от ETEN M700 (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Постараюсь подробно, а там уж как получится... Да, по результатам сегодняшней апробации в нашей ветке выяснилось, что вставлять все родные драйвера, не самая лучшая идея. Я сейчас откатился на сборку с базовым набором (камера, экран, звук, клавиатура). Это еще нужно уточнять. Как минимум от WM6 нужно оставлять драйвера miniSDHC. Еще у меня были какие-то проблемы с синхронизацией под Vista до отката, но это могло быть вызвано и просто подвисанием ActiveSync на коммуникаторе (я его перетыкал с WinXP на Vista). В общем, с драйверами тоже нужно будет еще поэксперементировать. По хард-ресету - угу, нужно копать nk.exe и другие библиотеки, там похоже идет конфликт горячих сочетаний клавиш. Мне казалось, что я где-то встречал комментарий по коду вызова хард-ресета, но сейчас не вспомню... P.S. А проблема с синхронизацией то разрешилась? Если стоит Vista, то на 32-битной мне сегодня удалось его зацепить. Там MS буквально на днях выпустил какой-то патч к своему центру мобильных устройств, да и кто-то в форуме написал, что у него тоже получилось зацепить после обновления с MS. Так что все должно заработать после обновления... |
![]() |
|
![]()
Сообщение
#32
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Портирование ядра ОС из XIP WM6 ATOM/ATOM EXEC на аппаратное ядро из XIP WM5 RW6815 и других собратьев
По сути вся технология описана в предыдущих сообщениях, ниже просто постарался изложить как то более системно и детально конкретные действия, да добавил небольшие общие комментарии (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) 1. Берем diskimage_Ver.nb0 от оригинальной WM5 WWE целевого устройства (если берется локализованная прошивка, то в дальнейшем нужно, видимо, будет править boot.rgu перед сборкой XIP на предмет замены локалей для русской 0419 на 0409, если донор WM6 WWE). 2. Вырезаем из нее XIP в виде блока 180000-53FFFF и сохраняем как xip.bin в папку для разборки. 3. Разбираем XIP с помощью XIPPort ("dump xip.bin" и затем "write maps"). 4. Аналогичным образом берем diskimage_Ver.nb0 от прошивки-донора ОС WM6 ATOM/ATOM EXEC, вырезаем из нее XIP и разбираем в другую папку. 5. Из подпапки Out/Modules разобранного XIP WM5 сразу удаляем отладочные hd.dll и osaxst0.dll (удаляем папки и соответствующие текстовые файлы). Они не нужны. 6. В XIPPort WM6 генерируем пакеты ("make pkgs"). 7. Из XIP WM6 из подпапок MSXIPKernel и MSXIPKernelLTK папки Out/Files переносим с заменой все файлы ОС WM6 в подпапку Out/Files WM5 (все файлы и папки). 8. Из XIP WM6 из подпапок MSXIPKernel и MSXIPKernelLTK папки Out/Modules переносим с заменой все файлы ОС WM6 в подпапку Out/Modules WM5 (все файлы и папки). Для RW6815 MSXIPKernelLTK была пустая. 9. Открываем сгенерированные ранее map.txt от WM5 и WM6. Смотрим секцию "Start: first DLL address - End: last DLL address" и следующую сразу за ней до "Start: start of RAM". Они должны быть просто полностью идентичны приведенным ниже. CODE RW6815 WM5 WWE ~~~~~~~~~~~~~~ 00000000 - 01f901fd L01f901fd NUL 01f901fd - 01f901fd L00000000 Start: first DLL address 01f901fd - 01fd3000 L00042e03 NUL 01fd3000 - 01fd4000 L00001000 initialized data of region_1 ceddk.dll 01fd4000 - 01fe3000 L0000f000 initialized data of region_1 TrueFFS.dll 01fe3000 - 01fe4000 L00001000 initialized data of region_2 cecompr.dll 01fe4000 - 01ff1000 L0000d000 initialized data of region_1 stratad_intel_l.dll 01ff1000 - 01ff2000 L00001000 initialized data of region_1 devmgr.dll 01ff2000 - 01ff3000 L00001000 initialized data of region_1 busenum.dll 01ff3000 - 01ff4000 L00001000 initialized data of region_1 mspart.dll 01ff4000 - 01ff5000 L00001000 initialized data of region_1 regenum.dll 01ff5000 - 01ff6000 L00001000 initialized data of region_1 imgfs.dll 01ff6000 - 01ff7000 L00001000 initialized data of region_1 fatfsd.dll 01ff7000 - 01ff9000 L00002000 initialized data of region_1 crypt32.dll 01ff9000 - 01ffa000 L00001000 initialized data of region_1 pm.dll 01ffa000 - 01ffb000 L00001000 initialized data of region_1 fatutil.dll 01ffb000 - 01ffc000 L00001000 initialized data of region_1 fsreplxfilt.dll 01ffc000 - 01ffd000 L00001000 initialized data of region_1 diskcache.dll 01ffd000 - 01ffe000 L00001000 initialized data of region_1 fsdmgr.dll 01ffe000 - 01fff000 L00001000 initialized data of region_1 certmod.dll 01fff000 - 02000000 L00001000 initialized data of region_1 coredll.dll 02000000 - 02000000 L00000000 End: last DLL address 02000000 - 03d70000 L01d70000 NUL 03d70000 - 03d76000 L00006000 Virtual base address of ceddk.dll 03d76000 - 03d80000 L0000a000 NUL 03d80000 - 03dcc000 L0004c000 Virtual base address of TrueFFS.dll 03dcc000 - 03dd0000 L00004000 NUL 03dd0000 - 03dd7000 L00007000 Virtual base address of cecompr.dll 03dd7000 - 03de0000 L00009000 NUL 03de0000 - 03df6000 L00016000 Virtual base address of stratad_intel_l.dll 03df6000 - 03e00000 L0000a000 NUL 03e00000 - 03e0c000 L0000c000 Virtual base address of devmgr.dll 03e0c000 - 03e10000 L00004000 NUL 03e10000 - 03e16000 L00006000 Virtual base address of busenum.dll 03e16000 - 03e20000 L0000a000 NUL 03e20000 - 03e28000 L00008000 Virtual base address of mspart.dll 03e28000 - 03e30000 L00008000 NUL 03e30000 - 03e34000 L00004000 Virtual base address of regenum.dll 03e34000 - 03e40000 L0000c000 NUL 03e40000 - 03e4a000 L0000a000 Virtual base address of imgfs.dll 03e4a000 - 03e50000 L00006000 NUL 03e50000 - 03e63000 L00013000 Virtual base address of fatfsd.dll 03e63000 - 03e70000 L0000d000 NUL 03e70000 - 03ee2000 L00072000 Virtual base address of crypt32.dll 03ee2000 - 03ef0000 L0000e000 NUL 03ef0000 - 03efd000 L0000d000 Virtual base address of pm.dll 03efd000 - 03f00000 L00003000 NUL 03f00000 - 03f09000 L00009000 Virtual base address of fatutil.dll 03f09000 - 03f10000 L00007000 NUL 03f10000 - 03f19000 L00009000 Virtual base address of fsreplxfilt.dll 03f19000 - 03f20000 L00007000 NUL 03f20000 - 03f25000 L00005000 Virtual base address of diskcache.dll 03f25000 - 03f30000 L0000b000 NUL 03f30000 - 03f45000 L00015000 Virtual base address of fsdmgr.dll 03f45000 - 03f50000 L0000b000 NUL 03f50000 - 03f5b000 L0000b000 Virtual base address of certmod.dll 03f5b000 - 03f60000 L00005000 NUL 03f60000 - 03ff5000 L00095000 Virtual base address of coredll.dll 03ff5000 - 80580000 L7c58b000 NUL ... CODE ATOM EXEC TRED RC3 ~~~~~~~~~~~~~~~~~~ 00000000 - 01f901fd L01f901fd NUL 01f901fd - 01f901fd L00000000 Start: first DLL address 01f901fd - 01fd1000 L00040e03 NUL 01fd1000 - 01fd2000 L00001000 initialized data of region_1 ceddk.dll 01fd2000 - 01fe1000 L0000f000 initialized data of region_1 TrueFFS.dll 01fe1000 - 01fe2000 L00001000 initialized data of region_2 cecompr.dll 01fe2000 - 01fef000 L0000d000 initialized data of region_1 stratad_intel_l.dll 01fef000 - 01ff0000 L00001000 initialized data of region_1 regenum.dll 01ff0000 - 01ff1000 L00001000 initialized data of region_1 pm.dll 01ff1000 - 01ff2000 L00001000 initialized data of region_1 mspart.dll 01ff2000 - 01ff3000 L00001000 initialized data of region_1 imgfs.dll 01ff3000 - 01ff4000 L00001000 initialized data of region_1 fsreplxfilt.dll 01ff4000 - 01ff5000 L00001000 initialized data of region_1 fsdmgr.dll 01ff5000 - 01ff6000 L00001000 initialized data of region_1 fatutil.dll 01ff6000 - 01ff7000 L00001000 initialized data of region_1 fatfsd.dll 01ff7000 - 01ff8000 L00001000 initialized data of region_1 encfilt.dll 01ff8000 - 01ff9000 L00001000 initialized data of region_1 diskcache.dll 01ff9000 - 01ffa000 L00001000 initialized data of region_1 devmgr.dll 01ffa000 - 01ffc000 L00002000 initialized data of region_1 crypt32.dll 01ffc000 - 01ffd000 L00001000 initialized data of region_1 coredll.dll 01ffd000 - 01ffe000 L00001000 initialized data of region_1 certmod.dll 01ffe000 - 01fff000 L00001000 initialized data of region_1 cachefilt.dll 01fff000 - 02000000 L00001000 initialized data of region_1 busenum.dll 02000000 - 02000000 L00000000 End: last DLL address 02000000 - 03def000 L01def000 NUL 03def000 - 03df5000 L00006000 Virtual base address of ceddk.dll 03df5000 - 03e41000 L0004c000 Virtual base address of TrueFFS.dll 03e41000 - 03e48000 L00007000 Virtual base address of cecompr.dll 03e48000 - 03e5e000 L00016000 Virtual base address of stratad_intel_l.dll 03e5e000 - 03e62000 L00004000 Virtual base address of regenum.dll 03e62000 - 03e71000 L0000f000 Virtual base address of pm.dll 03e71000 - 03e79000 L00008000 Virtual base address of mspart.dll 03e79000 - 03e83000 L0000a000 Virtual base address of imgfs.dll 03e83000 - 03e8d000 L0000a000 Virtual base address of fsreplxfilt.dll 03e8d000 - 03ea2000 L00015000 Virtual base address of fsdmgr.dll 03ea2000 - 03eab000 L00009000 Virtual base address of fatutil.dll 03eab000 - 03ebe000 L00013000 Virtual base address of fatfsd.dll 03ebe000 - 03eca000 L0000c000 Virtual base address of encfilt.dll 03eca000 - 03ed0000 L00006000 Virtual base address of diskcache.dll 03ed0000 - 03edc000 L0000c000 Virtual base address of devmgr.dll 03edc000 - 03f4e000 L00072000 Virtual base address of crypt32.dll 03f4e000 - 03fe4000 L00096000 Virtual base address of coredll.dll 03fe4000 - 03ff0000 L0000c000 Virtual base address of certmod.dll 03ff0000 - 03ffa000 L0000a000 Virtual base address of cachefilt.dll 03ffa000 - 04000000 L00006000 Virtual base address of busenum.dll 04000000 - 80180000 L7c180000 NUL ... 10. Далее берем из XIP WM5 библиотеки аппаратного ядра ceddk.dll, cecompr.dll, stratad_intel_l.dll и trueffs.dll и перемещаем их по vbase и realaddress XIP WM6 с помощью M'Reloc_nk. Они конфликтуют с pm.dll и regenum.dll от XIP WM6. Для этого запускаем M'Reloc_nk и последовательно открываем в нем папки этих библиотек из XIP WM5.Единственная хитрость, нужно добиться от M'Reloc_nk, чтобы после DoIT realaddress был правильный, для этого из нужного адреса вычитаем длину блока. В общем, для указанных выше таблиц просто привожу значения для M'Reloc_nk: ceddk.dll e32_vbase: 03DEF000 e32_realaddr: 01FD0000 (после DoIT будет 01FD0000+1000=01FD1000) trueffs.dll e32_vbase: 03DF5000 e32_realaddr: 1FC3000 (после DoIT будет 1FC3000+F000=01FD2000) cecompr.dll e32_vbase: 03E41000 e32_realaddr: 01FE0000 (после DoIT будет 01FE0000+1000=01FE1000) stratad_intel_l.dll e32_vbase: 03E48000 e32_realaddr: 1FD5000 (после DoIT будет 1FD5000+D000=01FE2000) 11. У этих четырех библиотек редактируем imageinfo.txt, заменяя значения e32_vbase и o32[x].o32_realaddr на правильные (e32_vbase берем указанные выше для M'Reloc_nk, o32[x].o32_realaddr берем оттуда же, но скалькулированный в скобочках или их map.txt WM6, x- номер региона в map.txt [там не ошибиться, будут старые значения из map.txt WM5 типа D=01FE3000]) 12. Увеличиваем в WM5 в ROMHDR.TXT physlast (ставим значение как в XIP WM6 = 9AFE2990). Впрочем, можно и точнее подогнать (я по аналогии с ATOM просто прибавил 100000...). 13. Ищем в map.txt WM5 строку старого смещения рома (можно по "rom_00") CODE 9ad20b2c - 9ad20b80 L00000054 rom_00 header: dlls=01f901fd-02000000 phys=9ac00000-9aea931c, 24 modules, 7 files, 4 copyentries ext=9ac0278c ram=80580000-84000000 cputype=000001c2 Запоминаем из нее старый адрес смещения. Пример из указанной строки: 9ad20b2c (скорее всего, будет другой, берете свой) 14. Запускаем XIPPort WM5, делаем Realoc_P и write_maps. 15. Смотрим на всякий случай новый map.txt на предмет отсутствия восклицательных знаков (конфликты). 16. Ищем в новом map.txt строку (можно по rom_00) CODE 9adb19d4 - 9adb1a28 L00000054 rom_00 header: dlls=01f901fd-02000000 phys=9ac00000-9afe2990, 24 modules, 8 files, 2 copyentries ext=9ac0271c ram=80180000-84000000 cputype=000001c2 Берем из нее новый адрес смещения. Пример из указанной строки: 9adb19d4 (скорее всего, будет другой, берете свой) 17. Ищем в S000 nk.exe старый адрес смещения рома (байты идут инвертно), меняем на новый. 18. Пробуем искать в S000 nk.exe: 05 00 52 E3 0E 00 00 8A Если нашли, далее по смещению +0x10 должно быть: 01 00 53 E3 Там и правим 01 на 02... Если не нашли, то плохо (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Будем думать... 19. Собираем новый XIP ("build xip_out.bin"). 20. Закидываем в папку WM5 diskimage_Ver.nb0 от целевой WM6. 21. Шьем XIP назад (в полях вводим значения: 00180000 и diskimage_Ver.nb0, жмем "write xip_out.bin to") Вроде ничего не забыл (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) P.S. По boot.rgu. Если берется WM5 русская, я бы попробовал поменять 419 на 409. К сожалению, на этой фазе у меня еще прошивка не заводилась, когда я пытался портировать с русской WM5, поэтому сказать, что будет без замены не могу. P.P.S. В WM5 RW6815 в Files был mxip_initdb.vol, причем относился как бы к OEM. В WM6 ATOM это же лежало в IMGFS. Я дополнительно менял этот файл в XIP с коррекцией размера в текстовом файле описания. Но реально пробовал, это не оказывает какого-то влияния (по крайней мере, не заметил). P.P.P.S. Извиняюсь за столь подробное изложение, наверняка ряд вещей очевиден. Но со временем все забывается, чтобы самому потом мучительно не вспоминать. Да и писал сразу и для новичков с других устройств, чтобы не осталось неясностей и можно было при необходимости действовать по аналогии (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Потом, если будут силы, попробую дописать уточненную общую инструкцию, которая приведена соседней ветке форума на английском, т.к. вещи по релоку модулей и правке nk.exe при портировании с WM6 на WM5 там как то не затронуты (да и вообще в явном и собранном виде этого нигде не нашел). |
![]() |
|
![]()
Сообщение
#33
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: 129 раз(а) Девайс:HP iPAQ rw6815 ![]() |
Огромное спасибо AGC за его труд, но я все-таки думаю, что портирование устройство-зависимых файлов правильнее, чем наоборот. Так что выкладываю свой вариант мануала по портированию. Подчеркиваю, что нашел всю информацию и собрал все в кучу AGC, за что ему хвала и благодарность! (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif)
Итак: 1. Распаковываем родной XIP WM5 с картами (далее XIP_OLD) 2. Распаковываем XIP WM6 с картами (далее XIP_NEW), копируем его отдельно и создаем пакеты - make pkgs (далее XIP_NEW_COPY) 3. Смотрим состав папки XIP_NEW_COPY\Out\Files\OemXipKernel и копируем с заменой такие же файлы из XIP_OLD\Out\Files в XIP_NEW\Out\Files Если язык родной WM5 прошивки и прошивки WM6 не совпадают, то делаем слудующее: среди них будет boot.rgu - в нем находим ключи, отвечающие за MUI и изменяем их в соответствии с языком прошивки WM6: Код [HKEY_LOCAL_MACHINE\MUI] "Enable"=dword:1 [HKEY_LOCAL_MACHINE\MUI] "SysLang"=dword:409 [HKEY_CURRENT_USER\MUI] "CurLang"=dword:409 в файле boot.hv WinHex'ом находим unicode строку MUI и изменяем соответствующие параметры тоже (см. рис.1) 4. Смотрим состав папки XIP_NEW_COPY\Out\Modules\OemXipKernel и копируем с заменой такие же файлы из XIP_OLD\Out\Modules в XIP_NEW\Out\Modules скорее всего, состав файлов будет следующим: Код cecompr.dll\ ceddk.dll\ giisr.dll\ nk.exe\ stratad_intel_l.dll\ trueffs.dll\ cecompr.dll.txt ceddk.dll.txt giisr.dll.txt nk.exe.txt stratad_intel_l.dll.txt trueffs.dll.txt 5. Теперь нам понадобится утилита M'Reloc_nk. Для начала рассмотрим модули cecompr.dll, ceddk.dll, stratad_intel_l.dll, trueffs.dll, с ними попроще, рассмотрим на примере trueffs.dll: 5.1. Натравливаем M'Reloc_nk на модуль XIP_NEW\Out\Modules\TrueFFS.dll 6. Теперь рассмотрим модули giisr.dll и nk.exe - адресация там не прямая, а косвенная, возьмем к примеру giisr.dll: 6.1. Натравливаем M'Reloc_nk на модуль XIP_NEW\Out\Modules\giisr.dll 7. Теперь мы подошли к следующему этапу - правке nk.exe: 7.1. Открываем файл XIP_NEW\Out\Modules\nk.exe\S000 в WinHex, ищем байты 050052E3 (рис.10). Прямо под найденными байтами видим ключевой байт (выделен красным) - его-то и меняем на 02. Сохраняем. 8. Все! Теперь делаем build xip_out.bin - хип готов, осталось вставить его на место в прошивку! P.S. Мануал писался при портировании хипа для ровера, прикладываю его - надо проверить.
Прикрепленные файлы
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
|
![]()
Сообщение
#34
|
|
![]() Основатель PDA2U.RU ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 178 Регистрация: 20.10.2007 Из: Калининград Пользователь №: 7 Спасибо сказали: 82 раз(а) Девайс:Rover G5 ![]() |
P.S. Мануал писался при портировании хипа для ровера, прикладываю его - надо проверить. Приложенный ХИП не запускается. Висит на ХР. Но экран после передёргивания аккума уже не рябит. Тоже уже достижение. (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Инфа выдаваемая отладчиком в СОМ порт: Код OEMIPLInit: Shutdown Device, step1 !!!
OEMIPLInit: Shutdown Device, step2 !!! OEMIPLInit: Shutdown Device, step3 !!! OEMIPLInit: Shutdown Device, step4 !!! after InitDisplay clear bUpdateMode flag!!! INFO: Jumping to image... Windows CE Kernel for ARM (Thumb Enabled) Built on Apr 13 2006 at 16:34:56 ProcessorType=0411 Revision=7 sp_abt=ffff1000 sp_irq=ffff0800 sp_undef=ffffc800 OEMAddressTable = 9ac05a34 dwCleanBootSign =0x00000000 PSPR =8008 RCNR=1e4b2e 1e4b24 User required clean boot!! ===>v_pMEMC->msc1:23f9 +OEMInit OSVer:1.10.00 RUS +Reset the BSPArg(a00ff000) -OEMInit +===>v_pMEMC->msc0:12801282 +===>v_pMEMC->msc1:23f9 +===>v_pMEMC->msc2:7ffcfff4 change IPM to 416Mhz change IPM to 416Mhz 1===>v_pMEMC->msc0:15d015d2 1===>v_pMEMC->msc1:23f9 1===>v_pMEMC->msc2:7ffcfff4 Sp=ffffc7cc Data Abort: Thread=83fcf024 Proc=80616fd0 'filesys.exe' AKY=ffffffff PC=9ac3843c(NK.EXE+0x0003843c) RA=4558c000(???+0x4558c000) BVA=0464010b FSR=00000003 Data Abort: Thread=83fcf024 Proc=80616fd0 'filesys.exe' AKY=ffffffff PC=03f689d4(???+0x03f689d4) RA=03f6a5c4(???+0x03f6a5c4) BVA=9ac01cb8 FSR=0000000d Data Abort: Thread=83fcf024 Proc=80616fd0 'filesys.exe' AKY=ffffffff PC=03f69700(???+0x03f69700) RA=0001ba04(filesys.exe+0x0000ba04) BVA=9ac01d68 FSR=0000000d |
![]() |
|
![]()
Сообщение
#35
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Приложенный ХИП не запускается. Висит на ХР. Но экран после передёргивания аккума уже не рябит. Тоже уже достижение. (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Сейчас попробую поиграться с ядром Ровера и его прошивкой. Если получится загрузиться на 6815, выложу. Просто ты не написал, в какую прошивку пытался вставить этот XIP... |
![]() |
|
![]()
Сообщение
#36
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
Зашился с ядром Ровера на базе ОС 5.2.1948. Все Ок. Прикладываю свой вариант xip_out.bin. Он собран из ATOM EXEC TRED RC3 на базе 5.2.1948. Теоретически, его туда же и нужно закидывать, т.к. версия ОС (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Попробуй его...
Сейчас закину в сеть и всю прошивку целиком, после этого отредактирую сообщение. --- Дописано позднее --- Вся прошивка целиком для Ровер G5: RoverG5_NEWKERNEL_TRED_ATOM_EXEC_RC3_OS_5_2_1948.zip P.S. Прошивку собирал на коленке за 10 минут, поэтому имеет смысл проверить. Я засунул ddi.dll, wavedev.dll и pxa...keyboard.dll от Ровера, но у меня роверовская прошивка как то криво разобралась. Нужно проверять на ровере. P.P.S. А вообще прикольно. У меня на 6815 с этим ядром Ровера наконец-то нормально заработала родная камера ATOM (IMG:http://forum.pda2u.ru/style_emoticons/default/biggrin.gif) И экран был Ок, пока аккумулятор не передернул. А после передергивания экран ушел в аут, рябит. LCCR бы найти, где в ядре устанавливаются. Тогда можно было бы попробовать ручками отредактировать под 6815... Сейчас еще попробую на это ядро наложить аппаратные драйвера от 6815, будет тоже вариант. P.P.P.S. Заоодно и проверил в boot.rgu MUI. В общем, это не важно, главное, что в оси установлено. Оставил 419 в boot-е.
Прикрепленные файлы
|
![]() |
|
![]()
Сообщение
#37
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: 129 раз(а) Девайс:HP iPAQ rw6815 ![]() |
AGC, а хард ресет на роверовской прошивке попробовал?
|
![]() |
|
![]()
Сообщение
#38
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
|
![]() |
|
![]()
Сообщение
#39
|
|
PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 4884 Регистрация: 25.11.2007 Из: СПб Пользователь №: 32 Спасибо сказали: 1657 раз(а) Девайс:RW6815/P320/Diamond ![]() |
2 Arhon: Кстати, с Роверовским ядром уже реально попробовать сравнить ядро 6815. По размеру они практически идентичны, ощущение, что вышли просто из одной лаборатории, в исходниках просто поменяли аппартную часть и картинки. Можно попробовать дизассемблировать и то и другое, а потом каким-нибудь WinMerge поискать критические изменения...
|
![]() |
|
![]()
Сообщение
#40
|
|
![]() PDA2U.RU Team ![]() ![]() ![]() ![]() Группа: Друзья PDA-Hack Сообщений: 396 Регистрация: 24.11.2007 Из: Р.Татарстан, г.Набережные Челны Пользователь №: 28 Спасибо сказали: 129 раз(а) Девайс:HP iPAQ rw6815 ![]() |
AGC, я так подозреваю, что все дело в nk.exe, а вот тут-то разница 6815 и ровера значительна, у ровера к тому же есть дополнительная картинка с трубками. Я почти уверен, что при нажатии ресета, именно nk.exe обрабатывает нажатые клавиши и уже сам отправляет либо в хард ресет (той же функцией KernelIOControl, к примеру), или просто в ресет, или в бутлоадер, где уже производится проверка нажатия софт-клавиш (именно поэтому приходится долго их держать). А вот почему он на них не реагирует - загадка та еще (IMG:http://forum.pda2u.ru/style_emoticons/default/sad.gif) Кстати, ты на роверовской проше нажимал именно трубки для хард ресета? Т.е. клавиши в ядре нормально замапены? Не поменялись с софткеями?
|
![]() |
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 7.4.2025, 14:27 |