Восстановление роутеров TP-Link через serial интерфейс

Во время перепрошивки произошли непредвиденные ситуации: выключилось электропитание, принудительно через консоль сменили версию микрокода, предназначенную совершенно для другой модели устройства или другой железной версии устройства (hardware version) или просто в процессе обновления все зависло, час ждали надеясь, после чего выключили питание.

После включения питания или перезагрузки наблюдаем постоянно мигающие огоньки с интервалом 2 секунды (циклическая перезагрузка) или просто все светодиодные индикаторы горят, т.е. ваш роутер превратился в мигающий кирпич… К нам в мастерскую попал роутер-кирпич TL-WDR4300ND по невнимательности записали во flash память прошивку для совершенно другой модели роутера… не вдаваясь в подробности, после решения смены прошивки через консоль (в процессе экспериментов с установкой различных пакетов отвалился WEB интерфейс и не хотел больше ставится), спешка привели к тому, что в команде на скачивание вместо версии прошивки для роутера WDR4300ND была скачена версия для WR1043ND, дальше пошла команда на запись в память. При прошивке через консоль, проверки на совместимость нет, идет просто запись всего в память и перезагрузка, итог очевиден — мигающий всеми светодиодными индикаторами маршрутизатор.

К моменту восстановления роутера, уже есть много статей как восстановить популярную модель TL-WR1043ND. Но ни слова как это сделать с TL-WDR4300ND, как оказывается, в процессе восстановления есть несколько особенностей.

Подготовительный этап

Основная особенность восстановления роутера через serial интерфейс – это необходимость полностью разобрать устройство, возможно придется и работать с паяльником. Алгоритм процесса:

  1. роутер подключается к serial интерфейсу роутера для подачи команд через консоль
  2. роутер подключен через сетевой интерфейс LAN1 роутера подключен к сетевой карте компьютера
  3. на компьютере запускаем TFTP сервер с файлом прошивки
  4. введя определенную последовательность команд, роутер качает прошивку с TFTP сервера себе в ОЗУ, после чего запишет в свою flash память, после чего перезагрузится

Если все сделано верно произойдет восстановление работы устройства.

Получение рабочей прошивки для роутера

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

Если Вы будите восстанавливать работоспособность роутера альтернативными версиями прошивок (dd-wrt, open-wrt) – нужно скачивать последнюю прошивку или сборку на основе альтернативных прошивок для роутера.

DD-WRT качаем отсюда ftp://dd-wrt.com/others/eko/BrainSlayer-V24-preSP2 , выбираем текущий год, и самую последнюю версию релиза, далее находим раздел с файлами прошивки Вашей модели роутера. Качаем файл прошивки factory-to-ddwrt.bin

Open-WRT качаем отсюда http://downloads.openwrt.org/snapshots/trunk/ar71xx файл прошивки.

Главное не ошибиться с версией роутера!

4-х контактный разъем Serial интерфейса на плате

Расположение serial интерфейсов и их распиновка.

serial интерфейс на роутере TL-WDR4300ND

serial интерфейс на роутере TL-WDR4300ND

serial интерфейс на роутере TL-WR1043ND

serial интерфейс на роутере TL-WR1043ND

Соединительный кабель

Для подключения устройства к компьютеру понадобится кабель, тут есть несколько вариантов:

  • использовать COM кабель, разрезав один конец и припаяв к serial интерфейсу на плате
  • использовать USB to SERIAL RS232 кабель возможно использование старых дата кабелей мобильных телефонов Nokia, или заказать кабель из Китайского интернет-магазина

В статье использован кабель PL2303HX USB To TTL COM.

Нормально работающие драйвера для данного устройства были скачены с официального китайского сайта, хоть и написано что работают в Vista, Windows 7, но на деле, они нормально работают только на Windows XP, поэтому работы по восстановлению велись именно с этой ОС.

Драйвер ставится до первого подключения кабеля в USB разъем!

После установки драйвера перезагружаем Windows, только после этого возможно подключение провода, в диспетчере устройств проверяем устройство в нашем случае это COM3. Необходимы только 3 контакта GND, TX и RX.

