LINUX.ORG.RU

DIR-300EEU wive-ng, помогите восстановить.

 , ,


0

0

DIR-300EEU B1E, прошитый WIVE-NG, верой и правдой трудился без каких-либо зависания и глюков. Но однажды, приехав из командировки обнаружил, что он светит зеленым индикатором питания и показывает активность на lan - портах, и на этом вся его деятельность заканчивается. Благоверная упомянула что свет мигал и жужжал лампочками раз 10 за вечер (она поотключала все что не через фильтр, но вот роутер забыла ). Попытки сброса или входа в Emergenecy room ничего не дали. Прошу помощи по восстановлению сего трудолюбивого девайса - мне кажется он еще не окончательно помер. С прошивкой wive-ng он меня полностью устраивал. Заранее благодарен за помощь.


Не знаю, как там устроено в DIR, но наверняка переменные в environment слетел. У меня такое было с ADSL-роутером dlink. Работал, работал, а потом - бац - и угас. Открыл - кондеры на входе все вздутые и потекшие. Заменил, но это, разумеется, не помогло с проблемой. Сделал датакабель (через telnet/ftp adam2 я не сумел поймать, так как испортилось поле в ip-адресом), в консоль зашел, обнаружил, что переменные сбились и добавился еще мусор какой-то. Видать, от перегрева глюкнул. Все переменные восстановил (я знал, какими они должны быть - у меня дамп есть), прошивку перезалил по ftp. Все заплясало.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 3)
Ответ на: комментарий от Zubok

Про дата кабель можно по-подробнее? Скорее всего вы имеете ввиду JTAG. Я в этом не очень хорошо разбираюсь.

ulver
() автор топика
Ответ на: комментарий от ulver

Про дата кабель можно по-подробнее? Скорее всего вы имеете ввиду JTAG. Я в этом не очень хорошо разбираюсь.

Не знаю, как это в DIR300 сделано. Нет, не JTAG, а обычный последовательный порт, выведенный на гребенку на плате. К этой гребенке и цеплялся. Если у тебя ловится telnet/ftp, то тебе не нужен датакабель.

Тебе надо сравнить разбивку mtd1, mtd2 и т. д. с тем, как оно должно быть для данной модели.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

для любых манипуляций мне нужно хоть как-то к нему подцепиться. Телнет и tftp это первое что я попробовал, перебрав адреса для разных ревизий ( dir300 - 192.168.20.80-81 wan порт; dir300nru 192.168.0.1-2(15) первый lan порт ) пытался поймать загрузчик redboot, но тоже ничего не вышло. Поэтому решил попросить совета, ведь скорее всего оживить удастся только с помощью «дата-кабеля» или программатора ( внутрисхемного).

ulver
() автор топика
Ответ на: комментарий от ulver

А начальный загрузчик по какому адресу должен ловиться? У меня, например, по умолчанию должен был быть 10.8.8.8 (адрес роутера при этом по умолчанию 192.168.1.1), а потом оказалось, что в роутер прописан начального загрузчика 192.168.1.199. Какого хрена это было так, я не знаю. Видать, последнее обновление прошивки так сделало. Подножка. Вот узнать это получилось только через датакабель.

Zubok ★★★★★
()
Ответ на: комментарий от ulver

Я полагаю, что вот та гребенка слева от ralink и есть место, куда датакабель цеплять.

http://vignette1.wikia.nocookie.net/infodepot/images/b/ba/D-Link_DIR-300_vB1c...

Вот вроде распиновочка.

http://www.dd-wrt.com/wiki/images/7/7a/Dlink-DIR300revb.JPG

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от ulver

Телнет и tftp это первое что я попробовал

Надо пытаться. Я, например, далеко не с первого раза поймал telnet (загрузчик adam2). Но надо точно знать, какой адрес и попасть в нужный момент. Главное, чтобы загрузчик не умер. Если умер, то только перепрошивкой flash напрямую. Иначе никак. Но в DIR-300 может быть своя специфика - не знаю точно.

Если не получится, то смотреть уже датакабелем. Надо только не забыть соединить между собой RTS/CTS и DTR/DSR, узнать, какая скорость обмена по умолчанию, выбрать формат (наверное 8n1, hardware control - для этого RTS/CTS и DTR/DSR соединили). И смотреть выхлоп начального загрузчика и ядра. Если вообще ничего не будет, то, значит, загрузчику хана. Но это относительно редкое явление. Чаще всего либо неправильно кабель сделан (перепутаны RxD, TxD местами), либо порт неправильно настроен. Любая мелочь.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

