Відновлення D-link DVG-N5204SP через UART

Відновлення D-link DVG-N5204SP через UART

Тема прошивок роутерів через UART інтерфейс сильно вилучена, ізжевана, але я не зміг знайти інформації саме по своєму роутеру, тому думаю, що дана тема буде корисна, тим більше, що на форумах є кілька питань з цього приводу, так і залишилися без відповіді.

Потрапив мені в руки сабжевий роутер, потрапив на халяву, так як «щось не працювало».

Принісши додому, виявив, що роутер навідріз відмовляється піднімати LAN порти, при тому, що іншими індикаторами при завантаженні він підмаргує, і WAN порт піднімає. Скидання кнопкою Reset не допомогло, хоча лампочки вели себе так само, як при ресете.

Ну що ж, халява є халява, і вже дуже хотілося використовувати цей роутер для виходу в інтернет через 3G\4G операторські флешки в заміському будинку. Та ще й з можливістю підняття на ньому SIP Мегафона заради інтересу.

Начитавшись мануалів, зрозумів, що жоден з описаних способів входу в Emergency mode не працював, хоча при включенні харчування і утриманні кнопки Reset роутер явно входив в якийсь режим, в якому нормально піднімалися LAN порти, але описані в мануалах мережі 192.168.80.20/24, 192.168.1.2/24, 192.168.0.2/24, 192.168.8.10/24 не підходили, жодна адреса не відповідала (192.168.80.21, 192.168.1.1, 192.168.0.1, 192.168.8.254).

Я подумав, що настав час відкрити цю залізку, щоб подивитися на нутрощі:

Був помічений вже розпаяний UART, в нижньому лівому кутку, над світлодіодом WAN, залишалося тільки підчепити адаптер і використовувати.

У місцевому магазині був куплений DCU-15 кабель на PL2303 за 30р, розібраний і припаяний до потрібних пін (на пайку не лаятися, все робилося китайським газовим паяльником за 150р, який ледве гріє, просто захотілося дати і йому шанс прожити життя не дарма):

Мануалів щодо підключення телефонних дата-кабелів до портів UART повно, тому не буду ще раз описувати.

Для з'єднання використовував Putty, адекватна передача зав'язалася на швидкості 38400 бод, її необхідно виставляти і в Putty і в налаштуваннях USB-COM порту:

Параметри

При включенні, роутер бадьоро видав список, запитуючи мене, що я хотів би зробити:

DDR DRAM 32 MB @ 195 MHz,SPI FLASH 8 M

---Octtel(RTL89xxB)at 2011.05.16-13:42+0800 version 1.1.26.0 [16bit](390MHz)

---Wireless regDomain---MAC Address: 84:c9:b2:xx:xx:xx

Press 'i' to update system image.

Press 'k' to update kernel image.

Press 'r' to update root fs image.

Press 'l' to update loader.

Press 'c' to change target IP

Press 't' to change TFTP server IP

Press 'z' to change network MAC number config.

Press 'm' to change MAC and SN config.

Press 'y' to change wireless regDomain config.

У мережі багато мануалів з оновлення\відновлення прошивок для D-link DIR-300 і подібних, там описується відновлення прошивки безпосередньо завантажуючи з tftp сервера, але жоден пункт апдейту цього роутера не запитував потрібний файл (файл прошивки, скачаний з FTP D-link'a має розширення .pack, і вже чекав закачування на tftp.

Впав я тимчасово в зневіру, і подумав, може зможу чого виудити з логів початкового завантаження роутера. Якщо хто хоче подивитися, викладаю на відомий ресурс:

http://pastebin.com/hS9zVx5z

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

У логах не знайшов жодної згадки про доступні мережі.

Після повного завантаження пристрою з'явилася можливість користуватися введенням команд, що і було реалізовано:

# ifconfig

br0 Link encap:Ethernet HWaddr 84:C9:B2:XX:XX:XX

inet addr:192.168.8.254 Bcast:192.168.8.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:64

TX packets:41 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:23275 (22.7 KiB) TX bytes:0 (0.0 B)

eth0 Link encap:Ethernet HWaddr 84:C9:B2:XX:XX:XX

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:41 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:128

RX bytes:0 (0.0 B) TX bytes:1722 (1.6 KiB)

Interrupt:15

eth1 Link encap:Ethernet HWaddr 84:C9:B2:XX:XX:XX

inet addr: 192.168.8.254 Bcast:192.168.8.255 Mask:255.255.255.252

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:6320 errors:0 dropped:0 overruns:0 frame:0

TX packets:1562 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:128

RX bytes:1176595 (1.1 MiB) TX bytes:1301150 (1.2 MiB)

Interrupt:15

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:14 errors:0 dropped:0 overruns:0 frame:0

TX packets:14 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:1100 (1.0 KiB) TX bytes:1100 (1.0 KiB)

Як видно, інтерфейси br0 і eth1 мають однакові IP, але у випадку з eth1 сконфігурована звичайна лінкова мережа\30.

Вирішено було підключити кабель до WAN порту для перевірки цієї мережі. Роутер підняв порт, а в консолі весело вивів:

NCS: Connection WAN established, IP = 192.168.8.254 Subnet Mask = 255.255.255.252

З думками «ну вже тепер ти ні куди від мене не сховаєшся», я поліз забивати в мережеву карту 192.168.8.253/30

Всі 4 відправлених пакети не повернулися живими, але роутер в консолі відгукнувся:

NCS: Icmp-Smurf attack detected, SA=192.168.8.253 DA=192.168.8.254

NCS: Icmp-Smurf attack detected, SA=192.168.8.253 DA=192.168.8.254

NCS: Icmp-Smurf attack detected, SA=192.168.8.253 DA=192.168.8.254

NCS: Icmp-Smurf attack detected, SA=192.168.8.253 DA=192.168.8.254

Наступна спроба по-звичці зайти через telnet увінчалася успіхом, відразу ж поліз у браузер запускати веб-морду. Запустилася!!! Радості не було меж. Тепер належало спробувати відресетити його через інтерфейс, прошивку ці роутери погоджуються заливати через tftp тільки з IP 192.168.8.56, тому на даному етапі думати про прошивку було рано.

Що дивно, так це налаштування його WAN інтерфейсу, які він світив:

Після ресета через веб-морду роутер перестав світитися через WAN, і LAN інтерфейси теж не піднімалися. Зате піднявся WLAN.

Було вирішено пустити йому в лоб:

# ifconfig br0 down

# ifconfig br0 up

Після підключення кабелю в LAN порт лампочка весело заморгала.

Роутер був успішно прошитий, підключений до інтернету через 3G модем. На ньому був піднятий SIP Мегафона, мрії збуваються.

Потім його чекає довічний відпочинок на чистому повітрі за містом, буде охороняти ділянку веб-камерою.

Дякую за увагу! Буду радий адекватній критиці.

Image