Прошиваем маршрутизатор DIR-300 альтернативной прошивкой DD-WRT.
Подготовка к прошивке:
1. Скачиваем с сайта dd-wrt.com последнюю прошивку для маршрутизатора.
2. Скачиваем и устанавливаем TFTP-Сервер.
3. Для данной операции нам необходим telnet-клиент. В принципе можно воспользоваться стандартным клиентом Windows (Пуск -> Выполнить -> cmd -> telnet). Можно воспользоваться и альтернативой — TeraTerm, Putty, SecureCRT.
Внимание! Все действия Вы производите только на свой страх и риск. Администрация сайта не несет ответственности за повреждения Ваших устройств.
Последовательность действий:
шаг 1. Распаковываем архив с прошивкой в корне диска С.
шаг 2. Запускаем TFTP-сервер. Указываем ему папку где лежат файлы прошивки.
шаг 3. Подключаем маршрутизатор DIR-300 к компьютеру, но не через LAN а через WAN-порт (он помечен как Internet). Отключаем питание маршрутизатора (если оно было подключено).
шаг 4. Установливаем ip-адрес компьютера: 192.168.20.82, маска: 255.255.255.0, шлюз: 192.168.20.81.
примечание: в зависимости от версии устанавливаемой прошивки, в некоторых случаях ip-адрес компьютера необходимо установить 192.168.20.80 , маска: 255.255.255.0, шлюз: 192.168.20.81.
шаг 5. Теперь нам надо войти в режим аварийного восстановления прошивки. Для этого нажимаем и удерживаем кнопку RESET (на задней панели маршрутизатора). Не отпуская ее, подключаем питание. Ждем 30 секунд с момента включения маршрутизатора и отпускаем RESET.
шаг 6. Запускаем телнет-клиент и подключаемся к 192.168.20.81 на порт 9000.
Если всё сделали правильно, то в окне появится приветствие командной строки сервисного режима модема — надпись RedBoot>. Возможно с первого раза и не получится — сервисный режим ждет подключения в течение всего 1 секунды примерно через 5 секунд после начала загрузки маршрутизатора. Если ее нет — то в одном из шагов допушена ошибка.
шаг 7. Загружаем в маршрутизатор временный загрузчик следующей командой:
RedBoot> load ap61.ram
Ответ на эту команду должен быть таким:
Using default protocol (TFTP)
Entry point: 0x800410bc, address range: 0x80041000-0x800680d8
Следующая команда:
RedBoot> go
Если телнет-соединение вдруг прервется – это нормально. Главное — не перезагружать маршрутизатор и не отключать его питание.
шаг 8. Переключаем сетевой кабель из разъёма WAN в разъём LAN1 маршрутизатора.
шаг 9. Теперь меняем ip-адрес компьютера на 192.168.1.2, маска: 255.255.255.0, шлюз: 192.168.1.1.
шаг 10. Подключаемся телнетом к 192.168.1.1 на порт 9000.
Если соединение установилось — вводим (именно вводим а не копиуем) следующие команды:
DD-WRT> fconfig -i
Initialize non-volatile configuration – continue (y/n)? y
Run script at boot: false
Use BOOTP for network configuration: true
Default server IP address:
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: .
DD-WRT> fis init
About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x807f0000-0x80800000 at 0xbffe0000: .
DD-WRT> ip_address -h 192.168.1.2
Default server: 192.168.1.23
DD-WRT> load -r -b %{FREEMEMLO} ap61.rom
Using default protocol (TFTP)
Raw file loaded 0x80080000-0x800a8717, assumed entry at 0x80080000
DD-WRT> fis create -l 0?30000 -e 0xbfc00000 RedBoot
(здесть ключ -l означает первую букву слова «linux»)
An image named ‘RedBoot’ exists – continue (y/n)? y
… Erase from 0xbfc00000-0xbfc30000: …
… Program from 0x80080000-0x800a8718 at 0xbfc00000: …
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x807f0000-0x80800000 at 0xbffe0000: .
DD-WRT> reset
После последней команды маршрутизатор уйдет в перезагрузку.
шаг 11. Снова подключаемся телнетом к адресу 192.168.1.1 и порту 9000 после перезапуска маршрутизатора.
При этом главное — не отключать сетевой кабель и кабель питания.
шаг 12. Вводим следующие команды:
DD-WRT> ip_address -h 192.168.1.2
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2
DD-WRT> fis init
About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System
… Erase from 0xbfc30000-0xbffe0000: …………………………………………………..
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> load -r -b 0x80041000 linux.bin
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x803cffff, assumed entry at 0x80041000
DD-WRT> fis create linux
… Erase from 0xbfc30000-0xbffbf000: …………………………………………………
… Program from 0x80041000-0x803d0000 at 0xbfc30000: …………………………………………………
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig boot_script true
boot_script: Setting to true
Update RedBoot non-volatile configuration — continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig boot_script_timeout 4
boot_script_timeout: Setting to 4
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig bootp false
bootp: Setting to false
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> fis load -l linux
>> exec
>> !!! в этом месте нажимаем ENTER на пустой строке !!!
Boot script timeout (1000ms resolution): 4
Use BOOTP for network configuration: false
Default server IP address:
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: .
DD-WRT> fconfig bootp_my_ip 192.168.1.1
DD-WRT> fconfig bootp_my_ip_mask 255.255.255.0
DD-WRT> fconfig bootp_my_gateway_ip 0.0.0.0
DD-WRT> reset
Маршрутизатор снова уйдет на перезагрузку. Она можем длится от 1 до 5 минут и сопровождаться морганием индикаторов. шаг 12. Подключайтесь к веб-интерфейсу на 192.168.1.1.
Login: root
Password: admin
Теперь остается только настроить маршрутизатор.
UPD. Если у Вас по какой-либо причине не получается перепрошить маршрутизатор DIR-300 вышеуказанным методом, то можно воспользоваться вариантом прошивки через CRASH-MODE. Инструкцию по прошивке в креш-режиме можно найти здесь.
Помогите пожалуйста.
Делаю все по инструкции. С шага №7 начинаются проблемы: после команды «RedBoot> load ap61.ram» TFTP-сервер начинает трансфер файла(маленькое окошко со шкалой загрузки) ap61.ram и сразу же показывает прогресс 99% но через 10 сек в поле прогресс вместо 99% появляется ERR. Ввожу «go» и продолжаю делать по инструкции но telnet к 192.168.1.1 уже не конектится. Пробовал разные версии ap61.rom результат тот же. Сиситема: Win7 x64,Tftpd64, telnet-Putty.
Денис, здравствуй! Сам недавно мучился с прошивкой Dir-320 (он аналог Dir-300) и нашел очень простое решение по прошивке. Вот ссылка на неё http://satfox.net/howto/zamena-proshivki-routera-dlink-dir-320-s-pomoshhju-dir-320-router-firmware-updater-rfu/
там описан процесс, все понятно и просто =)
Прошивается на ура!
Надеюсь помог!
Зачем такие мучения?В вебе заходим в меню ОБНОВЛЕНИЕ ПРОШИВКИ вставляем туда предварительно скачаннуюпро-куhttp://www.dd-wrt.com/site/support/router-database жмем ОБНОВИТЬ и вот вам счастье))))))
Статья писалась на момент, когда в DD-WRT можно было прошить только так.
yofa, через веб морду не всегда прошивает…пишет, что фаил не подходит для прошивки, но как вариант подойти может только не забыть выставить на сетевой карте ip 192.168.0.2 и маску 255.255.255.0 чтобы можно было запустить веб восстановление. Вроде так =)
У меня через штатное обновление перепрошился. Работает нормально.
Не понял другого. По работе беру уже второй DIR — 300, так они кроме как на яндекс да маил.ру больше ни куда не выпускают, пока не перепрошьёш.
Что бы через web прошить, нужно с того же сайта аки оригинальную (тобиш заводскую) прошивку скачать. залить сперва ее, а затем уже dd-wrt. Я так сделал. А так тоже на прошивку ругался, мол не его она…
У нас таких проблем не замечено — дир 300 раздаём коробками — заводятся с пол-пинка.
Зачетная статья. Автору спасибо! Все доступным языком.
В пару месяцев назад знакомому прошил роутер данным способом без проблем. Все настроил, он поработал, и тут на днях зачем-то решил обновить прошиву, зайдя на сайт DD-WRT скачал для другой ревизии (B1) ну и обновил. Говорит обновление прошивки зависло и роутер перезагрузился. Теперь просит меня помочь ему его оживить, я пробовал всеми спобобами описанными в инете. Никакой не помог. Если ставить на компе IP 192.168.0.2 и пинговать 0.1 то пинг идет, и если ставить 192.168.1.2 и делать пинг до 192.168.1.1 тоже идет. А вот если уставить 192.168.20.80 то пинга до 192.168.20.81 нет. Телнетом при этом какой IP не поставить коннекта нет. Что можно сделать???
Восстановил я ему прошивку, Сначала по инструкции http://www.lan23.ru/forum/printthread.php?t=3154&pp=40, А потом снова по вышеописанной инструкции прошил DD-WRT. Полет нормальный.
Помогите у меня вот такое
RedBoot> load ap61.ram
Using default protocol (TFTP)
__udp_sendto: Can’t find address of server
Can’t load ‘ap61.ram’: some sort of network error
Вы либо неверно указали адрес tftp-сервера либо он закрыт настройками фаерволла — проверяйте систему безопасности.
Спаисибо разобрался действительно адрес был другой ! Теперь другая проблема при запросе
fis create -l 0x30000 -e 0xbfc00000 RedBoot
получаю
DD-WRT> fis create -l 0x30000 -e 0xbfc00000 RedBoot ** Error: invalid number \’0x30000\’ for image length [in FLASH] *** invalid \’fis\’ command: invalid arguments Usage: fis create -b -l [-s ] [-f ] [-e ] [-r ] [-n] fis delete name fis erase -f -l fis free fis init [-f] fis list [-c] [-d] fis load [-d] [-l] [-b ] [-c] name fis write -f -b -l
Попробуйте ещё раз ввести строчку
fis create -l 0?30000 -e 0xbfc00000 RedBoot
Только вручную а не копипастом.
Спасибо все заработало ! Скажите нет случайно мануала как настроитиь его как повтороитель (подробный) ?
Здравствуйте! Проблемка — после команды reset и ожидании 5 минут не смог войти в dir 300. Вводил в браузере 192.168.1.1 — ошибка подключения и т.п.
Команда ipconfig в cmd поле шлюза обозначает пустым.
Не могу теперь адрес модема поднять.
При прошивки все строки идентичны описанию.
Что можно сделать, как оживить его?
Поробуйте зайти на 192.168.0.1 — это IP заводской у роутера. Само собой на сетевой плате надо прописать IP из этой сети.
а для ревизии b5 dir300, не подскажите какую прошивку устанавливать?
Насчет совместимости DIR-300NRU и DD-WRT- насколько я знаю они были несовместимы.