насколько я смог выяснить сервисные ip для разных ревизий: 192.168.0.1, 192.168.1.1, 10.10.10.123. ни один не отвечает. я сделал простой батник который пингует адрес и при успешном пинге тут же запускает putty с сессией телнета, при этом посылая клавиатурную комбинацию ^c ( необходимо чтобы приостановить Redboot и не дать ему грузить всякий мусор дальше, иначе линк падает). благодаря вашему рисунку нашел место где можно подпаяться дата-кабелем, на моей ревизии гребенки не было. просто пятаки около резюков. Попробую com-ом подцепиться, посмотреть может чего выплюнет в терминал. Ворочать все это приходится со старенького компа с вендой, на рабочем ноутбуке нет нужных портов, а док-станцию я благополучно потерял (точнее ей быстро приделали ноги) полгода назад когда ремонтировал очередной томограф. о чем порой сильно жалею, но кроме себя винить не кого (.

ulver
() автор топика
Последнее исправление: ulver (всего исправлений: 1)
Ответ на: комментарий от ulver

только COM не напрямую надо подключать, а через преобразователь. На колодке уровни, скорее всего, 3.3 В. Нужно либо что-то типа MAX232 для COM или FT232, PL2303, CP2102 для USB. Если все это и так понятно, то ок :) На COM уровни все-таки ±10-12 В.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

ну, когда-то давно я занимался всякими нехорошими вещами, вроде осчастливливания новых владельцев 360-х ящиков от майкрософта, где-то в хламе валяется программатор для приводов. он как раз на max232. По результатам отпишусь, спасибо за указание направления копания.

update: вот чего еще нашел Если вдруг вы убили в DIR-300 загрузчик...

ulver
() автор топика
Последнее исправление: ulver (всего исправлений: 1)
Ответ на: комментарий от ulver

update: вот чего еще нашел Если вдруг вы убили в DIR-300 загрузчик...

Но я смотрю, что DIR-300 имеет несколько модификаций. Я бегло посмотрел, но там платы и комплектуха разная у разных. Поэтому надо внимательно смотреть, что там есть, а чего нет. Вот на той плате, что выше, я JTAG не вижу. Куда он спрятался? А на других платах видел.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

http://miavsoft.narod.ru/pics/dir-300/spi-lpt.jpg - справа внизу. Я перепробовал все варианты без подпаивания раз по десять в различных вариация и комбинациях. Видимо и правда сменился адрес загрузчика. Сегодня буду пробовать с LPT прицепиться по схемам с чешского сайта.

ulver
() автор топика
Ответ на: комментарий от ulver

Как-то товарисчу перешивал в дефолт его dir320. Спаял wiggler (JTAG на базе LPT) и за 7 часов накатил дефолтную прошивку. Где-то даже заметку писал как все это сделать.

yax123 ★★★★★
()
Ответ на: комментарий от ulver

Что-то сразу со сложного. Зачем? Сделай дата-кабель и смотри вывод. Он и команды воспринимает. Там и адрес загрузчика вылезет. Если загрузчик цел, то попробуешь в него еще раз зайти по тому адресу.

Zubok ★★★★★
()

Раз такая солянка тоже сюда отпишу. Имеется роутер dlink dir300nru_b1 с прошивкой Wive-ng. Роутер одно время нормально работал, потом в обычном нормальном режиме стал индикатор питания оранжевым, а лан хосты вообще не видно было. В emergency заходит, вроде восстанавливает прошивку, но после ребута та же петрушка. Как быть? (cpu по видимому жив)

shirase
()
Ответ на: комментарий от shirase

Не смогу сказать точно, но, скорее всего, у тебя разбиение флешки испортилось. Надо удостовериться, что mtdX правильные диапазоны имеют. Если ты залил правильно, то висяк будет все равно. В инете видел, что можно посмотреть через cat /proc/mtd.

Не знаю, как это в DIR-300, но вот у меня в роутере разбивка хранится в environment и ее можно поправить через дата-кабель или telnet.

