- Как залить на роутер прошивку через COM порт?
- Алгоритм восстановления прошивки роутера
- Восстановление прошивки роутеров TP-LINK с флешкой 16м.
- Запись u-boot
- Generic flashing over the Serial port
- Kermit
- Подключаем роутер TP-Link TL-MR3020 V3 по UART-USB (через COM-порт) и прошиваемся.
- Производим ряд подключений
- Настраиваем:
- Про кодировку
- Про скорость
- Через панель управления
- Скорость в Putty
- Вывод
- Входим в U-Boot
- Команды U-Boot версии 1.1.3
- Список команд U-boot меню (он длинный)
Как залить на роутер прошивку через COM порт?
Универсальная инструкция, как загрузить прошивку в любой роутер, не зависимо от производителя. При этом способ это работает даже в тех случаях, когда нет доступа к панели управления роутером через браузер.
Особенность альтернативных прошивок, да и официальных — это то, что ни не перезаписывают загрузочную область на флеш-памяти. Следовательно, пока цел boot — роутер поломать тяжело. И при наличии СОМ кабеля его всегда можно восстановить. Поэтому, в идеале, загружаемая прошивка должна быть без бута. Но, если вы используете для восстановления роутера — заводскую прошивку с boot, то его необходимо удалить.
Алгоритм восстановления прошивки роутера
- В Windows XP загружаем tftpd сервер, и устанавливаем его в папку.
- Копируем файл с прошивкой.
- Подключаем роутер к компьютеру с помощью сетевого кабеля. В настройках сетевого подключения вписываем IP адрес: 192.168.1.27. Почему именно 192.168.1.27?Если открыть файл прошивки роутера boot.bin, то в нем увидим: ipaddr=192.168.1.10.serverip=192.168.1.27
- Запускаем tftpd сервер
- Подключаем СОМ или UART-TTL кабель, настраиваем и запускаем PuTTY.
- Включаем роутер и как только появится строка «Autobooting in 1 seconds» — быстро вводим «tpl», в противном случае Ваш маршрутизатор, снова перезагрузится.
- После того как циклическая перезагрузка остановлена. Переходим к процессу прошивки.
ar7240> erase 0x9f020000 +0x3c0000
ar7240> tftpboot 0x81000000 1.bin
ar7240> cp.b 0x81000000 0x9f020000 0x3c0000
Вот и все, прошивка роутера восстановлена.
Восстановление прошивки роутеров TP-LINK с флешкой 16м.
erase 0x9f020000 +0xfc0000
cp.b 0x81000000 0x9f020000 0xfc0000
Запись u-boot
Внимание! Ошибки при перезаписи u-boot могут привести к потере работоспособности вашего аппарата, с последующим восстановлением только через программатор.
tftpboot 0x81000000 u-boot.bin
cp.b 0x81000000 0x9f000000 0x20000
В этом примере переписывается u-boot полный, размером 128кб.
Generic flashing over the Serial port
finally, instruct the bootloader to transfer the firm.bin from the tftp server on your computer and save it to RAM memory (0x81000000); then erase 0x7c0000 bytes (7.75 MiB) from the flash (starting at 0xbf020000); finally copy the image stored in RAM to flash
DO NOT USE THESE VALUES. FIND OUT THE RIGHT ONES! NO, NOT KIDDING.
0x7c0000: size of the firmware (be aware that you may have a different size thus bricking your router)
in macOS Terminal utility app/window, find-out serial port list with this command: ls /dev/.*
setenv serverip 192.168.1.234 tftpboot 0x81000000 firm.bin erase 0xbf020000 +0x7c0000 cp.b 0x81000000 0xbf020000 0x7c0000 bootm 0xbf020000
Kermit
You can use a client using the Kermit (protocol) to transfer the new image. It may take forever and a half (15-20min) to copy. But it’s easier and more secure than running a tftpd server. These instructions assume you’re using a Linux system, but they will give you all you need to do the same on a Windows box.
DO NOT USE THESE VALUES. FIND OUT THE RIGHT ONES! NO, NOT KIDDING.
erase 0xbf020000 +7c0000 # 7c0000: size of the firmware (be aware that you may have a different size thus bricking your router) loadb 0x81000000
Fire up C-Kermit and run the following commands (or configure your Kermit client to these parameters):
set line /dev/ttyUSB0 # Just make sure you got the right USB interface set speed 115200 set carrier-watch off set handshake none set flow-control none robust set file type bin set file name lit set rec pack 1000 set send pack 1000 set window 5 send code.bin # Make sure you include a proper path to the file. That's why I just kept it in /home/$user
After the 15-20min file transfer, the new firmware should be on your router and you can continue in terminal:
DO NOT USE THESE VALUES. FIND OUT THE RIGHT ONES! NO, NOT KIDDING.
cp.b 0x81000000 0xbf020000 0x7c0000 bootm 0xbf020000
Note: This serial transfer method doesn’t solve the “chicken or the egg” dilemma (if your Ethernet port is not working on U-Boot) because you cannot use tftpboot to transfer code.bin to u-boot. Fortunately U-Boot supports serial transfer using modem protocol: http://acassis.wordpress.com/2009/10/23/transfering-file-to-u-boot-over-serial/
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website. OK More information about cookies
Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.
Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International
Подключаем роутер TP-Link TL-MR3020 V3 по UART-USB (через COM-порт) и прошиваемся.
Конечно для подключения нам нужен 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
Ее можно и нужно настроить в двух местах:
Через панель управления
Панель управления\Оборудование и звук\Диспетчер устройств\Порты (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» это не важно.
Итак жмякаем по «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)