Відновлення роутерів 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 інтерфейс - це необхідність повністю розібрати пристрій , можливо доведеться і працювати з паяльником.Алгоритм процесу:
Якщо все зроблено вірно відбудеться відновлення роботи пристрою.
Отримання робочої прошивки для роутера
Для прошивки необхідна робоча версія прошивки для Вашої моделі роутера, для чого необхідно точно дізнаєтеся модель роутера і його ревізію.
Якщо Ви будите відновлювати працездатність роутера альтернативними версіями прошивок (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, але даний спосіб вимагає наявності програматора, і набагато більшого багажу знань і досвіду роботи з «залізом».
Сподіваюся дана інструкція кому-небудь допоможе відновити пристрій, заощадить час для вивчення купи матеріалу, побереже нерви і фінансові ресурси.Все просто, якщо ставиться до всього спокійно.
.