К основному контенту

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

24.02.2017

Содержание

  • 1 Подготовительный этап
  • 2 Получение рабочей прошивки для роутера
  • 3 4-х контактный разъем Serial интерфейса на плате
  • 4 Соединительный кабель
  • 5 Терминальная программа
  • 6 TFTP сервер
  • 7 Разборка устройства и поиск нераспаянного serial интерфейса на плате
  • 8 Процесс восстановления работоспособности роутера
  • 9 Подключаем кабель к serial разъему на плате
    • 9.1 Включаем роутер и запускаем соединение в Putty
    • 9.2 Проверяем IP адрес tftp-сервера
    • 9.3 Скачивание прошивки роутером с tftp сервера
    • 9.4 Очищаем область flash памяти, нужной для записи прошивки
    • 9.5 Запись образа микрокода на flash память роутера
    • 9.6 Перезагружаем роутер

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

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

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

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

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

  • роутер подключается к serial интерфейсу роутера для подачи команд через консоль
  • роутер подключен через сетевой интерфейс LAN1 роутера подключен к сетевой карте компьютера
  • на компьютере запускаем TFTP сервер с файлом прошивки
  • введя определенную последовательность команд, роутер качает прошивку с 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-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 разъем роутераКабель RS232RXTXTXRXGNDGND

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

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

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


    Настройка 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

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

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

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

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

    Соединяем роутер и компьютер сетевым кабелем: LAN1 роутера и сетевая карта компьютера. На сетевой карте прописываем IPv4 адрес 192.168.1.100 для версии роутера 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 памяти, нужной для записи прошивки

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

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

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

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

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

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

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

    Для роутера WR1043ND: cp.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, но данный способ требует наличия программатора, и намного большего багажа знаний и опыта работы с «железом».

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

    Комментарии


    Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

    Популярные сообщения из этого блога

    Лучшие плагины для OBS Studio

    Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

    Лучшие аналоги Paint для Linux

    Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

    Подключение OneDrive в Linux

    OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…