Перепрошивка DIR-400

Если вдруг захотелось попользовать вместо глючной прошивки от D-Link’а глючную
прошивку от вообще хуй знает кого, то эта статья для вас 🙂

Что нам понадобится:
Собственно сам роутер D-Link DIR-400
DIR400-2Версия прошивкиDIR-400

Качаем TFTPserver тут

Прошивку берем тут

Качаем PuTTY отсюда

Устанавливаем и запускаем TFTP-сервер
(в меню Options указываем в поле TFTP filesystem root каталог с прошивкой)
TFTP-сервер
Прописываем статический IP-адрес 192.168.0.2 с маской подсети 255.255.255.0
на интерфейс смотрящий в роутер
Сетевые настройки
Соединяем компьютер с WAN-портом роутера

Подготавливаем сессию PuTTY с настройками:
Host Name (or IP address) — 192.168.0.1
Port — 9000
Connection type — Telnet
Close window on exit — Never

Сессия PuTTY
Запускаем пинг на роутер: Пуск — Выполнить — ping 192.168.0.1 -t

Включаем DIR-400 и на втором успешном ответе от роутера
запускаем подготовленную сессию PuTTY

Жмем Ctrl+C как только увидите что загрузочный скрипт запустился
(если Putty версии 0.60 или новее, то ничего не жмем)

In RedBoot
Далее выполняем команды:

RedBoot> ip_address -l 192.168.0.1/24 -h 192.168.0.2
IP: 192.168.0.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.0.2

RedBoot> fis init
About to initialize [format] FLASH image system — continue (y/n)? y
*** Initialize FLASH Image System
And a descriptor for the configuration data size = 10000
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
RedBoot> load -r -b 0x80041000 linux.bin
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x803aefff, assumed entry at 0x80041000
RedBoot>

TFTP-сервер спросит давать ли доступ, жмем «Grant Access»

TFTP запрос
На следующем шаге ни в коем случае не выключать питание
роутера и не выдергивать сетевой кабель

RedBoot> fis create linux
… Erase from 0xbfc40000-0xbffae000: ……………………………………………….
… Program from 0x80041000-0x803af000 at 0xbfc40000: ……………………………
prog_ok
flash_addr = 0xbfc40000
mem_addr = 0x80041000
entry_addr = 0x80041000
length = 0x36e000
img_size = 0x36e000
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
RedBoot> fconfig
Run script at boot: true
Boot script:
.. fis load -l linux2
.. exec
Enter script, terminate with empty line
>> fis load -l linux
>> exec
>>
Boot script timeout (1000ms resolution): 2
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: 192.168.0.1
Local IP address mask:
Default server IP address: 192.168.0.100
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration — continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
RedBoot> reset

Перетыкаем кабель соединяющий компьютер с роутером из WAN порта в LAN порт
Меняем IP-адрес интерфейса смотрящего в роутер на 192.168.1.2/255.255.255.0
Роутер должен быть доступен как http://192.168.1.1

Результат
ssh



11 сентября 2009.   Комментарии: Комментарии к записи Перепрошивка DIR-400 отключены.    Размещено в Железо