четвер, 11 грудня 2008 р.

D-LINK DIR-400 + DD-WRT

Як писало на сайті D-Link'а ставлячи прошивку стороннього виробника ми втрачаєм гарантію. Я вирішив ризикнути. Користувався інструкцією з сайту http://www.dd-wrt.com , а саме http://www.dd-wrt.com/wiki/index.php/Installation#D-Link_DIR-400 .
Коротка інструкція.
Для роботи нам потрібно Putty, TFTPserver, ну і саму прошивку (linux.bin та dir400-firmware.bin). Копіюєм TFTPserver (tftpsrv.exe) та 2 файли прошивки в одну директорію. Міняєм на роутері ІР на 192.168.0.1, та свою ІР на 192.168.0.2.
Запускаєм Putty та налаштовуєм зєднання на 192.168.0.1 порт 9000, але до роутера ще не підключаемся.
Запускаєм пінг до Д-Лінка Пуск - Виконати - ping -t 192.168.0.1. Не закриваючи вікно з пінгом, переключаемся на Putty і розміщаем вікно так щоб бачити вікно з пінгом. Виключаєм і включаєм живлення роутера і слідкуєм за пінгом до нього. Як тільки бачим 2 вдалих пінга, зразу підкючаємся до нього за допомогою Putty.
Починаєм вводити команди:

RedBoot> ip_address -l 192.168.0.1/24 -h 192.168.0.2 <еntеr>
P: 192.168.0.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.0.2


RedBoot> fis init <еntеr>

About to initialize [format] FLASH image system - continue (y/n)? y
<еntеr>

*** Initialize FLASH Image System
And a descriptor for the configuration data size = 10000

… Erase from 0xbffe0000-0xbfff0000: .

… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .


RedBoot> load -r -b 0x80041000 linux.bin
<еntеr>

Using default protocol (TFTP)

Raw file loaded 0×80041000-0×803cffff, assumed entry at 0×80041000


RedBoot> fis create linux
<еntеr>

… Erase from 0xbfc40000-0xbffcf000: …………………………………………………

… Program from 0×80041000-0×803d0000 at 0xbfc40000: …………………………………………………

prog_ok

flash_addr = 0xbfc40000

mem_addr = 0×80041000

entry_addr = 0×80041000

length = 0×38f000

img_size = 0×38f000

… Erase from 0xbffe0000-0xbfff0000: .

… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .


RedBoot> fconfig
<еntеr>


Run script at boot: true <еntеr>

Boot script:

.. fis load -l vmlinux.bin.l7

.. go

Enter script, terminate with empty line


>> fis load -l linux
<еntеr>


>> exec
<еntеr>


>>
<еntеr>


Boot script timeout (1000ms resolution): 2 <еntеr>


Use BOOTP for network configuration: false
<еntеr>


Gateway IP address:
<еntеr>


Local IP address: 192.168.0.1 <еntеr>


Local IP address mask:
<еntеr>


Default server IP address: 192.168.0.100 <еntеr>


Console baud rate: 9600 <еntеr>


GDB connection port: 9000
<еntеr>


Force console for special debug messages: false
<еntеr>


Network debug at boot time: false
<еntеr>


Update RedBoot non-volatile configuration - continue (y/n)? y
<еntеr>

… Erase from 0xbffe0000-0xbfff0000: .

… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .


RedBoot> reset
<еntеr>

Роутер пішов на перезагрузку. Якщо все було зроблено правильно, то приблизно через 2 хв він буде доступний за адресою 192.168.1.1. Зайти на нього можна за адресою http://192.168.1.1/ попередньо змінивши свою ІР на ІР з діапазону 192.168.1.2-192.168.1.254.

В мене щось пішло не так і знайти Д-Лінк за адресою 192.168.1.1 я не зміг, пінг не йшов. Аналогічне було з 192.168.0.1. На роутера світився тільки Power та Lan або Wan порт куди був підключений мій комп. Вичитав в гуглі кілька варіантів:
  1. Гарячий ресет (30/30/30) - при включеному живленні натиснути кнопку ресет на 30 секунд, не відпускаючи її виключити живлення на 30 секунд і, знову ж таки не відпускаючи ресета, включити живлення і протримати ще 30 секунд. Мені не допомогло:(.
  2. Доступ ло полегшеного Web-інтерфейсу - Виставити на компі ІР з діапазону 192.168.0.2 - 192.168.0.254, включити роутер і затиснути ресет доти поки не почне блимати індикатор статусу. Тоді зайти на http://192.168.0.1. Появиться сторінка з можливістю завантаження нової прошивки. Пробував завантажувати linux.bin та dir400-firmware.bin, не завантажувалось взагалі, видавало помилку, прошивки з http://ftp.dlink.ru/pub/Router/DIR-400/Firmware/ завантажувалися до 14-15% тоді роутер перезагружався і повертався в попередній стан - мертвий:)
  3. Пробував закидати прошивку в роутер напряму через tftp: Пуск - Виполнить tftp -i 192.168.0.1 put DIR400A1_FW101B79.bin та tftp -i 192.168.0.1 put DIR400A1_FW101B79.bin. Не допомогло.
  4. Вже думав що потрібно буде перепрошивати через JTAG начитався статей, та зібрався на радіобазар за мікросхемою та платою, але до того не дійшло:)

Чудом вдалось підключитися!!!

Висів запущений TFTPserver, ІР компютера була 192.168.0.2, роутер був виключений. Putty, був налаштований на 192.168.0.1 порт 9000. включивши роутер, декілька разів спробував підключитися до нього. ДОПОМОГЛО! В вікні Putty висвітилось RedBoot>!!!
Ну а далі акуратненько дотримуючись інструкції, я ще раз виконав всі дії по встановленню DD-WRT описані вище. Після reset , через кілька хвилин, я зайшов на http://192.168.1.1. На це все було потрачено кілька вечорів:). Перспектива бути кілька днів без інтернету мені не подобалась і в перший ж день я придбав ZyXEL P-330W. З ним проблем не було взагалі, тому Д-Лінк як роутер був мені вже не потрібен, і я вирішив поставити назад рідну прошивку....:)
Далі буде....

1 коментар:

  1. http://www.dd-wrt.com/dd-wrtv2/downloads/v24-sp1/Consumer/Dlink/DIR-400/flashing.txt
    все пошло и работает отлично, едиственное что пришлось putty под виндой юзать, на линухе телнет упорно ^C не понимал.

    ВідповістиВидалити