Для удобства подключения можно использовать 4х-пиновый коннектор от материнской платы для питания вентилятора, подключив только 3 контакта, способ подключения к устройству (таблица 1.5): TX кабеля подключить к RX serial интерфейса; RX кабеля к TX serial интерфейса; GND кабеля к GND serial.

Таблица 1.5 – метод подключения кабеля к serial интерфейсу роутера

Serial разъем роутера Кабель RS232
RX TX
TX RX
GND GND

Терминальная программа

Для ввода команд необходима любая терминальная программа, например Putty, которая может работать через ssh, telnet и т.д. Для работы с терминалом, ее необходимо установить и настроить:

  • Conection type: Serial
  • Serial line — номер COM порта, например, COM3
  • Speed: 115200
  • Data bits: 8
  • Stop bits: 1
  • Flow control: none
Настройка Putty

Настройка Putty, необходимо написать свой порт (см. диспетчер устройств)

TFTP сервер

Во время процесса восстановления на нем будет находится рабочая версия прошивки для Вашей модели роутера. Подойдет любой tftp сервер, например, WinAgents TFTP Server, скачивая с официального сайта и запускаете установку, настроек практически не требуется. В папку сервера помещается файл прошивки, который будем записывать во флеш память роутера (по умолчанию это Cocuments and Settings — All Users — Application Data — Win Agents — TFTP Server — XT FTP Root). На сетевой карте компьютера устанавливаем IP-адрес сервера по умолчанию для роутеров TL-WR1043ND: 192.168.0.5 (192.168.0.2), а для роутера WDR4300ND: 192.168.1.100 хотя в процессе восстановления в консоли это будет видно, откуда пытается обновить прошивку роутер.

Во время восстановительных мероприятий должен быть запущен TFTP сервер, и в корневой папке должен находится файл прошивки ( *.bin ).

Разборка устройства и поиск нераспаянного serial интерфейса на плате

Процесс разборки делайте, как можно аккуратнее, не следует спешить, чрезмерно применять физическую силу. Модель роутера TL-WDR4300ND довольно просто разбирается, необходимо открутить все шурупы с нижней части устройства.

С моделью роутера TL-WR1043ND дела обстоят сложнее, во-первых, нужно раскрутить 2 шурупа, во-вторых, скрутить фиксаторы с разъемов антенн беспроводной wifi связи и утопить их полностью в корпус, в четвертых, выдвинуть на себя черную среднюю часть корпуса (П-образная ребристая рамка с дырками для подключения устройств и вентиляция), отщелкиваем по бокам две защелки и раскрываем корпус.

разобранный TL-WR1043ND

разобранный TL-WR1043ND

Процесс восстановления работоспособности роутера

Вот и добрались до главной части данного руководства. Что должно быть на данный момент:

  • разобранный и подготовленный роутер (возможно с припаянным коннектором к разъему serial на плате), сетевым кабелем соединен с компьютером через LAN1
  • кабель (можно предварительно подключить, можно уже вовремя включения роутера)
  • запущенный TFTP сервер
  • рабочая версия микрокода (прошивки) для вашего роутера, находящаяся в корневой папке tftp сервера
  • терминальная программа Putty, настроенная и готовая к соединению

Подключаем кабель к serial разъему на плате

Соединяем роутер и компьютер сетевым кабелем: LAN1 роутера и сетевая карта компьютера. На сетевой карте прописываем IPv4 адрес 192.168.1.100 для версии роутера WDR4300ND.

Подключение роутера к serial разъему WDR4300ND

Подключение роутера к serial разъему WDR4300ND

Включаем роутер и запускаем соединение в Putty

Если контакты были правильно подсоединены, то в окне терминального соединения мы увидим следующие периодически повторяющиеся строки:

