Сказ о том как я роутер восстанавливал

Добрый день. Перед Вами виновник сего торжества: Netgear WNR2200 И далее я Вам поведаю интересную историю, о том, что не следует делать с роутером.

Предыстория

Когда я только переехал в собственную квартиру, я естественно сразу же провел интернет. Встал выбор "Какой роутер брать?", и я вспомнил, как один знакомый системный администратор из Москвы посоветовал мне брать роутеры фирмы Netgear (о них я тогда услышал впервые). Ну и собственно выбор пал (на тот момент) на простенький Netgear WNR1000. Я был очень доволен результатом, при условии что он работал 24/7, перезагружать мне его приходилось, только раз в полгода (ничто не идеально). Так он у меня проработал 3 года, после чего его отдал родителям и думал приобрести себе что-нибудь посуровее. Однако, на момент покупки нового, я был еще студентом и роутер от Apple или навороченный роутер от ASUS позволить я себе не мог, поэтому купил просто модель постарше - Netgear WNR2200. Тут то и начались выкрутасы.

  • Первое, что меня очень огорчило, это отсутствие новой прошивки v2 для роутера (хотя на тот же WNR1000 она есть и хорошо работает).
  • Второе, что на своей родной прошивке переодически роутер начинает "резать" скорость, и приходится его перезагружать достаточно часто.

Мной было решено поставить "кастомную" прошивку DD-WRT, что моей проблемы не исправило. DD-WRT хоть и была более гибкая и навороченная, но точно также спустякакое то время начинала "резать" скорость. В итоге кое как нашел более-менее рабочий билд Open-WRT. Это и было моей ошибкой. После настройки сети (с которой, кстати я даже не разобрался до конца) роутер зациклился в собственной сети (то есть я закрыл к нему любой доступ извне). Я этого не особо боялся, ведь есть же волшебная кнопка "Reset". Тут я ошибся во второй раз. После применения конфига, сброс произвести не удалось. Кнопка просто не работала. Никак. TFTP не поднят, в общем, все очень грустно.

Итог: КИРПИЧ

История восстановления

После активного гугления всевозможной информации, о том, как можно достучаться до роутера мимо сетевых интерфейсов. И тут я нашел информацию, что на большинстве роутеров есть доступ непосредственно к SoC непосредственно через серийный кабель (COM-кабель, он же DB9F).

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

Pin 1 - помечен белой точкой на плате.

Загвоздка была в одном: на COM-порте было всего 3 провода (Rx, Tx, GND) питания на данном кабеле не было. Но я прочитал, что питание требуется только на очень небольшом количестве роутеров, чем я далее пренебрег. Припаял COM-кабель к плате, загрузил PuTTY. В настройках необходимо выставить скорость: 115200.

Включаю роутер, а в консоль начинает сыпаться мусор. Отсюда 2 вывода - метод работает. Но в методе что то не так. Опять же нашел на просторах интернета заметку, что если по UART в консоль сыпется мусор, значит нужно искать преобразователи. Пришлось купить Преобразователь USB-UART на базе PL2303 с разъемом USB-A.

После удачной пайки и подключения роутера, все завелось и в консоль стали падать сообщения загрузки, также можно было отправлять команды через консоль.

Момент истины

Ну а теперь все просто. Сбрасываем роутер:

firstboot -y
mtd -r erase rootfs_data

Подключаем WAN роутера, уже к работающему и подключенному интернету. Проверяем соединение с интернетом:

ping 8.8.8.8

Скачиваем прошивку DD-WRT

wget -O /tmp/firmware.img http://www.dd-wrt.com/routerdb/de/download/Netgear/WNR2200/v1/wnr2200-factory_WW.img/4053

И устанавливаем:

mtd -r write /tmp/firmware.img firmware

Но не стоит быстро отключаться от UART, т.к. я в первый раз накосячил и установил через mtd webflash.bin. Как итог - прошивка не завелась вообще, и роутер перешел в режим восстановления по TFTP. Через него мне удалось восстановить DD-WRT.