Мегафон

Tp link после неудачной прошивки. Восстановить роутер после неудачной прошивки. Как вернуть заводскую прошивку

Во время перепрошивки произошли непредвиденные ситуации: выключилось электропитание, принудительно через консоль сменили версию микрокода, предназначенную совершенно для другой модели устройства или другой железной версии устройства (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 качаем отсюда 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 интерфейсов и их распиновка.

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

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

  • использовать 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 интерфейсу роутера

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

Для ввода команд необходима любая терминальная программа, например 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 шурупа, во-вторых, скрутить фиксаторы с разъемов антенн беспроводной связи и утопить их полностью в корпус, в четвертых, выдвинуть на себя черную среднюю часть корпуса (П-образная ребристая рамка с дырками для подключения устройств и вентиляция), отщелкиваем по бокам две защелки и раскрываем корпус.

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

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

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

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

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

Проверяем 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 сервера

Вводим команду:

где 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 :

Для роутера WR1043ND : cp.b 0x81000000 0xbf020000 0x7c0000

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

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

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

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

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

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

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

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

Привет! Да уж, давненько я не публиковал новых статей. Изучал новые направления. Например, активно занялся теорией и практикой в электронике, в частности разработкой устройств на микроконтроллерах Atmel AVR. Но речь сегодня пойдёт не совсем об этом, хотя и планирую добавить раздел «Электроника» в свой блог. Речь пойдёт от восстановлении работоспособности роутера после неудачной прошивки.

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

Режим восстановления

На большинстве современных роутеров присутствует режим восстановления после неудачной прошивки. Если это роутеры от D-Link(например, я всё тестировал на DIR320NRU), то как правило вход этот режим выглядит так:

  1. Подключаем LAN-порт роутера к компьютеру по локальной сети. Открываем сетевые соединения и настраиваем подключение по локальной сети следующим образом(для DIR320NRU):

    IP: 192.168.0.2
    Маска подсети: 255.255.255.0

  2. Зажимаем кнопку «RESET» на задней стенке роутера, например, зубочисткой.
  3. Отключаем питание роутера, например, вытаскиваем штекер питания.
  4. Затем, вставляем штекер питания. На панели начинает моргать светодиод питания. Выжидаем несколько секунд.
  5. Отпускаем кнопку «RESET» и пытаемся «зайти» через браузер в администраторскую панель роутера, введя в браузере дефолтовый адрес роутера(для DIR320NRU – 192.168.0.1).
  6. Видим форму загрузки прошивки. Выбираем прошивку для нашего роутера. Нажимаем «обновить».

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

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

Восстановление через UART

Такой метод восстановления, скорее для гуру, а не для новичков. Чтобы восстановить роутер через UART, без работ с паяльником уже не обойтись. А также следует чётко понимать что делаешь, так как раскрытие корпуса роутера автоматический лишает вас любых гарантий.

Для восстановления, нам потребует переходник с USB на UART. Для этих целей сгодится, например, ненужный шнурок для подключения телефона Siemens, который выполнен на микросхеме Profilic PL2303. Или же заводской переходник USB-UART. А также паяльник и отвертка, чтобы вскрыть корпус. Все действия описанные далее, тестировались на DIR320-NRU и переходником PL2303.

  1. Раскрываем переходник PL2303. Находим контактные площадки к которым припаяны провода идущие к сотовому. Отпаиваем провода от всех проводников. Сами контакты подписаны прямо на плате. Находим линии: GND, Rx и Tx и припаиваем к ним трехжильный провод, лучше цветной, чтобы не запутаться потом.
  2. Раскручиваем сам роутер. Находим там также 4 контактные площадки расположенные в ряд. Реже бывают уже выведенные штыревые разъёмы. Подписаны все они ещё реже. Вы можете спросить, а как их узнать? А вот это интересный вопрос. Ищи фото разъёмов для вашего роутера в Интернете. Здесь ж приведено фото с указанием разъёма для всё того же Dir320-NRU. И ещё один момент, если у вас есть под рукой мультиметр, то можете попробовать поискать ряд из 4-ёх контактов, на одном из которых напряжение питания 3.3 В. Корпус можно найти например, на корпусе USB разъёма на плате.
  3. Далее переходим снова к переходнику. Устанавливаем драйвера на переходник, подключаем переходник к компьютеру. Кстати, припаянный нами выход Rx, ни что иное, как линия приёмника COM порта, а выход Tx – передатчика. Для того, чтобы заработала передача данных, мы должны выход приёмник (Rx) шнура соединить со входом передатчика (Tx) UART у роутера, а выход передатчика шнура (Tx) к приёмнику роутера (Rx). То есть, крест на крест. Вообщем, припаиваем проводки.
  4. Теперь, когда всё подключено, запускаем на компьютере программу Putty. Выбираем тип соединения: Serial. Указываем в настройках номер виртуального Com-порта, на котором у нас переходник PL2303. И устанавливаем скорость 56600 бод. Нажимаем подключиться и видим черное окно Putty.
  5. А теперь самое интересное. Отключаем на время питание от роутера или просто перезагружаем его кнопкой «RESET». И видим в терминале лог загрузки бутлодера. После загрузки бутлоадера, появляется сообщение о выборе режима. Несколько режимов, такие как обычная загрузка ОС, перепрошивка роутера через tftp и другие типы загрузок и обновления. Если игнорировать это сообщение, то через некоторое время начинается загрузка основной прошивки и лог загрузки также выводится в терминал Putty.

Если вместо лога загрузки вы видете «бегающие квакозябры», попробуйте поиграться со стандартными скоростями передачи для COM-порта, такими как: 19200, 28800, 38400 и т.д.

Кстати, не давно купил себе на сайте midexpress.com.ua , новый планшетник. Ну и что, что Китай, зато недорого. Сейчас всё – Китай.:)