U-boot DB120
DRAM: 128 MB
id read 0x100000ff
flash size 8MB, sector count = 128
Flash: 8 MB
Using default environment
In: serial
Out: serial
Err: serial
Het: ag934x enet_initialize…
Ho valid address in Flash. Using fixed address
wasp reset mask:c03300
WASP —-> S17 PHY *
: cfgl 0x7 cfg2 0x7114
athrs17_reg_init: complete
ethO up
ethO
Autobooting in 1 seconds

Данные строки повторяются с периодичностью 1-2 секунды, синхронно с этим роутер синхронно мигает всеми светодиодными индикаторами. Для начала ввода команд Вам необходимо успеть ввести команду tpl и нажать enter за 1 секунду в интервале после надписи Autobooting in 1 seconds и последующей перезагрузкой роутера, у меня данная операция получилась раза с пятого. Если все выполнено на экране Вы увидите предложение для ввода команд:

db12x>

Проверяем IP адрес tftp-сервера

tftpboot

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

dbl2x> tftpboot
dup 1 speed 1000
Warning: no boot file name; using ‘6F01A8C0.img’
Using eth0 device
TFTP from server 192.168.1.100; our IP address is 192.168.1.111
Filename ‘ 6F01A8C0.img’.
Load address: x8100000
Log: *
TFTP error: ‘Access violation’ (2)
Starting again

Скачивание прошивки роутером с tftp сервера

Вводим команду: tftpboot 0x81000000 factory-to-ddwrt4300.bin

где factory-to-ddwrt4300.bin имя файла прошивки, лежащее на вашем запущенном tftp сервере,

Если все верно, запустится процесс скачивания прошивки:

dbl2x> tftpboot 0x81000000 factory-to-ddwrt4300.bin
Using ethO device
TFTP from server 192.168.1.100 our IP address is 192.168.1.111
Filename ‘factory-to-ddwrt4300.bin’.
Load address: 0x81000000
Lg: ##############################################################
#################################################################
#################################################################

done
Bytes transferred = 8126464 (7c0000 hex)
dbl2x>

Последнее число 7c0000 нам еще пригодится, как итог знаем, что прошивка находится в ОЗУ роутера.

Очищаем область flash памяти, нужной для записи прошивки

Обычно, советуют сначала зачистить область, а потом скачивать прошивку, я считаю, что лучше перестраховаться и сначала скачать прошивку а уж потом вводить остальные команды.

Команда для роутера WDR4300NDerase 0x9f020000 +7c0000

для роутера WR1043ND адрес будет иметь такой вид 0xbf020000: erase 0xbf020000 +7c0000

должно произойти, что то подобное:

dbl2x> erase 0x9f020000 +7c0000
First 0x2 last 0x7d sector size 0x10000
125
Erased 124 sectors
dbl2x>

Запись образа микрокода на flash память роутера

Команда для роутера WDR4300NDcp.b 0x81000000 0x9f020000 0x7c0000

Для роутера WR1043NDcp.b 0x81000000 0xbf020000 0x7c0000

В окне отобразится следующее:

dbl2x> cp.b 0x81000000 0x9f020000 0x7c0000
Copy to Flash… write addr: 9f020000
done
dbl2x>

Если все так, значит процесс прошел успешно!

Перезагружаем роутер

Если роутер один раз мигнул всеми световыми индикаторами, и дальше пошло удачная загрузка, то Поздравляю, роутер восстановлен, можно заходить в WEB интерфейс (если вы восстановили прошивкой ddwrt или сборкой open-wrt с веб интерфейсом) дальше можно настраивать подобно моей инструкции.

Вот такой несложный процесс восстановления работоспособности роутеров TP-Link используя serial интерфейс. Помогает при реанимировании роутеров во время непредвиденных деструкивных действий с микрокодом (прошивкой) роутера.

Конечно есть еще один замечательный способ восстановления через так же нераспаянный разъем JTAG, но данный способ требует наличия программатора, и намного большего багажа знаний и опыта работы с «железом».

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

Вам может также понравиться...

1 комментарий

  1. Dmitriy:

    Подскажите где или откуда можно взять команды — 0x81000000 0x9f020000 0x7c0000, где подробно эти команды можно рассмотреть??? получается другой роутер другие команды???

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.