D-Link DIR-300 rev A/ru

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 09:09, 4 August 2009 (edit)
Maniac-z (Talk | contribs)
(Прошивка DD-WRT в DIR-300)
← Previous diff
Revision as of 12:15, 4 August 2009 (edit) (undo)
Maniac-z (Talk | contribs)
(Прошивка DD-WRT в DIR-300)
Next diff →
Line 8: Line 8:
- '''tftp-сервер''': его можно загрузить оттуда же; распакуйте zip-файл и поместите содержимое в папку по вашему выбору. <br> - '''tftp-сервер''': его можно загрузить оттуда же; распакуйте zip-файл и поместите содержимое в папку по вашему выбору. <br>
- telnet-клиент, в качестве которого рекомендуется программа PuTTY : загрузите ее с сайта www.putty.org<br> - telnet-клиент, в качестве которого рекомендуется программа PuTTY : загрузите ее с сайта www.putty.org<br>
 +Конфигурирование клиента PuTTY :
 +Щелкните правой кнопкой мыши по заголовку окна PuTTY. <br>
 +Выберите пункт «Change Setings...» <br>
 +В окне «PuTTY Reconfiguration» установите для параметра «Close window on exit» значение «Never».<br>
 +Нажмите кнопку «Apply» («Применить»)<br>
-1. Cтавим на компе IP 192.168.20.80/mask 255.255.255.0+1. Cтавим на компе IP 192.168.20.80/mask 255.255.255.0<br>
- +
2. Втыкаем кабель в WAN порт (!) (INTERNET на нем написано) 2. Втыкаем кабель в WAN порт (!) (INTERNET на нем написано)
Line 50: Line 54:
11. Пишем в консоли редбута<br> 11. Пишем в консоли редбута<br>
-''RedBoot>'' '''load ap61.ram''' <br>+RedBoot>'''load ap61.ram''' <br>
 +Using default protocol (TFTP) <br>
 +Entry point: 0×800410bc, address range: 0×80041000-0×800680d8 <br>
 +RedBoot> '''go'''<br>
-''Using default protocol (TFTP)'' <br>+12. Если телнет-сессия после этого прервется – это нормально.
 +''Замечание: не перезагружайте маршрутизатор и не отключайте его питание''.<br>
-''Entry point: 0×800410bc, address range: 0×80041000-0×800680d8 <br>+'''Установка нового постоянного загрузчика'''
-''+
-RedBoot> '''go'''<br>+
-12. Теперь забустится временный бутлоадер, роутер переклинит , он мигнет и станет на все согласен. Роутер НЕ выключаем, НЕ перезагружаем<br>+13. Переключите сетевой кабель из гнезда WAN в гнездо LAN1 маршрутизатора. <br>
-13. Втыкаемся в LAN порт и настраиваем на компе 192.168.1.2<br>+
-14. Телнетимся обычным телнетом на 192.168.1.1 port 9000. Теперь главное делать все внимательно, просто следовать инструкции и не вырубать посреди процесса питалово, а то будет попадалово.+
-Если питалово не дергать, то и попадалова не будет.<br>+
-Заметьте — TFTP сервер так болтается запущенным — нужен еще будет.<br>+
-Но интогда его глюкает и надо просто грохнуть его и снова запустить.<br>+
-Он там че то ругается в своем окошке — по содержимому можно понять что ему надо.<br>+
-Итак.<br>+''Важно: во время выполнения следующих шагов не отключайте сетевой кабель и не выключайте питание!'' <br>
-15. Жмем:<br>+Установите IP-адрес 192.168.1.2 и маску 255.255.225.0. <br>
 +Подключитесь телнетом к адресу 192.168.1.1 и порту 9000. <br>
 +
 +Когда сессия будет установлена, выполните следующие шаги:<br>
-fis init<br>+14. в консоли: <br>
-на экране появится <br>+DD-WRT>'''fconfig -i'''<br>
-About to initialize [format] FLASH image system - continue (y/n)? y<br>+Initialize non-volatile configuration - continue (y/n)?'''y''' <br>
-*** Initialize FLASH Image System<br>+Run script at boot: false <br>
-... Erase from 0xbffe0000-0xbfff0000: .<br>+Use BOOTP for network configuration: true <br>
-... Program from 0x807f0000-0x80800000 at 0xbffe0000: .<br>+Default server IP address: <br>
 +Console baud rate: 9600 <br>
 +GDB connection port: 9000 <br>
 +Force console for special debug messages: false <br>
 +Network debug at boot time: false <br>
 +Update RedBoot non-volatile configuration - continue (y/n)?'''y''' <br>
-Потом... — берите по строчке и копи-пастьте в окно теленета — сравнивайте с тем что написано для примера если че спрашивает — соглашайтесь на все.+… Erase from 0xbffe0000-0xbfff0000: . <br>
-ip_address -h 192.168.1.2<br>+… Program from 0×80ff0000-0×81000000 at 0xbffe0000: .<br>
-На экране появитсяV+DD-WRT> '''fis init''' <br>
-IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0<br>+About to initialize [format] FLASH image system - continue (y/n)? '''y''' <br>
-Default server: 192.168.1.2<br>+*** Initialize FLASH Image System <br>
 +… Erase from 0xbffe0000-0xbfff0000: . <br>
 +… Program from 0×807f0000-0×80800000 at 0xbffe0000: . <br>
-load -r -b %{FREEMEMLO} ap61.rom<br>+DD-WRT> '''ip_address -h 192.168.1.2''' <br>
 +Default server: 192.168.1.23 <br>
-На экране появится<br>+DD-WRT> '''load -r -b %{FREEMEMLO} ap61.rom''' <br>
-Using default protocol (TFTP)<br>+Using default protocol (TFTP) <br>
-Raw file loaded 0x80080000-0x800a8717, assumed entry at 0x80080000<br>+Raw file loaded 0×80080000-0×800a8717, assumed entry at 0×80080000 <br>
-fis create -l 0x30000 -e 0xbfc00000 RedBoot<br>+DD-WRT> '''fis create -l 0×30000 -e 0xbfc00000 RedBoot''' <br>
 +An image named ‘RedBoot’ exists - continue (y/n)?''' y''' <br>
 +… Erase from 0xbfc00000-0xbfc30000: … <br>
 +… Program from 0×80080000-0×800a8718 at 0xbfc00000: … <br>
 +… Erase from 0xbffe0000-0xbfff0000: . <br>
 +… Program from 0×807f0000-0×80800000 at 0xbffe0000: . <br>
-На экране появится+DD-WRT> '''reset'''<br>
-An image named 'RedBoot' exists - continue (y/n)? y<br>+
-... Erase from 0xbfc00000-0xbfc30000: ...<br>+
-... Program from 0x80080000-0x800a8718 at 0xbfc00000: ...<br>+
-... Erase from 0xbffe0000-0xbfff0000: .<br>+
-... Program from 0x807f0000-0x80800000 at 0xbffe0000: .<br>+
-Теперь пишем <br>+После этого ваш маршрутизатор перезагрузится и сессия прервется. Снова подключитесь телнетом к адресу 192.168.1.1 и порту 9000 после того, как маршрутизатор перезапустится и будет ждать ваших команд (на это нужно примерно 30 секунд).
-reset<br>+'''Загрузка новой прошивки '''<br>
-оно моргнет всеми светодиодиками и перезагрузится+15 .
-Ждем около минуты<br>+
-Опять телнетимся ip 192.168.1.1 port 9000<br>+Еще раз напомним – не выключайте питание маршрутизатора и не отсоединяйте сетевой кабель во время выполнения описанных ниже шагов!
-в этом месте во всех инструкциях отсутствует команда+Команды fis create выполняются достаточно долго, наберитесь терпения и не прерывайте процесс.
-ip_address -h 192.168.1.2<br>+DD-WRT> '''ip_address -h 192.168.1.2''' <br>
 +IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0 <br>
 +Default server: 192.168.1.2 <br>
-IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0<br>+DD-WRT> '''fis init''' <br>
-Default server: 192.168.1.2<br>+About to initialize [format] FLASH image system - continue (y/n)? '''y''' <br>
 +*** Initialize FLASH Image System <br>
 +… Erase from 0xbfc30000-0xbffe0000: ………………………………………………….. <br>
 +… Erase from 0xbffe0000-0xbfff0000: . <br>
 +… Program from 0×80ff0000-0×81000000 at 0xbffe0000: . <br>
-теперь ждем еще две строчки.<br>+DD-WRT> '''load -r -b 0×80041000 linux.bin''' <br>
-После первой ругнется что загрузил файл с TFTP<br>+Using default protocol (TFTP) <br>
-После второй — роутер уйдет "в себя" — минут на 5 — 10 как минимум.<br>+Raw file loaded 0×80041000-0×803cffff, assumed entry at 0×80041000 <br>
-Потом ругнется, чем то в консоль.<br>+
-Если телнет потеряет связь переподключаемся еще раз (у меня вышло только со 2-го раза, в первый экран был темный данные в консоль не выводились)+DD-WRT> '''fis create linux''' <br>
 +… Erase from 0xbfc30000-0xbffbf000: ………………………………………………… <br>
 +… Program from 0×80041000-0×803d0000 at 0xbfc30000: ………………………………………………… <br>
 +… Erase from 0xbffe0000-0xbfff0000: . <br>
 +… Program from 0×80ff0000-0×81000000 at 0xbffe0000: . <br>
-Помним НЕ выключать питание !!! не перезагружать, только ждать+DD-WRT> '''fconfig boot_script true''' <br>
 +boot_script: Setting to true <br>
 +Update RedBoot non-volatile configuration - continue (y/n)? '''y''' <br>
 +… Erase from 0xbffe0000-0xbfff0000: . <br>
 +… Program from 0×80ff0000-0×81000000 at 0xbffe0000: . <br>
-вводим<br>+DD-WRT> '''fconfig boot_script_timeout 3''' <br>
-load -r -b 0x80041000 linux.bin <br>+boot_script_timeout: Setting to 3 <br>
-fis create linux<br>+Update RedBoot non-volatile configuration - continue (y/n)? '''y''' <br>
 +… Erase from 0xbffe0000-0xbfff0000: . <br>
 +… Program from 0×80ff0000-0×81000000 at 0xbffe0000: . <br>
-теперь опять вводим<br>+DD-WRT> '''fconfig bootp false''' <br>
 +bootp: Setting to false <br>
 +Update RedBoot non-volatile configuration - continue (y/n)? '''y''' <br>
 +… Erase from 0xbffe0000-0xbfff0000: . <br>
 +… Program from 0×80ff0000-0×81000000 at 0xbffe0000: . <br>
-fconfig boot_script true<br>+DD-WRT>''' fconfig''' <br>
-fconfig boot_script_timeout 4<br>+Run script at boot: true <br>
 +Boot script: <br>
 +.. fis load -l vmlinux.bin.17<br>
 +.. exec <br>
 +Enter script, terminate with empty line <br>
-опять вводим <br>+>> '''fis load -l linux''' <br>
 +>> '''exec''' <br>
 +>> <br>
-fconfig<br>+Boot script timeout (1000ms resolution): 3 <br>
 +Use BOOTP for network configuration: false <br>
 +Default server IP address: <br>
 +Console baud rate: 9600 <br>
 +GDB connection port: 9000 <br>
 +Force console for special debug messages: false <br>
 +Network debug at boot time: false <br>
 +Update RedBoot non-volatile configuration - continue (y/n)? '''y''' <br>
 +… Erase from 0xbffe0000-0xbfff0000: . <br>
 +… Program from 0×80ff0000-0×81000000 at 0xbffe0000: . <br>
-вводим по строчкам :<br>+DD-WRT> '''reset'''<br>
-fis load -l linux<br>+Роутер перезагрузится.
-exec<br>+В процессе перезагрузки он может мигать светодиодами и не отвечать на любые запросы в течении минут эдак n-дцати (у меня все прошло за <5 мин.).<br>
 +Когда загорится лампочка WLAN — дело сделано!
-вводим пустую строку (давим энтер) чтобы выйти из редактирования+Можно коннектиться браузером на 192.168.1.1<br>
 +Имя пользователя и пароль по умолчанию - «root» и «admin» соответственно (без кавычек).<br>
-ждем <br>+Замечание: Если ваш маршрутизатор не может получить IP-адрес от модема – не беспокойтесь. Это известная ошибка в DD-WRT. Чтобы выйти из положения, выполните следующие шаги: <br>
 +1. Отключите сетевой кабель, соединяющий модем и DIR-300. <br>
 +2. Перезагрузите модем и маршрутизатор и дождитесь окончания их загрузки. <br>
 +3. Подключите сетевой кабель. <br>
-reset <br>+Замечание: если вы хотите изменить значение «Run script on boot» с false на true, выполните следующую команду перед командой fcohfig: <br>
-Роутер перезагрузится.+'''fconfig boot_script true'''<br>
-В процессе перезагрузки он может мигать светодиодами и не отвечать на любые запросы в течении минут эдак двадцати (у меня все прошло за 5 мин.).<br>+
-Когда загорится лампочка WLAN — дело сделано!+
-Можно коннектиться браузером на 192.168.1.1<br>+
-Должно появиться предложение поменять пароль и юзера....<br>+
-Если типа че то пошло не так... не бойтесь, убить таким способом железку очень тяжело.+
-просто уж передергиваете питание и телнетитесь опять либо на ---20.81 либо на ---.1.1 на порт 9000 и все начинаем с того метса, где возникла проблема.+
==Рекомендации по выбору прошивки== ==Рекомендации по выбору прошивки==

Revision as of 12:15, 4 August 2009

Прошивка DD-WRT в DIR-300

Если типа что-nj пошло не так... не бойтесь, убить таким способом железку очень тяжело. просто передергиваете питание и телнетитесь опять либо на ---20.81 либо на ---.1.1 на порт 9000 и все начинаем с того места, где возникла проблема.

предварительная подготовка:
создаем папку C:\DIR300 (например), кладем туда
- файлы ap61.ram, ap61.rom и linux.bin : загрузите их с сайта dd-wrt.com, они находятся в папке с прошивкой для DIR-300.
- tftp-сервер: его можно загрузить оттуда же; распакуйте zip-файл и поместите содержимое в папку по вашему выбору.
- telnet-клиент, в качестве которого рекомендуется программа PuTTY : загрузите ее с сайта www.putty.org
Конфигурирование клиента PuTTY : Щелкните правой кнопкой мыши по заголовку окна PuTTY.
Выберите пункт «Change Setings...»
В окне «PuTTY Reconfiguration» установите для параметра «Close window on exit» значение «Never».
Нажмите кнопку «Apply» («Применить»)

1. Cтавим на компе IP 192.168.20.80/mask 255.255.255.0
2. Втыкаем кабель в WAN порт (!) (INTERNET на нем написано)

   2.1 Включаем питание роутера.

3. Коннектимся к железке телнетом на 192.168.20.81 на порт 9000

4. Возможно с первого раза не выйдет — редбут ждет подключения в течение 1 секунды примерно через

5 секунд после начала загрузки роутера

5. Далее должна появиться приветственная надпись и надо жать ctrl + c

6. Нажать ctrl+C у меня это так и не получилось

        6.1 Можно воспользоваться пакетным файлом:
        6.1.1 создаем в корне C:\ файл xxx.bat, следующего содержания:
start

ping 192.168.20.81 -n 2 -w 1 > NULL
IF ERRORLEVEL 1 goto start
break
putty.exe telnet://192.168.20.81:9000 -m redboot.txt

        6.1.2 создаем там же файл redboot.txt, следующего содержания:

только ДВА символа ^C

        6.1.3 качаем в корень C:\   putty.exe [1]

7. Запустить батник. Батник будет пинговать 192.168.20.81 до тех пор, пока не получит ответ и сразу запустит putty , которая пошлет в роутер содержимое файла redboot.txt

8. В оном файле есть только 2 символа - ^C. Они остановят загрузку и откроет окно putty с приглашением
redboot>

9. теперь:

10.Стартуем tftp server (там есть в комплекте файлик — просто оставьте его вместе с остальными файлами прошивки в папке c:/dir300/ и запустите. Или качаем любой TFTP Server и указываем папку где лежат файлы (C:\DIR300)


Загрузка в маршрутизатор временного загрузчика

11. Пишем в консоли редбута

RedBoot>load ap61.ram
Using default protocol (TFTP)
Entry point: 0×800410bc, address range: 0×80041000-0×800680d8
RedBoot> go

12. Если телнет-сессия после этого прервется – это нормально. Замечание: не перезагружайте маршрутизатор и не отключайте его питание.

Установка нового постоянного загрузчика

13. Переключите сетевой кабель из гнезда WAN в гнездо LAN1 маршрутизатора.

Важно: во время выполнения следующих шагов не отключайте сетевой кабель и не выключайте питание!

Установите IP-адрес 192.168.1.2 и маску 255.255.225.0.
Подключитесь телнетом к адресу 192.168.1.1 и порту 9000.

Когда сессия будет установлена, выполните следующие шаги:

14. в консоли:
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 0×80ff0000-0×81000000 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 0×807f0000-0×80800000 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 0×80080000-0×800a8717, assumed entry at 0×80080000

DD-WRT> fis create -l 0×30000 -e 0xbfc00000 RedBoot
An image named ‘RedBoot’ exists - continue (y/n)? y
… Erase from 0xbfc00000-0xbfc30000: …
… Program from 0×80080000-0×800a8718 at 0xbfc00000: …
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×807f0000-0×80800000 at 0xbffe0000: .

DD-WRT> reset

После этого ваш маршрутизатор перезагрузится и сессия прервется. Снова подключитесь телнетом к адресу 192.168.1.1 и порту 9000 после того, как маршрутизатор перезапустится и будет ждать ваших команд (на это нужно примерно 30 секунд).

Загрузка новой прошивки

15 .

Еще раз напомним – не выключайте питание маршрутизатора и не отсоединяйте сетевой кабель во время выполнения описанных ниже шагов!

Команды fis create выполняются достаточно долго, наберитесь терпения и не прерывайте процесс.

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 0×80ff0000-0×81000000 at 0xbffe0000: .

DD-WRT> load -r -b 0×80041000 linux.bin
Using default protocol (TFTP)
Raw file loaded 0×80041000-0×803cffff, assumed entry at 0×80041000

DD-WRT> fis create linux
… Erase from 0xbfc30000-0xbffbf000: …………………………………………………
… Program from 0×80041000-0×803d0000 at 0xbfc30000: …………………………………………………
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 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 0×80ff0000-0×81000000 at 0xbffe0000: .

DD-WRT> fconfig boot_script_timeout 3
boot_script_timeout: Setting to 3
Update RedBoot non-volatile configuration - continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0×80ff0000-0×81000000 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 0×80ff0000-0×81000000 at 0xbffe0000: .

DD-WRT> fconfig
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.17
.. exec
Enter script, terminate with empty line

>> fis load -l linux
>> exec
>>

Boot script timeout (1000ms resolution): 3
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 0×80ff0000-0×81000000 at 0xbffe0000: .

DD-WRT> reset

Роутер перезагрузится. В процессе перезагрузки он может мигать светодиодами и не отвечать на любые запросы в течении минут эдак n-дцати (у меня все прошло за <5 мин.).
Когда загорится лампочка WLAN — дело сделано!

Можно коннектиться браузером на 192.168.1.1
Имя пользователя и пароль по умолчанию - «root» и «admin» соответственно (без кавычек).

Замечание: Если ваш маршрутизатор не может получить IP-адрес от модема – не беспокойтесь. Это известная ошибка в DD-WRT. Чтобы выйти из положения, выполните следующие шаги:
1. Отключите сетевой кабель, соединяющий модем и DIR-300.
2. Перезагрузите модем и маршрутизатор и дождитесь окончания их загрузки.
3. Подключите сетевой кабель.

Замечание: если вы хотите изменить значение «Run script on boot» с false на true, выполните следующую команду перед командой fcohfig:

fconfig boot_script true

Рекомендации по выбору прошивки

Рекомендую шить DD-WRT v24PreSP2 На момент написания последней была прошивка от 14 марта 09 Для заливки вам потребуются файлы

ap61.ram - Загрузчик ap61.rom - Образ загрузчика для записи в устройство linux.bin - Непосредственно образ (именно его ищем в новых каталогах) tftpsrv.zip - TFTP Сервер

Больше из файлов вам ничего не потребуется В обновленных прошивках файлы загрузчиков отсутствуют рекомендую их взять из каталога

DD-WRT v24 RC5

загрузчики из каталога

DD-WRT v24 SP1

не захотели корректно работать на моем экземпляре устройства.

Причем DD-WRT v24PreSP2 - уже есет в своем составе Русскую локализацию, чем я был приятно удивлен включается выбором языка интерфейса в закладке администрирование, начинает действовать при обновлении странички в браузере.

Восстановление фирменной прошивки