Jump to content

nezhdan

Пользователи
  • Posts

    32
  • Joined

  • Last visited

About nezhdan

  • Rank
    Абитуриент
    Абитуриент

Контакты

  • Сайт
    Array
  • ICQ
    Array

Город

  • Город
    Array
  1. Да, как я уже говорил, разъёма там не видать. Поэтому надо подключаться к контактам процессора - ну или посмотреть, куда там дорожки ведут, где поудобнее будет. Контакты смотреть вот тут: http://www.linux-mips.org/wiki/Realtek_SOC#RTL8186_JTAG А поскольку с ixbt какие-то проблемы, то посмотреть на аналогичное фото платы роутера можно тут: http://sourceforge.net/project/screenshots...group_id=171153 и тут: http://www.dslreports.com/forum/remark,137...ays=30~start=80 Они одинаковые.
  2. Ну... Тогда, честно говоря, не знаю, что предложить, кроме того паятельного варианта. Хочешь рискнуть - пиши...
  3. Вряд ли. Просто исходя из того, что это никому не нужно;-). И это вообще немного странно. А попробуй детектировать флеш по разным адресам - например, 0x5fc00000 или даже 0x1fc00000 - по идее, 4 МБ должны быть с 0x5fc00000, хотя кто их там знает. Если получится - в команде eraseflash соответственно скорректируй адрес.
  4. Поздравляю;-) Плохо:-(. Ну, выпаивать флеш и совать в программатор - это самый крайний случай, видимо. Можно посмотреть исходники, как jtag там определяет флеш - есть ли какой конфигурационный файл, или это в программу зашито... Почитать описание флешки - какие команды она понимает, наверняка она совместима с одним из стандартов - тогда надо подпатчить jtag, просто чтобы он её принял за известную ему с тем же набором команд. Думаю, это вполне реально. Но, конечно, помучиться придётся. Описание тут: http://www.datasheetarchive.com/search.php...amp;q=MX29LV320 Поддерживается стандартный CFI (как и следовало ожидать;-), поэтому думаю, что объяснить jtag'у, что это, к примеру, 2М флешка типа MX29LV160B - вполне реально. А этого хватит, чтобы стереть кусок, который мешает. А к программистам просьба/совет - во-первых, было бы неплохо сделать загрузчик, который опрашивает кнопку ресета или ESC с консоли ДО того, как начнёт считать контрольную сумму CSYS'а (похоже, он не выполняет команды оттуда, а просто затыкается по ошибке шины, если в заголовке CSYS на месте длины стоит что-то огромное - я только что так нарвался на прошивке от Conceptronix/Edimax/Planet, где в этом месте стоит WBWB:-), а во-вторых, посмотрите исходники - нельзя ли как-нибудь остановить имеющийся загрузчик - а то вон как человек мучится... Ну и если ты лучше обращаешься с паяльником, чем с программами (примерно как я;-) - есть ещё один вариант. Но он опасный для жизни точки. Если хочешь - напиши мне в личку или на anezhdan на tamb точка ru - опишу его кратенько;-). Программный вариант с патчем jtag'а не в пример безопаснее;-).
  5. Ну, я не использовал --with-include= - я инклудам делал ./configure, make, make install. А потом собирал jtag без дополнительных параметров. Но вроде и так должно быть нормально. А вывод - ту тему, на которую я ссылку давал, ты не читал, что ли? Там всё есть. Включение JTAG - вывод 147, он же ANTSEL (антенный переключатель) - через 1 кОм на +3.3В.
  6. Скачал. Я не пробовал - наверное, это придётся делать тебе;-), но начало модуля системы (CSYS) выглядит "не так". Вот начало, которое находится во всех прошивках, заливавшихся мной в WR514R: 43535953 80800000 00030000 001A1002 00008021 40906000 00000000 00000000 3C04BD01 34841008 24050884 240508C7 Первая строка: аббревиатура CSYS, стартовый адрес, адрес загрузки, длина, включая контрольную сумму и не включая эту первую строку. Вторая строка - начало собственно системы. А вот начало того же в версиях 1.38 и 1.39.06: 43535953 80800000 00030000 0012A002 0C20003E 00000000 00000000 00008021 40906000 00000000 00000000 3C04BD01 Обрати внимание на вторую строку - есть какие-то "лишние" 3 слова перед тем, что в 1.37 было началом системы. То ли загрузчик там другой, то ли при веб-апдейте заголовок удаляется, то ли так и должно быть;-). А вот скачанный файл 1.37 по твоей ссылке - по формату совпадает с 1.37 с сайта Senao. Как бы не в этом дело было;-). Я бы после JTAG'а залил версию 1.37, а потом уж экспериментировал с более новыми. Кстаи, не поленись слить фуллфлеш с рабочей точки - где 1.38 - раз уж ты подключил к ней консоль. Пригодится;-). > Как подпаяться, не представляю :) Нежно! (С) Жеглов;-).
  7. 1. DS04 и подобное - это настройки. Их заливать не надо, просто после запуска точки через веб-интерфейс загрузи полный файл прошивки - они и запишутся куда надо. Как бы апгрейд сделай;-). Но я не нашёл на сайте прошивку с ними - в архиве по адресу, который я указал, лежит файл настроек отдельно от системы. Где ты такое взял? Или мы о разных точках говорим? Посмотри ту ссылку, что я дал. Кстати, по моей ссылке лежит версия 1.37, а ты пишешь про 1.38 - может, и правда, мы про разные точки? 2. К сожалению, из-за странного поведения загрузчика он может выдавать именно то, что ты написал, про Undefined Exception. Я не понимаю, как такое можно допускать - но ПЕРЕД входом в tftp он умудряется выполнить какие-то команды или что-то ещё из найденной системы (аббревиатура CSYS - в твоём случае она найдена по адресу 30000). Даже если ты держишь Reset или жмёшь ESC. И если контрольная сумма системы совпадает, а команды непонятны процессору - а это бывает, если грузишь чужую систему - он вылетает и ничего не даёт сделать. Я не знаю, как это вылечить без JTAG'а. Через JTAG же необязательно заливать загрузчик (boot) - он цел! - а надо стереть один блок с неправильной системой - в твоём случае 0x3fc30000 - командой eraseflash 0x3fc30000 1 - тогда загрузчик перестанет находить там систему и сможет войти в tftp. По поводу JTAG'а см. тему http://www2.nag.ru/forum/index.php?showtopic=33338&st=0
  8. Возьми HEX-редактор и разбей ту прошивку, что лежит на сайте Senao, на 2 куска, первый должен начинаться на WEBP, второй - на CSYS. Просто найди в файле аббревиатуру CSYS - всё, что до неё - первый кусок, она и далее - второй. Эти два куска и залей через tftp - сначала WEBP, потом CSYS. Должно ожить. Потом сбрось точку - кнопка Reset во включенном состоянии секунд 10 - и через веб-интерфейс залей конфиг - тоже с сайта. По идее получишь точку "как из магазина". Разъём консоли, видимо, стандартный - сходу не помню, но найти в сети легко. 1- +3.3В, который там не нужен;-), 2 - земля, 3,4 - RTS, CTS - их вообще не используй, 5,6 - приём и передача, не помню, в каком порядке. Кажется, в этом топике это уже было. Или как минимум в разделе, где находится этот топик. Прошивка от этой точки 1.37 заливается и работает - по крайней мере в роутер WR514R, в котором 2М флеша и 16 ОЗУ, но вот наоборот может и не сработать - так как драйверы для Atheros могут быть и не включены. http://www.senao.com/English/Default.aspx?...1=B22&CNT=1
  9. Как-то configure некорректно отработал, похоже. cygwin полностью ставил или частично? Попробуй ещё раз распаковать, только не в /tmp, а прямо в папку, в которой cygwin - эта папка для него / - и ещё раз сделай в ней ./configure. И чем распаковывал? bunzip2, потом tar -xf, или каким-нибудь винраром? Просто виндовые распаковщики не всегда корректно распаковывают такие архивы - юниксные права доступа теряются.
  10. Знаешь... очень странная у тебя точка. А я тут приболел, и мне в отягчённую температурой голову пришла мысль;-). А может, всё у тебя правильно читается, а? А у точки типа защита такая - сменили стартовый адрес, перепаяв какие-нибудь ноги, заменили бут, так что из него tftp пропал или IP сменился... А ты мучишься. Родная прошивка от этой точки, которую я лил в мой WR514R, около 1.7 мега - есть возможность смещать;-). А поскольку через jtag копаться во всех двух мегах долговато, то и правда - подключи RS232, может, его всё же оставили - если да, то можно попробовать слить прошивку (если там просто IP сменён - через RS232 его можно поставить какой надо) и покопаться в ней - или прямо там, в точке, её посмотреть дампом. Ну а если они и RS232 забили - то попробовать прочитать хотя бы мегабайт JTAG'ом - полдня уйдёт;-) - и посмотреть, весь он такой или нет. Можно кусками - скажем, по 100-200 байт через 10000 адресов. "Хоть безумная идея, не рубайте сгоряча";-). Но если они и правда хотели защитить точку от считывания - они вполне могли что-нибудь придумать. Например, подключить CS флешки к TCK или TDI:-). А резистор от ANTSEL может идти к антенному переключателю - маленькая такая чиповина с 6 ногами, от которой через конденсатор идёт конец на антенну. А что через tftp не получилось - это даже хорошо;-). А то затёр бы такую хитрую штуковину ненароком. И кстати, всё же - нет возможности сфотографировать плату твоей точки и выложить? С обеих сторон? И ещё - ты дал симвльное представление дампа считанного из флеша файла - а HEX можно? Хотя бы первые 20-30 байт?
  11. Ну, похоже, что программно оно должно работать. А второй конец этого резистора с землёй не звонится? Нет смысла от юсб. Если уж от питания не заработало. думаю, что шину питания ты не перепутал;-). Но это уже странно. Похоже на правду, только ты отрезал в конце модель определившейся флешки. Она необязательно совпадает с той, что на плате стоит, но по крайней мере можно проверить, что они совместимы (кстати, какая флешка на плате-то? А то что-то не нахожу фото платы нигде). Можно ещё пойти по промежуточному пути - подключить RS232 через переходник на MAX232 или - у меня так - с юсб от мобильника на чипе PL2303, если драйвера для твоей системы найдутся. Можно, кстати, и на обычной ТТЛ-логике (к примеру, 155 серии или даже том же 555АП5/74xx244) собрать - так сделаны китайские кабели на ком-порт для мобил. И тогда терминалом смотреть, что там происходит. До тех пор, пока ты не затрёшь бут чем-нибудь вообще нерабочим, ты сможешь через терминал/Ethernet-tftp лить туда и обратно всё, что захочешь. И кстати - ты, значит, задействовал в кабеле reset-входы на JTAG-разъёме? Особенно тот, 11, где инвертор на транзисторе сделан? Если всё же нет - то сделай детекты, потом на короткое время замкни его на землю пинцетом (только сначала касайся земли;-) и снова сделай детекты и попробуй.
  12. С удовольствием поздравляем!;-) Хотя я ещё недавно как раз такие прошивки - от ZyXEL P-330W EE и от какой-то точки, кажется, AP3220, разбирал на рут, линукс и webpages - чтобы подсунуть буту 1.3 или 1.4 от dgreen для заливки в WR514R:-)))))))
  13. Кто тебя знает... Писал ты только об одном адресе, причём не о том, с которого все читают;-). Теряться не надо - у меня неделю ВООБЩЕ ничего не работало, ничего, на вторую ожило;-). Посмотри - правильно ли детектится. У меня было, что данные очень похожи на настоящие, только напряжения чтения/программирования показывались 0 вольт. Вигглер - не вигглер... Какая разница, главное - обеспечить фронты и уровни сигнала. Без микросхемы уровень был за 3 вольта, но фронт такой заваленный, что я удивляюсь, как у других работало - это порт должен намного ниже ТТЛовской единицы уровень воспринимать. С питанием микросхемы от роутера (у меня WR514R) - от его 3.3 вольта - фронт был нормальный, но уровень мал. И только с питанием от 5 В - всё стало на свои места. RTL8186 нормально держит входные уровни в 5 в через резисторы, TCK - и без резистора (я писал - я его убрал, чтобы светодиод не выпаивать). Окончательная схема того кабеля, что у меня - тут: http://stavka.hopto.org/wiggler_m.gif Выводы ресетов задействованы - jtag их использует, поэтому не надо, как в той теме советуют, замыкать 11 вывод пинцетом на землю. Теперь о сборке jtag. Если он собрался с закомментированной строкой - значит, те два определения и вложенные инклуды, в которых определения кучи функций, он либо откуда-то взял - и не факт, что правильно - либо поставил по умолчанию - и тогда наверняка неправильно. Поэтому любая функция вполне может вернуть не то значение, которое должна. Хотя бы не того типа. Поэтому посмотри - не знаю, отключены ли предупреждения в make - но нет ли warning'ов о несоответствии типов или об автоматическом преобразовании типов? Если в другом варианте такой же системы он собрался нормально - не факт, что он не подхватил определения из системы, раз уж они там есть (если в первом случае "откуда-то взял"). Тоже стоит внимательно посмотреть лог трансляции. А лучше попробуй найти комп с редхатом каким-нибудь или - если есть возможность - скачай cygwin (полный - около 3 ГБ, если ставить онлайн - то ставить по необходимому минимуму, будет значительно меньше). Поставь его под винды и попробуй. Ну и вариант, что когда ты искал ногу, включающую jtag (кстати, куда всё же от неё идёт резистор? У меня в WR514R он шёл на землю, а дальше висел антенный переключатель, никак в прошивках не задействованный;-) - ты порвал или замкнул что-нибудь. Я рвал CS флешки и замыкал пару её выводов - замучился потом каплю снимать - именно в этот момент отсос сломался;-). Проверь. Больше идей о неработе сходу не придумаю... А за наезд - извини. Погорячился.