Возможно, что еще какие-то причины, но это проверить надо. Вот у меня проблема именно была в том, что слетели переменные среды, в которых разбивка mtdX была. Было 0x0001000 (условно), а стало после глюка 0x0001090. Остальное все ок было.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от shirase

Ну и по telnet зайти и посмотреть, логи ядра есть? Может, ядро грузится, но где-то проблема? Раз этот emergency есть, то и сервисный вход наверняка работает.

Zubok ★★★★★
()
Ответ на: комментарий от shirase

Если индикатор питания стал оранжевым - срочно перепаивай все кондеры на плате роутера (не лишним еще и ключ по питанию проверить) и в блоке питания. В блоке замени на тот же вольтаж, но в два раза большей емкости.

ulver
() автор топика
Ответ на: комментарий от ulver

Для начала бы консоль припаять, послушать что он пишет при загрузке...

NiTr0 ★★★★★
()
Ответ на: комментарий от Zubok

Как доберусь до устройства проверю mtd, если конечно это вохможно ещё вместе с телнетом. А если нет, тут только наверное PL2303HX-USB-TTL-CABLE, которого у меня нет, а паять у меня руки кривые

shirase
()
Ответ на: комментарий от shirase

PL2303HX-USB-TTL-CABLE, которого у меня нет, а паять у меня руки кривые

Можно сделать переходник TTL-RS232 «для бедных» всего на двух транзисторах.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Короче случилась мистика (не понял даже как), в общем достал рутер из коробки и решил так просто напоследок включить платку, и что вы думаете? Он загрузился, я в шоке и как такое могло произойти. И что в итоге мешало загрузке?

shirase
()
Ответ на: комментарий от shirase

Вообщем загрузилась Wive-ng, попытался я сделать сброс и там были ошибки про mtd как раз, но всё таки он сбросился и уже опять на загружается.

shirase
()
Ответ на: комментарий от shirase

Ну, может, и не мистика. Возможно, что процедуру неправильно соблюдал после перепрошивки. Или же конденсаторы шалят. Из-за них может не запускаться или запускаться иногда. Если вздулись, то обязательно заменить.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

На удивление всё целое на плате, скорее всего что-то flash, если он не мог восстановить стандартные настройки из памяти (mtd).

shirase
()

Итак, usb-ttl обзавелся, на выходных займусь воскрешением трупика.

ulver
() автор топика
Ответ на: комментарий от shirase

Есть лог с UART. Посмотрите пожалуйста.

Ой, пропустил, а то тут наприходило уведомлений... А это что за лог? Из того, что я понял выше, все же заработало? Или опять не работает? В логе в самом верху команды загрузчика U-Boot. Они позволяют по TFTP записать flash.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

По логу при обычно старте без TFTP, много повторяется запись Ralink SoC physically mapped flash

ralink flash device: 0x1000000 at 0x1f000000
Ralink SoC physically mapped flash: Found 1 x16 devices at 0x0 in 16-bit bank

По логу при загрузке и заливке по TFTP, логи валит записью - dest [0xbf050000] = 0527

Бинарник вроде нормально заливается, но потом при записи в саму флеш выше надпись дублируется

shirase
()
Ответ на: комментарий от shirase

P.S. заметил одну особенность, прошивка то по тфтп не до конца заливатеся

По-моему, она вообще не заливается. Она записывается, скорее всего в DRAM сначала по TFTP, а потом во flash из DRAM на первом же адресе фейлится. (я не уверен, что именно это происходит). Пытается повторить операцию и дублирует dest [0xbf050000] = 0527. Это первый адрес диапазона.

Zubok ★★★★★
()
Ответ на: комментарий от shirase

Или последний фейлит (если тут не синтаксическая ошибка и не bytes вместо byte):

Copy linux image [3174528 bytes] to Flash [0xBF050000] ...
Copy 3174528 byte to Flash ...

Может флешка умерла или какая-нибудь нога отвалилась? Надо подробнее узнать, что это означает в u-boot .

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 3)
Ответ на: комментарий от shirase

Вот еще есть опция «4». Entr boot command line interface. То есть ты войдешь в командную строчку u-boot. Там наверняка есть help по командам. И посмостри, что там среда говорит. Может, что-то типа команды printenv. И насколько это соответствует тому, что должно быть?

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.