Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.11.2013, 19:20   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Восстановление роутера, после неудачной прошивки

После неудачной прошивки своего роутера NEXX WT3020, последний версией из транка,
получил кирпич.
Сегодня получил опыт восстановления прошивки через UART.
Вариант восстановления прошивки подробно описанный andr128 мне не подошел, так как у меня в роутере отсутствовал пакет tftp

Прошил следующим способом:
1-Вам потребуется установить TFTP сервер на ваш компьютер. Скачать TFTP сервер для Windows.
2-Соедините ПК с роутером Ethernet кабелем.
3-В свойствах сетевого адаптера компьютера установите IP 192.168.1.10, Mask 255.255.255.0
4-Затем загрузите образ прошивки для Вашего роутера в корневую папку программы сервера на ПК , и запустите TFTP сервер с правами администратора.
5-Соедините свой роутер с компьютером используя UART порт и подключите питание роутера.
Для подключения роутера к компьютеру я использовал Arduino Nano, но можно использовать любой USB-UART мост
Подключать нужно по схеме:
TX <-> RX
RX <-> TX
GND <-> GND
6-После 1-2 секунд загрузки в консоли появится надпись Autobooting in 1 seconds, нужно очень быстро ввести слово tpl .
После чего Вы должны войти в U-Boot-консоль, она отобразится строкой hornet> и будет ждать ввода.

Вводите следующие команды:
Код:
setenv ipaddr 192.168.1.111
setenv serverip 192.168.1.10
tftpboot 0x80000000 proshivka.bin
"proshivka.bin" это не просто слово, а переименованная (для легкости ввода) имя оригинальной прошивки.

Если процесс пошел то Вы должны увидеть следующее:
Код:
eth1 link down
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.111
Filename 'proshivka.bin'.
Load address: 0x80000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ######################################################
done
Bytes transferred = 3932160 (3c0000 hex)
Если все ОК, то далее вводим в консоли следующую команду
erase 0x9f020000 +0x3c0000

После успешного стирания флеш памяти роутер должен ответить Вам так:
Код:
Erased 60 sectors
После этого введите следующую команду
cp.b 0x80000000 0x9f020000 0x3c0000

После чего роутер начнет прошиваться
и когда он прошьется то напишет Вам
Код:
Copy to Flash... write addr: 9f020000
done
Не забываем на последок выполнить
bootm 9f020000
После чего роутер начнет выполнение инструкций с адреса 0x9f020000
Дождитесь полной загрузки и после чего можете отключить UART мост от роутера и ПК
Admin вне форума   Ответить с цитированием
Старый 07.11.2013, 21:40   #2
SilverSwift
Senior Member
 
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0
SilverSwift is an unknown quantity at this point
По умолчанию

Цитата:
После неудачной прошивки своего роутера wr703n, последний версией из транка,
получил кирпич.
Цитата:
Вариант восстановления прошивки подробно описанный andr128 мне не подошел, так как у меня в роутере отсутствовал пакет tftp
Так проблема была в том, что был получен кирпич (не грузилась ось) или в том, что был потерян доступ по ssh?

Цитата:
5-Соедините свой роутер с компьютером используя UART порт и подключите питание роутера.
Я бы добавил, что подключать нужно по схеме:
TX <-> RX
RX <-> TX
GND <-> GND

И питание только в том случае если надо запитать роутер от ПК через UART. Также нужен 10кОм резистор между ногами TX и Vcc.
Пины идут в последовательности TX RX GND VCC.

Цитата:
Не забываем на последок выполнить
bootm 9f020000
После чего роутер должен сам перегрузится уже с новой прошивкой
Не перезагрузиться, а начать выполнение инструкций с адреса 0x9f020000.
SilverSwift вне форума   Ответить с цитированием
Старый 07.11.2013, 21:56   #3
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Цитата:
Так проблема была в том, что был получен кирпич (не грузилась ось) или в том, что был потерян доступ по ssh?
Девайс не был виден в сети. К сожалению я не сохранил лог, торопился, быстрее перепрошить
Цитата:
И питание только в том случае если надо запитать роутер от ПК через UART. Также нужен 10кОм резистор между ногами TX и Vcc.
У меня роутер wr703n и резистор я поставил в 5,1к в разрыв сигнала RX(роутера), для того что бы на пине RX был уровень 3,3в. В роутере на RX есть резистор 10к подтянутый к GND
Подтяжка на TX для чего нужна?

Цитата:
Не перезагрузиться, а начать выполнение инструкций с адреса 0x9f020000
А разве это не одно и тоже?

Цитата:
Также не плохо было бы дать ссылку на оригинал и добавить, что там есть много полезной информации
Добавил

Цитата:
Я бы добавил, что подключать нужно по схеме:
TX <-> RX
RX <-> TX
GND <-> GND
Добавил
Admin вне форума   Ответить с цитированием
Старый 07.11.2013, 22:10   #4
SilverSwift
Senior Member
 
