Відновлення роутерів 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

Головне не помилитися з версією роутера!

4-х контактний роз'єм Serial інтерфейсу на платі

Розташування serial інтерфейсів і їх терморегулятори.

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

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

Налаштування Putty, необхідно написати свій порт (див. Диспетчер пристроїв)

TFTP сервер

Під час відновлювальних заходів повинен бути запущений TFTP сервер, і в кореневій папці повинен знаходиться файл прошивки (* .bin).

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

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

З моделлю роутера TL-WR1043ND справи йдуть складніше, по-перше, потрібно розкрутити 2 шурупа, по-друге, скрутити фіксатори з роз'ємів антен бездротового wifi зв'язку і втопити їх повністю в корпус, по-четверте, висунути на себе чорну середню частину корпусу (П -образна ребриста рамка з дірками для підключення пристроїв і вентиляція), отщелкивали з боків дві засувки і розкриваємо корпус.

Процес відновлення працездатності роутера

Ось і дісталися до головної частини даного керівництва. Що повинно бути на даний момент:

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

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

Підключення роутера до 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 та подальшої перезавантаженням роутера, у мене дана операція вийшла рази з п'ятого. Якщо все виконано на екрані Ви побачите пропозицію для введення команд:

dbl2x> tftpboot
dup 1 speed тисяча
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 сервері,

Якщо все вірно, запуститься процес скачування прошивки:

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

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

Очищаємо область flash пам'яті, потрібної для запису прошивки

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

має відбутися, що щось подібне:

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

У вікні відобразиться наступне:

Якщо все так, значить процес пройшов успішно!

перезавантажуємо роутер

Якщо роутер один раз мигнув усіма світловими індикаторами, і далі пішло вдала завантаження, то Вітаю, роутер відновлений, можна заходити в WEB інтерфейс (якщо ви відновили прошивкою ddwrt або складанням open-wrt з веб інтерфейсом) далі можна налаштовувати подібно моєї інструкції.

Ось такий нескладний процес відновлення працездатності роутерів TP-Link використовуючи serial інтерфейс. Допомагає при реанімування роутерів під час непередбачених деструківних дій з микрокодом (прошивкою) роутера.

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

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