LINUX.ORG.RU

Убил u-boot на роутере, как восстановить, образ есть...

 


1

2

При прошивки убился u-boot пытаюсь разобраться почему. Подключаю программатор ch341 где точка там красный провод на щипцах, флешку видит, но не опазнаёт, прошить не могу... Да ещё заметил что программатор начинает греться прилично так.. На флешке написано: 61089B вообще такую флеш нигде не видел...

Что делать идти покупать другую spi флешку?

Вот адрес откуда снимался дамп 0x000000000000-0x000000200000 : «u-boot»

вот где лежал u-boot образ его почему-то 2мб у меня, тоже не понимаю как он может быть такой большой?

обычно компиляют специальный u-boot, заливают его через JTAG в RAM (который этим-же JTAG'ом ранее сконфигурен), этот u-boot из памяти уже шьет NAND. Восстанавливают обычно так же. Ищи какие у тебя там пины JTAG, ищи доки на свой проц и исходники.

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

Значит есть загрузчик нулевого уровня, и нужно разобраться, можно ли им что-то сделать. Возможно есть некий режим прошивки.

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

многие умные процы умеют jtag over rs232, для этого обычно нужно прервать его до загрузчика, это делают системные утилиты от производителя процессора. На hisilicon такое повсеместно.

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

более вероятно найти ноги флешки на разъеме на тестовых пинах.

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

Так дело в том что SPI там нету... ZTE ZXHK F670

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

У меня есть идея, а можно взять отпаять флешку и прошить через другой роутер, у которого есть загрузчик uboot получится так?

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

Сомнительная затея. Во-первых, у того роутера загрузчик должен быть не на NAND, а где-то ещё. Во-вторых, у меня нет уверенности что он с этой NAND заведётся, даже с обычными SPI-флешками 25 серии далеко не всегда такое прокатывает.

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

На роутерах часто JTAG куда-то просто выведен, лечил так несколько китайцев. Это самый лучший способ разрешить ситуацию.

Я бы действовал так - найти на всяких *wrt и листах модели на том же проце, узнать что там с jtag и как подключать, почитал бы обсуждения. Возможно есть не jtag, а загрузчик 0-го уровня, позволяющий перешиться. Поискал бы еще доки и исходники от производителя. Ну и перешивал бы соответствующим способом. Отпаивать и запаивать NAND - нетривиальная задача, требующая подготовки. Роутер обычно не стоит затраченных усилий и времени. Нужны инструменты, материалы и опыт, так как ноги оторвать или перегреть - как нефиг делать. Лучше сначала на мертвом хламе потренироваться (но не совсем мертвом, чтобы можно было проверить успешность операции). Но вложение средств и усилий вряд ли имеют смысл, если не собираешься на этом карьеру делать или хотя бы хобби не на один раз.

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

Если есть такой же роутер, я делал так - сначала патчишь u-boot чтобы работал с NAND на меленькой скорости. поднимаешь управляющие ноги на живом роутере, запаиваешь проводками. Сверху запаиваешь NAND, который будешь шить. На проводки МГТФ короткие. К ногам того, что установлен. К управляющим ногам только проводки. Бутаешь u-boot, отпаиваешь проводки оригинального NAND, запаиваешь перешиваемый. грузишь и шьешь u-boot'ом образ (nand write ...) потом отпаиваешь прошитый NAND и запаиваешь все обратно. Может понадобиться отпаять некоторые адресные ноги, зависит от размера и типа NAND'а. Но если есть возможность обойтись софтовым решением, лучше обойтись им.

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

Программатор всяко вещь в хозяйстве полезная

если в хозяйстве есть одноплатник с Linux - она практически бесполезная, по крайней мере для последовательных флешей. С нандой сложнее из-за различий в контроллерах кода коррекции ошибок, хотя сейчас raw nand не особо популярны - все чаше используют eMMC.

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

Вот адрес откуда снимал 0x000000000000-0x000000200000
шить nand flash программатором

если дамп снят из Linux через /dev/mtdХ то и программатором может ничего не выйдет, насколько помню mtd не предоставляет доступ к spare area - а там ECC, но тут тоже варианты - boot rom может и не использует ECC.

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

EEPROM с защитой доступа типа PCA24S08 оно может шить?

Да и колхоз это всё с проводками да прищепками, не говоря уж про скорость.

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

EEPROM с защитой доступа типа PCA24S08 оно может шить?

а в чем проблема ? если вы про это

Write operations on the device can be performed only when WP is held LOW. When the WP pin is held HIGH, content of the full memory is protected (Block 0 to Block 7, APP registers, ID Page), and no write operation is allowed.

не вижу проблем реализовать через любой GPIO

это всё с проводками да прищепками

это наверно единственное преимущество прорамматора

не говоря уж про скорость

а что со скоростью не так на аппаратном spi/i2c ?

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

увидел фото. ну пытаться можно с розе.. но я бы прожарил электрошоком и отправил в помойку. ремонт выйдет дороже нового.

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

Такие (raw nand) не умеют. Еммс можно к картридеру подоткнуть, но там всё равно только user-область видно будет, так что в данном случае смысла нет.

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

Да легко снимается, главное жало теплоёмкое типа «ножа».

Для себя любимого можно и сделать.

А уж если клиентам делаешь, то отсутствие фена и программатора это что-то ненормальное.

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

Еммс можно к картридеру подоткнуть, но там всё равно только user-область видно будет

практически любой одноплатник с Linux имеет полноценный SD/MMC хост с полным доступом к кишкам eMMC

https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git/tree/

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

Да я отпаивал и паял на место обычным рексантом на 30Вт(флешка), просто я уверен что новичек это не сделает. Да и Розе если не счищать то все отскочит. А это уже нужно опыт и навыки.

Про нормальный флюс и оплетку я уже молчу, плюс опять же без опыта пайки это все бесполезно.

Фен опять же требует навыка обращения с ним, иначе будет жженая плата.

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

Чо уж тут - человек спросил, получил ответ. На этом мои полномочия всё. Могу сделать за него, но за деньги.

Kasch
()
17 ноября 2020 г.
Ответ на: комментарий от bart212k

U-Boot

С U-Boot у тебя всё нормально, вешается на старте ядра - «Starting kernel …». Если U-Boot сдох, ты в терминале веще ничего не увидел. CPU: Cortex-A9 400 MHz - ARMv7 Processor? Не шили его? Не ошибся с прошивкой?

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