Регистрация: 21.09.2013
Сообщений: 109
Вес репутации: 0
SilverSwift is an unknown quantity at this point
По умолчанию

Цитата:
Так я же получил консоль через serial подключение и могу запускать из нее любую утилиту, но это работало в моем случаи, в других случаях может быть все иначе
Отправка "tpl" в UART останавливает загрузку ОС U-Boot'ом. В этой консоли есть ограниченный набор команд для скачивания образа и записи его во флеш. Ось при этом не грузится.

Чтобы получить доступ через UART к консоли надо было выполнить bootm сразу или вообще не вводить tpl, тогда загрузилась бы ось и через UART можно было бы получить консоль. Но опять же если бы ось загрузилась это был бы не кирпич. Кирпич это когда ось не грузится от того что образ некорректно записался во флеш. Ну по крайней мере в моем понимании.

Цитата:
Резистор я поставил в 5,1к в разрыв сигнала RX(роутера), для того что бы на пине RX был уровень 3,3в. Подтяжка на TX не обязательна
Цитата:
To get a reliable serial connection, you might have to connect a 10k pullup resistor between TX and VCC. This is because the TX pin is connected to a voltage divider (2x5.6k) and a capacitor is put between the real pin and the TX connector. Some serial adaptors might work without the pullup resistor (confirmed for one ST3232-based adaptor), but others definitely require it (confirmed for a FTDI FT232RL-based model).
Переводя первоисточник некоторые FTDI могут не корректно работать с UART'ом без 10 кОмного резистора.
А вот как раз уровень 3.3 V роутеру не обязателен. Я подключал ардуину напрямую и не раз, 5V роутер нормально переваривает.

Цитата:
А разве это не одно и тоже?
Нет. Перезагрузка выполняется на аппаратном уровне подачей некоторого сигнала, на некоторый пин в течение некоторого времени. При этом производится очистка регистров процессора и их повторная инициализация. bootm просто задает адрес следующей инструкции.
SilverSwift вне форума   Ответить с цитированием
Старый 07.11.2013, 22:21   #5
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Спасибо за ликбез!
Честно говоря я много из этого не знал.
Admin вне форума   Ответить с цитированием
Старый 08.11.2013, 15:49   #6
paulerr
Senior Member
 
Регистрация: 04.01.2013
Адрес: Москва
Сообщений: 461
Вес репутации: 1152
paulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond reputepaulerr has a reputation beyond repute
По умолчанию

Предлагаю упростить.
По умолчанию адрес сервера, с которого ждет прошивку U-boot 192.168.1.100 - его и ставить на компе. Адрес 192.168.1.111 самого устройства тоже стоит уже по умолчанию.
Сопротивление на пины ни разу не ставил, у меня адаптер на FT232 и я делал "типа встроенный" адаптер на СР2102 - все работает без подтягивающих резюков.
paulerr вне форума   Ответить с цитированием
Старый 24.01.2014, 01:22   #7
B16
Junior Member
 
Регистрация: 22.01.2014
Сообщений: 5
Вес репутации: 0
B16 is an unknown quantity at this point
Smile Re: Востановление роутера, после неудачной прошивки

Такой UART подойдёт: https://duino.ru/Preobrazovateli-interfeisov.html ?

Последний раз редактировалось lvovitch; 29.11.2014 в 12:32.
B16 вне форума   Ответить с цитированием
Старый 24.01.2014, 10:45   #8
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Востановление роутера, после неудачной прошивки

Подойдет
Admin вне форума   Ответить с цитированием
Старый 05.08.2014, 16:48   #9
kolganoff
Junior Member
 
Регистрация: 01.08.2014
Сообщений: 2
Вес репутации: 0
kolganoff is an unknown quantity at this point
По умолчанию Re: Востановление роутера, после неудачной прошивки

Добрый день, коллеги!
Получил кирпич и теперь пытаюсь перепрошиться через Uboot.
Успешно ввожу tpl и получаю приглашение hornet>
После этого не могу ввести никакие команды, такое ощущение, что роутер зависает.
Что посоветуете?
kolganoff вне форума   Ответить с цитированием
Старый 29.11.2014, 10:03   #10
skyvlad
Junior Member
 
Регистрация: 21.07.2013
Сообщений: 19
Вес репутации: 0
skyvlad is an unknown quantity at this point
По умолчанию Re: Востановление роутера, после неудачной прошивки

Было так же, hornet и тишина. UART на CP2102, windows 7 32bit. Пробовал на другой машине с такой же виндой, такая же ерунда, что-то подсказало что дело в контроллере или драйвере. Комбинация tpl набиралась только с первой попытки (у меня был роутер с циклическим бесконечным ребутом), если промазал то все, на клаву не реагировала.
Достал ноут с winXP - и все заработало, залил cyberwrt.

Последний раз редактировалось skyvlad; 29.11.2014 в 23:55.
skyvlad вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:12. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика