Прошиваем маршрутизатор 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. Инструкцию по прошивке в креш-режиме можно найти здесь.
А если я поставлю эту альтернативную прошивку на DIR-300/NRU/B3 появится ли возможность авторизации по протоколу 802.1x на WAN порту?
Виктор — те версии dd-wrt что попадались мне не умели полноценно работать с вланами.
У вас опечатка.
Вместо:
fis create -l 0?30000 -e 0xbfc00000 RedBoot
надо:
fis create -l 0×30000 -e 0xbfc00000 RedBoot
Здравствуйте. Не получается перепрошить. Где взять файл ap61.ram? Там же файл «dir300-firmware.bin»