Uart usb для роутера

Uart usb для роутера

После неудачной прошивки своего роутера 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

Читайте также:  От чего зависит скорость wifi роутера

После успешного стирания флеш памяти роутер должен ответить Вам так:

После этого введите следующую команду
cp.b 0x80000000 0x9f020000 0x3c0000

После чего роутер начнет прошиваться
и когда он прошьется то напишет Вам

Copy to Flash. write addr: 9f020000 done

Не забываем на последок выполнить
bootm 9f020000
После чего роутер начнет выполнение инструкций с адреса 0x9f020000
Дождитесь полной загрузки и после чего можете отключить UART мост от роутера и ПК

Источник

Конечно для подключения нам нужен Putty ( Putty — официальный сайт ). неоднократно уже было на нашем канале как подключать, статьи:

вот скриншот с роутера Xiaomi Mi, но принцип один и тот же (скорость ставим не 115200, а 119000 )

Производим ряд подключений

При включении роутер в сеть (обязательно уже должен быть подключен адаптер USB-Serial и открыта консоль в Putty, иначе пока все будите включать пропустите U-boot)

Настраиваем:

Serial порт у меня COM5, а у Вас, скорее всего будет другой, тут все просто смотрите в диспетчера какой порт у вас выдает ваш конвертер. А вот дальше возникают всегда некоторые проблемы, нам нужно настроить еще скорость порта и кодировку:

Про кодировку

  • Чаще всего используется кодировка UTF-8
  • Реже Windows-1251, центральная Европа (например Asus RT-N65U, статья: » Попытка восстановить роутер Asus RT-N65U или как умирают роутеры «)

Про скорость

Все дело в том что сначала при загрузке U-boot и чуть опосля бегут крокозябры и в начале ничего не видно, а там же интересная информация что делать?

Настраивать скорость UART

Ее можно и нужно настроить в двух местах:

Читайте также:  Status megafon ru роутер mr150 6

Через панель управления

Панель управления\Оборудование и звук\Диспетчер устройств\Порты (COM и LTP)

Выбираем ваш порт, у меня «USB-SERIAL CH340», далее «Параметры порта»

Нам нужна скорость порта, по умолчанию она 9600 но!

Скорость (BaudRate, БодРейд) лучше выставить скорость большую чем скорость нашего устройства (роутера), поэтому меняем 9600 на 115200 . Хотя у меня работает все и на стандартной скорости 9600, но это может помочь в других случаях.

Скорость в Putty

А вот скорость в настройках терминала в нашем случае это программа Putty должна ровняется скорости (BaudRate, БодРейд) устройства. ее мы подбираем руками экспериментально, но чаще всего это то же 115200 или 57600

Общепринятый ряд стандартных скоростей: 300; 600; 1200; 2400; 4800; 9600; 19200; 38400; 57600 ; 115200 ; 230400; 460800; 921600 бод. (скорость в бодах иногда используются синонимы бодрейт или битрейт)

Тем не менее при стандартной скорости 115200 все равно бегут крокозябры, но потом все налаживается

А при нестандартной скорости 119000 все прекрасно грузится и все видно, возможно эти настройки относятся только к адаптеру на чипе CH340 (пишут что адаптер на CH340 не очень удачная штука, лучше на PL2303)

Интересно смотреть на листинг сначала грузится:

Напомню что 5 мая 2011 года Ralink была приобретена компанией MediaTek. Собственно чей чипсет и стоит в роутере, статья на канале: » TP-Link TL-MR3020 супер роутер — комбайн для нищебродов. Часть I, вступительная. «

Вывод

Для нормальной, читабельной загрузки выставляем скорость в Putty 119000, кодировка остается по умолчанию UTF-8

Входим в U-Boot

При начальной загрузке сразу как подаем питание на роутер жмем по клавише «T» или «4», других клавиш я не нашел! Итак, прям барабаним по «T » или «4», естественно кодировка должна быть английская как и клавиша «T», а для «4» это не важно.

Читайте также:  Разлочить модем роутер huawei

Итак жмякаем по «T» и попадаем в U-boot

Можете ввести»help» и вам будут доступны все возможные команды

Команды U-Boot версии 1.1.3

Список команд U-boot меню (он длинный)

  • ? — alias for ‘help’
  • base — print or set address offset
  • bdinfo — print Board Info structure
  • bootm — boot application image from memory
  • bootp — boot image via network using BootP/TFTP protocol
  • coninfo — print console devices and information
  • cp — memory copy
  • crc32 — checksum calculation
  • erase — erase SPI FLASH memory
  • go — start application at address ‘addr’
  • help — print online help
  • loadb — load binary file over serial line (kermit mode)
  • loop — infinite loop on address range
  • md — memory display
  • mdio — Ralink PHY register R/W command !!
  • mm — memory modify (auto-incrementing)
  • mtest — simple RAM test
  • nm — memory modify (constant address)
  • printenv- print environment variables
  • rarpboot- boot image via network using RARP/TFTP protocol
  • reset — Perform RESET of the CPU
  • rf — read/write rf register
  • saveenv — save environment variables to persistent storage
  • setenv — set environment variables
  • sleep — delay execution for some time
  • spi — spi command
  • tftpboot- boot image via network using TFTP protocol
  • version — print monitor version

По SPI есть свой Help (spi usage):

  • spi id
  • spi sr read
  • spi sr write
  • spi read
  • spi erase
  • spi write

Нас интересует команда tftpboot , что естественно значит загрузку прошивки по tftp.

После ввода tftpboot роутер напишет:

Warning: no boot file name; using ‘test.bin’ TFTP from server 192.168.0.225; our IP address is 192.168.0.2. Filename ‘test.bin’

(Предупреждение: нет имени загрузочного файла; используя test.bin
TFTP с сервера 192.168.0.225; наш IP-адрес 192.168.0.2 Имя файла test.bin)

Источник

Оцените статью
Adblock
detector