В даний час, маршрутизатор стоїть вдома (і не тільки) практично у кожного. Величезна кількість різних моделей відомих і не дуже виробників, характеристики, починаючи з "калькулятора" і закінчуючи практично готовим сервером. І як наслідок - ще більша кількість різних прошивок для цих пристроїв. Причому, часто виробник випускає кілька ревізій однієї і тієї ж моделі, і прошивки для них так само не сумісні. Саме з такою проблемою я зіткнувся, коли купив в минулому році одну "бюджетку" з назвою "Tenda W311R +". Для своєї ціни (на той момент всього 120 грн.), Цей прилад мав цілком адекватні характеристики.
Перший місяць використання пройшов гладко - налаштував і забув. А ось коли мені знадобилося зробити "кидок" портів (піднімав сервер), стало все дуже сумно - в юзер меню все виставлялося, але залізо на ці галочки реагувати "не хотіло". Пошукавши інформацію в інтернеті, зробив висновок, що це глюк даної версії прошивки. І висновок став очевидним: необхідно перепрошити пристрій.
Як завжди водиться, знайшов прошивку (при цьому не глянувши на те, що hardware ревізія відмінна від моєї) і залив на роутер через веб-інтерфейс. Після перезавантаження отримав миготливий цеглинка, і забув про нього на якийсь час.
Але не так давно натрапив на нього знову і вирішив відновити. Спочатку вирішив просто віднести в сервіс, так як досвіду перепрошівок чогось подібного не було. Там мені сказали: "На цю модель немає ні прошивок, ні документації, так що несіть назад додому!". Приніс, і став шерстити інтернет, на предмет опису самого процесу. На жаль, саме для цього девайса результатів не знайшлося, зате був опис прошивки роутера D-Link DIB-120.
Отже, що нам буде потрібно:
- Перехідник USB-UART
- Програма-термінал (рекомендую Putty)
- Сервер TFTP (мною використовувався Open TFTP Server)
- Власне сам роутер
Все, кабель інтернету можна від'єднувати, нічого качати більше не потрібно. Тепер опис процесу прошивки:
Для початку, потрібно розкрити корпус пристрою. Зробити це досить легко - відвернути шурупи, які заховані під гумовими накладками, і акуратно зняти кришку, не забуваючи про засувки з боків.
Далі, потрібно підпаяти до UART на платі:
Відразу хочу зауважити, що на фото вище я вказав терморегулятори для плати. Перехідник підключати TX-> RX, RX-> TX.
Після цієї процедури підключаємо USB-UART до ПК, запускаємо Putty і виставляємо настройки:
Номер COM порту може відрізнятися, вписуйте свій.
Далі можна подавати живлення і спостерігати схожу картину (на момент написання статті роутер вже був відновлений, з цього у мене лог нормального завантаження):
Але так як нам потрібно потрапити в режим відновлення (по-іншому альтернативний завантажувач, CFE), то відключаємо харчування, затискаємо на клавіатурі Ctrl + C і знову підключаємо харчування (не відпускаючи клавіш!):
Для прошивки потрібно "підняти" TFTP сервер в локальній мережі. Викачуємо Open TFTP Server, разархивируем в будь-який зручний місце. В папку з файлами сервера покладемо завантажену прошивку (формат .trx або .bin), і перейменуємо її в щось більш читабельним (наприклад, flash.trx):
Запускаємо сервер, заходимо в налаштування і знімаємо всі галочки, крім TFTP Server:
Все готово для прошивки!
Починається найголовніше - прошивка. Для цього потрібно в терміналі прописати: flash -noheader 192.168.1.2:flash.trx flash0.trx. де flash.trx - ваша прошивка. Якщо ви все зробили правильно, то роутер напише щось на кшталт "вдало". Якщо не перезавантажиться сам, можна перезавантажити командою reboot. Все, прошивка вдало завершена! Можна від'єднувати "шнурок" USB - UART, закривати корпус, і надалі стежити, для якої версії скачується прошивка :). Якщо у вас маршрутизатор іншої моделі або виробника, то дана інструкція може бути лише основою. Шукайте інформацію про свою модель в мережі, або ризикуєте отримати повноцінний цегла!
Про всяк випадок прикріпив файл прошивки до статті.