|
|
  |
JTAG Wiggler |
|
|
|
Jul 22 2013, 12:53
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 10-12-08
Из: Ульяновск
Пользователь №: 42 362

|
Цитата(energizer @ Jul 22 2013, 16:35)  да эти коробки точно помогут :-)
но раньше такое говорили и о других камнях - те что помладше от квалкома, однако нашлись люди которые в этом смогли разобраться и бесплатно опубликовали тулзы и туториалы.. по этому если у человека есть интерес с этим разобраться нужно оказывать посильную помощь а вариант платного восстановления он и сам наверняка занет.. сам телефон скорее всего уже стоит меньше денег чем услуги тех кто их восстанавливает. да и покупка проф бокса для телефонов дело затратное и не нужное никому кроме профф ремонтников. На S5230 есть решение, но там проц броадкомм В мастерской 1000-1500р максимум стоит ремонт этого телефона.
|
|
|
|
|
Jul 22 2013, 13:04
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(drova326 @ Jul 22 2013, 15:39)  Может конечно виглер работает и не правильно, но смотрите: в интернетах есть статьи, подобные этой. Тут описан процесс как восстанавливали телефон. Эта статья - хорошее подспорье, описывающее процесс в целом и подготовительные операции. Но надо понимать, что там работают с устройствами на вполне конкретных CPU, и эти CPU (TI's OMAP730 - OMAP850), да и устройство на их основе - вовсе не ваши устройство и процессор. У вашего есть наверняка есть отличия (в карте памяти, например, - почти наверняка). Ведь производитель-то вашего чипа совсем другой (как тут утверждали, но что пока не проверено) - Qualcomm. Тут свой набор периферии, свои устоявшиеся расклады того, как все организовано. Только ядро по близкой архитектуре сделано - вот и все, на что пока можно опереться, что более-менее известно. Остальные данные еще надо определять - устанавливать. Цитата(drova326 @ Jul 22 2013, 15:39)  Пользуясь инструкциями в данной статье я пробовал через Noice в адрес 0х1000000 запихать arm11boot как бинарник... после несколько минут ожидания заливки в нойс с указанной области можно было наблюдать этот файл... отркрывал в хекс, все сходится... но Go From не привел к включению устройства (а я то наивный думал все будет просто). Тут я бы отметил 3 вещи. 1) Уже хорошо, что по адресу 0x10000000 у вас есть память, готовая к работе, которую не нужно преварительно настраивать. Возможно, сей факт общеизвестен среди знатных армоводов, но я-то к их числу пока не отношусь, поэтому это новая и полезная информация для меня. Еще бы знать, а можно ли на вашем процессоре и исполнять код из этих адресов - было бы вообще хорошо. 2) Вы туда заливаете бинарник для ARM11 (судя по названию), а полной уверенности, что у вас ARM11 процессор, а не ARM9,- нет. Вот вам и возможность уйти на exception, встретив первую же инструкцию из набора команд ARM11 (если у вас 9-й). 3) Немного позтива  Если действительно удается залить бинарник в память, а потом правильно прочитать его оттуда (хотя бы пока и через окно просмотрщика памяти), то кабель действительно работает хорошо. И можно сосредоточиться теперь не на аппаратных, а на программных моментах. Все только начинается! Но впереди много интересного ;0) Только один дполнительный вопрос, чтобы уж закрыть тему с работоспособностью кабеля. Вычитать содержимое только что залитого бинарника в файл на диск, и потом сравнить с исходным не пробовали? Чтобы не глазами сравнивать, и совсем быть спокойным. Цитата(drova326 @ Jul 22 2013, 15:39)  Скажите, это совпадение, или все же виглер все таки заливает что ему подсунешь? Виглер тут ни причем. Он свою роль JTAG-кабеля выполняет, и все. Как через JTAG общаться, в частности, с памятью ARM'а, в нашем случае знает H-JTAG, выполняющий роль RDI-сервера для тех отладчиков, которые умеют работать с тагетом по протоколу RDI. И эта связка исправно, как мы вроде бы видим, выполняет RDI-команды записи и чтения в память по адресу 0x10000000. И было бы печально, если бы она этого не могла делать  Совсем другое дело - то ли это, что на данном устройстве будет надлежащим образом работать, подходящая ли программа? Цитата(drova326 @ Jul 22 2013, 15:39)  сталось выяснить что? Вот к этому вопросу мы плавно и подошли. Именно так - выяснить, что на ВАШЕМ телефоне будет решать поставленную задачу. И тут самый первый вопрос - а с чем мы, собственно, имеем дело? Модель телефона, процессора, карта памяти, данные по FLASH-памяти и т.д., - в общем , вся прочая информация, утилиты и т.п., какую только удастся раздобыть. Пока мы только достоверно имеем JTAG'овский ID вашего процессора. По нему можно попробовать определить произодителя/модель чипа. Еще раз напомните ID, пожалуйста. Цитата(drova326 @ Jul 22 2013, 15:39)  если что могу достать еще один идентичный телефон, чтобы залить в него копию. Что скажете? Это может быть очень хорошим подспорьем. Только это не панацея, потому что надо будет узнать не только ЧТО и КУДА зашить, но еще и СПОСОБ (ох уж эти мне NAND Flash). Но держите его пока наготове рядом, и уж точно не экспериментируйте с прошиванием чего-то на нем. Второго шанса может и не выпасть  .
|
|
|
|
|
Jul 22 2013, 13:45
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 3-07-13
Пользователь №: 77 374

|
Цитата(energizer @ Jul 22 2013, 23:16)  http://lmgtfy.com/?q=0x303c10e1+msm7227простите но уже давно было пора это сделать :-) Если Вы мне, то я уже искал подобными запросами, однако либо упустил что то, либо не понял. Кстати подскажите, в идеале каково поведение телефона должно быть? заливаю ща бинарник дампа от tillman'а, после чего что, нажимаю Go From и если все как и задумывалось экран загорится в и телефон перейдет режим загрузки? Всмысле как я понимаю то что я ща заливаю дамп, так это заливается в РАМ, не смотря на то, что телефон не реагирует на кнопки и в теории после команды GOFROM инициализируются соответсвующие команды которые включат все остальное?
|
|
|
|
|
Jul 22 2013, 14:03
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 10-12-08
Из: Ульяновск
Пользователь №: 42 362

|
Цитата(drova326 @ Jul 22 2013, 17:45)  Если Вы мне, то я уже искал подобными запросами, однако либо упустил что то, либо не понял.
Кстати подскажите, в идеале каково поведение телефона должно быть? заливаю ща бинарник дампа от tillman'а, после чего что, нажимаю Go From и если все как и задумывалось экран загорится в и телефон перейдет режим загрузки? Всмысле как я понимаю то что я ща заливаю дамп, так это заливается в РАМ, не смотря на то, что телефон не реагирует на кнопки и в теории после команды GOFROM инициализируются соответсвующие команды которые включат все остальное? Телефон не загорится, тк адрес я дал с уже про инициализованного телефона. Вам надо найти адрес скоторого все начинается, выставить его в GOFROM и нажать кнопки : громкость вниз+хоме и только после этого нажать ОК в GOFROM. Только тогда у вас будет шанс что тело начнет шиться с компа, но опыт говорит что не выйдет.
|
|
|
|
|
Jul 22 2013, 14:15
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 11-07-13
Пользователь №: 77 483

|
Я бы не парился заливкой бинарников длинной немериной- толку от этого не будет... по крайней мере я в это не верю .. не крупный спец в области программирования но попробую обьяснить как себе представляю работу данного чипа с нандом не вдаваясь в тонкости- коих там не просто много нанл микросхема висит на интерфейсе не имея собственного адресного пространства в прямом смысле - общение с нандом происходит через окно в памяти \буффер\ и регистры управления и конфигурирования- подавая в такие регистры команды и конфигурации а также разумеется адреса страниц после команды выполнения мы видим содержимое фрейма (в буфере) но ввиду того что одна страниуа много больше как правило самого буфера мы видим данные покадрово и можем их от туда считывать (в режиме записи происходит с точностью до наооборот -записываем фрейм и прочие даные -конфиги адреса итп-а потом команду запись) вот в этом и состоит работа с нандом в кратце.. никакой отладчик не в состоянии работать с нандом в автоматическом режиме - это данность .. как работает программа в контроллере- опять опуская подробности коих еще больше загрузчик извлекает (ве темиже кадрами) данные из нанда и записывает их непрерывным -но досточнокоротким массивом в RAM и передает туда управление -когда нужны следующие данные он их опять подкачивает из нанда.. .. как можно восстановить тело.. вариант раз .. иногда умным и умеющим людям удается выпилить из дампа нужный загрузчик который будет запущен в ram и он сам инициализирует интерфейс внешнего мира типа usb // -то что и описано во многих примерах.. нужно только знать что именно выпилить где разместить и адрес с которого запустить - вот этого делать я лично не умею .. и помочь тут не могу- слабоват я в коленках как программер .. вариант второй .. написать программу которая будет все что нужно делать- конфигурить контроллер, управлять им и записывать в нанд то что нужно... это Оочень не просто и комерсантам это удается- потому что стараются и любят деньги очень.. подобное мне тоже удавалось но на других более ранних контроллерах - сидел долго и много пробовал на теле=- как это исполнить оффлайн не представляю вообще. по этому вопрос к Вам ..мм. "а Вы программировать на Си умеете??"
Сообщение отредактировал energizer - Jul 22 2013, 14:17
|
|
|
|
|
Jul 22 2013, 14:23
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 3-07-13
Пользователь №: 77 374

|
Цитата(tillman @ Jul 23 2013, 00:03)  Телефон не загорится, тк адрес я дал с уже про инициализованного телефона. Вам надо найти адрес скоторого все начинается, выставить его в GOFROM и нажать кнопки : громкость вниз+хоме и только после этого нажать ОК в GOFROM. Только тогда у вас будет шанс что тело начнет шиться с компа, но опыт говорит что не выйдет. а каковы методы поиска этого начала? сейчас попробую с того адреса что вы дали, если не получится - попробую с адреса 00000000... ведь arm11boot-часть начинается в дампе как раз с нулевого адреса, если верить хекс-редактору. А кстати, раз уж экран и не должен загореться, то по каким приметам мне определить получается что то или нет? я имею ввиду загрузил дамп в рам, зажал VolDown+Home, нажал GoFrom и какие признаки? Он же хотя бы после этого как устройство должен опознаться, раз уж экран не зажигается, чтобы ODIN(Прошивальщик) его подцепил? Цитата(energizer @ Jul 23 2013, 00:15)  а Вы программировать на Си умеете??" Си... что то знакомое... немного умею... умел вернее, пока в университете учился, но боюсь армия выбила остатки былого)))) Сейчас на работе только PL/SQL юзаю. Основы знаю, да и по образованию технарь с IT уклоном, так что если что либо приспичит в этой области методологию постижения новой информации примерно представляю себе. Другой вопрос хватит ли сил и терпения, ведь программистом себя никогда не считал, а все что писал - писал из под палки, так сказать) little-endian или big-endian выставлять в настройках нун? И чего та раз-через-раз получается удачно закать arm11boot в РАМ, чтобы после этого в РАМ с указанного адреса начинался файл... ((
Сообщение отредактировал drova326 - Jul 22 2013, 15:30
|
|
|
|
|
Jul 22 2013, 15:56
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 11-07-13
Пользователь №: 77 483

|
тот адрес что я указывал - вот туда ничего пока лить не надо!! - с того адреса расположены регистры управления контроллера нанд (я так думаю и почти в этом уверен) и между прочим просил Вас сделать их копию в 32 битном еще до экспериментов!! но увы видимо Вы не услышали меня.. сам же буфер (окно скорее всего длиной 200h следует +100h от базы// за буфером есть зона для кодов рида соломона (ECC длиной наверное типа 10h) little-endian я раньше у же говорил об этом. .. как выглядит начало одного из загрузчиков который поднимает внешний интерфейс не представляю - нужен человек который хорошо владеет вопросом разбора асм кода для arm - это явно не я ;-) ну и коли вы понимаете в программах то вот примерное описание регистров действий и их пследовательностей https://www.codeaurora.org/cgit/quic/le/ker...2bbac74bf734ea5из этого дока многое становится понятным - по крайней мере в отношении обычных нанд мелкосхем - с Onenand я пока не встречался и понять что и как пока не могу. а скорее всего именно она стоит у Вас в теле - загляните по смещению от базы +40h - там наверное будет виден id микросхемы который и прояснит ситуацию.. в файле заголовка так прям и написано .. #define NAND_READ_ID NAND_REG(0x0040) а в файле сорца есть строка #define MSM_NAND_BASE 0xA0A00000
Сообщение отредактировал energizer - Jul 22 2013, 16:05
|
|
|
|
|
Jul 22 2013, 23:29
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 3-07-13
Пользователь №: 77 374

|
Цитата(energizer @ Jul 23 2013, 01:56)  тот адрес что я указывал - вот туда ничего пока лить не надо!! Т.е. если хотяб один раз туда попытаться записать что то не то - то после отключения питания от телефона изменения там тем не менее останутся? Цитата(energizer @ Jul 23 2013, 01:56)  и между прочим просил Вас сделать их копию в 32 битном еще до экспериментов!! но увы видимо Вы не услышали меня.. Зря Вы так... я помнил о Вашей просьбе, пообещал выполнить и выполнил в силу того, как понял. Я думал те скрины что я скинул это и есть то, что Вам нужно... Кто ж знал что я заблуждаюсь. Хех ((( Но в данную область я проде еще ничего не пытался залить... из этой ситуации может поможет выпутаться дамп ОЗУ, который предоставил tillman? Или, если дамп эту зону не покрывает (а он не покрывает ведь?), попросим слить кусочек из той области тилмана?
Сообщение отредактировал drova326 - Jul 23 2013, 00:41
|
|
|
|
|
Jul 23 2013, 05:19
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 10-12-08
Из: Ульяновск
Пользователь №: 42 362

|
С 11 стр в документе описание memory map проца. Да с адреса 0xA0A00000 по 0xA0С00000 находятся регистры управления встроенным в проц NAND контроллером. Сливать с этих адресов бессмысленно. Нужно научиться управлять NAND контроллером через эти регистры что бы читать\писать в NAND память.
Сообщение отредактировал tillman - Jul 23 2013, 05:23
|
|
|
|
|
Jul 23 2013, 05:27
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(tillman @ Jul 23 2013, 09:19)  С 11 стр в документе описание memory map проца. Какого документа? Если вы о ссылке, данной energizer'ом на codeaurora, то это результат diff'а 2-х ревизий репозитория, но не документ. Ресурс ценный, но давайте не подменять понятия. Теперь вижу. Гонки, однако...  А документ - это просто гипер-подарок. Спасибо большое. Теперь самим все можно написать! Шутка  (с долей шутки). А если серьезно, то {документ + codeaurora} дают возможность равзвернуть самостоятельную программную работу, не блуждая в потемках. И добиться результатов в обозримые сроки.
|
|
|
|
|
Jul 23 2013, 06:02
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 10-12-08
Из: Ульяновск
Пользователь №: 42 362

|
Еще один документик, тоже может пригодится.
|
|
|
|
|
Jul 23 2013, 06:32
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 11-07-13
Пользователь №: 77 483

|
Цитата(Raven) на codeaurora, то это результат diff'а 2-х ревизий репозитория, но не документ. Ресурс ценный, но давайте не подменять понятия.
Теперь самим все можно написать! Шутка sm.gif (с долей шутки). А если серьезно, то {документ + codeaurora} дают возможность равзвернуть самостоятельную программную работу, не блуждая в потемках. И добиться результатов в обозримые сроки. то док что на msm7200 для меня например гораздо менее информационно ценен -причем как не странно, чем тот кусок кода из кернела- в ссылке которую, я показал есть прямые указания что и как делать причем даже в избыточной последовательности -относительно контроля состояния..- есть практически все и именно для интересующего камня. кстати у меня есть подборка софтваря интерфейсов которые раскопались в сети -но к сожалению 7200 самый старший док который есть бесплатно- он единственный отражает более мение структуру новых камней квалкома. ничего более подробного нигде бесплатно нет. и вовсе не шутка что это возможно - но как это можно сделать без девайса в руках я почти не представляю.. да еще через испорченный телефон .. Цитата(tillman) Сливать с этих адресов бессмысленно. а вот тут вы не правы- смысл был... и может быть пока еще остается- в этой области есть бесценная информация - без которой почти не возможны правильные действия по написанию флешера. - док который Вы положили не соответствует данному камню ! соответствие только в принципах -но мало вероятно что в битах конфигурации если эту область еще не успели изуродовать то её НУЖНО слить после отключения питания и полного сброса !! - надежда что в ней остались ценные подсказки пока есть. вот то что девелоперы раскопали примерно по теме.. http://forum.xda-developers.com/showpost.php?p=24100141к сожалению больше в этой сборке ничего интересного для житага этих камней нету- я усердно изучал вопрос ;-) для продолжения проекта наверное имеет большой смысл открыть новую тему - с нормальным названием и описанием - тогда возможно подтянутся через некоторое время в неё заинтересованные люди. IMHO
Сообщение отредактировал energizer - Jul 23 2013, 06:48
|
|
|
|
|
Jul 23 2013, 07:04
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 10-12-08
Из: Ульяновск
Пользователь №: 42 362

|
Вы пробовали что нить скачать из темы на XDA ? Давайте еще упростим задачу. На http://opensource.samsung.com/ есть исходники GT-S5830_S5570_EUR_OpenSource.zip
Сообщение отредактировал tillman - Jul 23 2013, 07:06
|
|
|
|
|
Jul 23 2013, 07:22
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 11-07-13
Пользователь №: 77 483

|
Цитата Вы пробовали что нить скачать из темы на XDA ? раньше скачивал..и кое что из того что там сохранил .. а сейчас смотрю дропбокс порезал все .. странно.. может глюк временный.. я могу еще предложить вот такую сборку.. она вроде пока качается http://www.hardware-linux.org/files/Quallcomm.tar.bz2она большая но так же бестолковая для данного сабжа.. просто ради информации и сохранения оной тот исходник что вы показали слишком здоровый для меня -но уверен что там есть то что нужно :-))
Сообщение отредактировал energizer - Jul 23 2013, 07:26
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|