D-Link DIR-300 rev A/ru
From DD-WRT Wiki
Revision as of 01:35, 20 June 2010 (edit) DarkHaker (Talk | contribs) ← Previous diff |
Current revision (17:49, 14 August 2019) (edit) (undo) Santurysim (Talk | contribs) m (Прошивка DIR-300 moved to D-Link DIR-300 rev A/ru: There is a page on the same router in English) |
||
(7 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
+ | {{Languages|D-Link DIR-300 rev A}} | ||
+ | |||
+ | __TOC__ | ||
+ | |||
==Прошивка DD-WRT в DIR-300== | ==Прошивка DD-WRT в DIR-300== | ||
+ | |||
+ | Прежде, чем использовать TFTP, стоит попробовать [http://sergey-s-betke.blogs.novgaro.ru/proshivaem-d-link-proshivkoj-dd-wrt залить DD-WRT через crash mode] (времени потрачено будет меньше). Если возникнут проблемы, тогда переходим к прошивке через TFTP. | ||
'''Если типа что-то пошло не так... не бойтесь, убить таким способом железку очень тяжело. просто передергиваете питание и телнетитесь опять либо на ---20.81 либо на ---.1.1 на порт 9000 и все начинаем с того места, где возникла проблема.''' | '''Если типа что-то пошло не так... не бойтесь, убить таким способом железку очень тяжело. просто передергиваете питание и телнетитесь опять либо на ---20.81 либо на ---.1.1 на порт 9000 и все начинаем с того места, где возникла проблема.''' | ||
Line 16: | Line 22: | ||
1. Cтавим на компе IP 192.168.20.80/mask 255.255.255.0<br> | 1. Cтавим на компе IP 192.168.20.80/mask 255.255.255.0<br> | ||
2. Втыкаем кабель в WAN порт (!) (INTERNET на нем написано) | 2. Втыкаем кабель в WAN порт (!) (INTERNET на нем написано) | ||
- | 2.1 '''Зажимаем''' кнопку "RESET" | ||
- | + | :2.1 '''Зажимаем''' кнопку "RESET" | |
- | + | :2.2 Включаем питание роутера. | |
+ | :2.3 Через '''30 секунд''' отпускаем "RESET" | ||
3. Коннектимся к железке телнетом на 192.168.20.81 на порт 9000 | 3. Коннектимся к железке телнетом на 192.168.20.81 на порт 9000 | ||
- | 4. Возможно с первого раза не выйдет — редбут ждет подключения в течение 1 секунды примерно через | + | 4. Возможно с первого раза не выйдет — редбут ждет подключения в течение 1 секунды примерно через 5 секунд после начала загрузки роутера |
- | + | ||
- | 5 секунд после начала загрузки роутера | + | |
- | 5. Далее должна появиться приветственная надпись и надо жать | + | 5. Далее должна появиться приветственная надпись и надо жать CTRL+C |
- | 6. Нажать | + | 6. Нажать CTRL+C у меня это так и не получилось |
- | + | :6.1 Можно воспользоваться пакетным файлом: | |
- | + | :6.1.1 создаем в корне C:\ файл xxx.bat, следующего содержания: | |
- | <nowiki>:</nowiki>start | + | <nowiki>:</nowiki>start |
- | ping 192.168.20.81 -n 2 -w 1 > NULL | + | ping 192.168.20.81 -n 2 -w 1 > NULL |
- | IF ERRORLEVEL 1 goto start | + | IF ERRORLEVEL 1 goto start |
- | break | + | break |
- | putty.exe telnet://192.168.20.81:9000 -m redboot.txt | + | putty.exe telnet://192.168.20.81:9000 -m redboot.txt |
- | + | :6.1.2 создаем там же файл redboot.txt, следующего содержания: | |
только ДВА символа ^C | только ДВА символа ^C | ||
- | + | :6.1.3 качаем в корень C:\ putty.exe [http://www.putty.org] | |
7. Запустить батник. Батник будет пинговать 192.168.20.81 до тех пор, пока не получит ответ и сразу запустит putty , которая пошлет в роутер содержимое файла redboot.txt | 7. Запустить батник. Батник будет пинговать 192.168.20.81 до тех пор, пока не получит ответ и сразу запустит putty , которая пошлет в роутер содержимое файла redboot.txt | ||
8. В оном файле есть только 2 символа - ^C. Они остановят загрузку и откроет окно putty с приглашением <br> | 8. В оном файле есть только 2 символа - ^C. Они остановят загрузку и откроет окно putty с приглашением <br> | ||
- | redboot> | + | redboot> |
9. теперь: | 9. теперь: | ||
10.Стартуем tftp server | 10.Стартуем tftp server | ||
- | (там есть в комплекте файлик — просто оставьте его вместе с остальными файлами прошивки в папке c: | + | (там есть в комплекте файлик — просто оставьте его вместе с остальными файлами прошивки в папке c:\dir300\ и запустите. Или качаем любой TFTP Server и указываем папку где лежат файлы (C:\DIR300) |
Line 56: | Line 60: | ||
11. Пишем в консоли редбута<br> | 11. Пишем в консоли редбута<br> | ||
- | RedBoot>'''load ap61.ram''' | + | RedBoot>'''load ap61.ram''' |
- | Using default protocol (TFTP) | + | Using default protocol (TFTP) |
- | Entry point: 0×800410bc, address range: 0×80041000-0×800680d8 | + | Entry point: 0×800410bc, address range: 0×80041000-0×800680d8 |
- | RedBoot> '''go''' | + | RedBoot> '''go''' |
12. Если телнет-сессия после этого прервется – это нормально. | 12. Если телнет-сессия после этого прервется – это нормально. | ||
Line 76: | Line 80: | ||
14. в консоли: <br> | 14. в консоли: <br> | ||
- | DD-WRT>'''fconfig -i''' | + | |
- | Initialize non-volatile configuration - continue (y/n)?'''y''' | + | DD-WRT>'''fconfig -i''' |
- | Run script at boot: false | + | Initialize non-volatile configuration - continue (y/n)?'''y''' |
- | Use BOOTP for network configuration: true | + | Run script at boot: false |
- | Default server IP address: | + | Use BOOTP for network configuration: true |
- | Console baud rate: 9600 | + | Default server IP address: |
- | GDB connection port: 9000 | + | Console baud rate: 9600 |
- | Force console for special debug messages: false | + | GDB connection port: 9000 |
- | Network debug at boot time: false | + | Force console for special debug messages: false |
- | Update RedBoot non-volatile configuration - continue (y/n)?'''y''' | + | 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: . | + | … 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''' | + | DD-WRT> '''fis init''' |
- | *** Initialize FLASH Image System | + | About to initialize [format] FLASH image system - continue (y/n)? '''y''' |
- | … Erase from 0xbffe0000-0xbfff0000: . | + | *** Initialize FLASH Image System |
- | … Program from 0×807f0000-0×80800000 at 0xbffe0000: . | + | … 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> '''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) | + | DD-WRT> '''load -r -b %{FREEMEMLO} ap61.rom''' |
- | Raw file loaded 0×80080000-0×800a8717, assumed entry at 0×80080000 | + | 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''' | + | DD-WRT> '''fis create -l 0×30000 -e 0xbfc00000 RedBoot''' |
- | … Erase from 0xbfc00000-0xbfc30000: … | + | An image named ‘RedBoot’ exists - continue (y/n)?''' y''' |
- | … Program from 0×80080000-0×800a8718 at 0xbfc00000: … | + | … Erase from 0xbfc00000-0xbfc30000: … |
- | … Erase from 0xbffe0000-0xbfff0000: . | + | … Program from 0×80080000-0×800a8718 at 0xbfc00000: … |
- | … Program from 0×807f0000-0×80800000 at 0xbffe0000: . | + | … Erase from 0xbffe0000-0xbfff0000: . |
- | + | … Program from 0×807f0000-0×80800000 at 0xbffe0000: . | |
- | DD-WRT> '''reset''' | + | |
- | + | DD-WRT> '''reset''' | |
+ | |||
После этого ваш маршрутизатор перезагрузится и сессия прервется. Снова подключитесь телнетом к адресу 192.168.1.1 и порту 9000 после того, как маршрутизатор перезапустится и будет ждать ваших команд (на это нужно примерно 30 секунд). | После этого ваш маршрутизатор перезагрузится и сессия прервется. Снова подключитесь телнетом к адресу 192.168.1.1 и порту 9000 после того, как маршрутизатор перезапустится и будет ждать ваших команд (на это нужно примерно 30 секунд). | ||
- | '''Загрузка новой прошивки ''' | + | '''Загрузка новой прошивки ''' |
- | 15 . | + | 15. Еще раз напомним – не выключайте питание маршрутизатора и не отсоединяйте сетевой кабель во время выполнения описанных ниже шагов! |
- | + | ||
- | Еще раз напомним – не выключайте питание маршрутизатора и не отсоединяйте сетевой кабель во время выполнения описанных ниже шагов! | + | |
Команды fis create выполняются достаточно долго, наберитесь терпения и не прерывайте процесс. | Команды fis create выполняются достаточно долго, наберитесь терпения и не прерывайте процесс. | ||
- | DD-WRT> '''ip_address -h 192.168.1.2''' | + | DD-WRT> '''ip_address -h 192.168.1.2''' |
- | IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0 | + | IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0 |
- | Default server: 192.168.1.2 | + | Default server: 192.168.1.2 |
- | + | ||
- | DD-WRT> '''fis init''' | + | DD-WRT> '''fis init''' |
- | About to initialize [format] FLASH image system - continue (y/n)? '''y''' | + | About to initialize [format] FLASH image system - continue (y/n)? '''y''' |
- | *** Initialize FLASH Image System | + | *** Initialize FLASH Image System |
- | … Erase from 0xbfc30000-0xbffe0000: ………………………………………………….. | + | … Erase from 0xbfc30000-0xbffe0000: ………………………………………………….. |
- | … Erase from 0xbffe0000-0xbfff0000: . | + | … Erase from 0xbffe0000-0xbfff0000: . |
- | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . | + | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . |
- | + | ||
- | DD-WRT> '''load -r -b 0×80041000 linux.bin''' | + | DD-WRT> '''load -r -b 0×80041000 linux.bin''' |
- | Using default protocol (TFTP) | + | Using default protocol (TFTP) |
- | Raw file loaded 0×80041000-0×803cffff, assumed entry at 0×80041000 | + | Raw file loaded 0×80041000-0×803cffff, assumed entry at 0×80041000 |
- | + | ||
- | DD-WRT> '''fis create linux''' | + | DD-WRT> '''fis create linux''' |
- | … Erase from 0xbfc30000-0xbffbf000: ………………………………………………… | + | … Erase from 0xbfc30000-0xbffbf000: ………………………………………………… |
- | … Program from 0×80041000-0×803d0000 at 0xbfc30000: ………………………………………………… | + | … Program from 0×80041000-0×803d0000 at 0xbfc30000: ………………………………………………… |
- | … Erase from 0xbffe0000-0xbfff0000: . | + | … Erase from 0xbffe0000-0xbfff0000: . |
- | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . | + | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . |
- | + | ||
- | DD-WRT> '''fconfig boot_script true''' | + | DD-WRT> '''fconfig boot_script true''' |
- | boot_script: Setting to true | + | boot_script: Setting to true |
- | Update RedBoot non-volatile configuration - continue (y/n)? '''y''' | + | Update RedBoot non-volatile configuration - continue (y/n)? '''y''' |
- | … Erase from 0xbffe0000-0xbfff0000: . | + | … Erase from 0xbffe0000-0xbfff0000: . |
- | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . | + | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . |
- | + | ||
- | DD-WRT> '''fconfig boot_script_timeout 3''' | + | DD-WRT> '''fconfig boot_script_timeout 3''' |
- | boot_script_timeout: Setting to 3 | + | boot_script_timeout: Setting to 3 |
- | Update RedBoot non-volatile configuration - continue (y/n)? '''y''' | + | Update RedBoot non-volatile configuration - continue (y/n)? '''y''' |
- | … Erase from 0xbffe0000-0xbfff0000: . | + | … Erase from 0xbffe0000-0xbfff0000: . |
- | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . | + | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . |
- | + | ||
- | DD-WRT> '''fconfig bootp false''' | + | DD-WRT> '''fconfig bootp false''' |
- | bootp: Setting to false | + | bootp: Setting to false |
- | Update RedBoot non-volatile configuration - continue (y/n)? '''y''' | + | Update RedBoot non-volatile configuration - continue (y/n)? '''y''' |
- | … Erase from 0xbffe0000-0xbfff0000: . | + | … Erase from 0xbffe0000-0xbfff0000: . |
- | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . | + | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . |
- | + | ||
- | DD-WRT>''' fconfig''' | + | DD-WRT>''' fconfig''' |
- | Run script at boot: true | + | Run script at boot: true |
- | Boot script: | + | Boot script: |
- | .. fis load -l vmlinux.bin.17 | + | .. fis load -l vmlinux.bin.17 |
- | .. exec | + | .. exec |
- | Enter script, terminate with empty line | + | Enter script, terminate with empty line |
- | + | ||
- | >> '''fis load -l linux''' | + | >> '''fis load -l linux''' |
- | >> '''exec''' | + | >> '''exec''' |
- | > | + | >> |
- | + | ||
- | Boot script timeout (1000ms resolution): 3 | + | Boot script timeout (1000ms resolution): 3 |
- | Use BOOTP for network configuration: false | + | Use BOOTP for network configuration: false |
- | Default server IP address: | + | Default server IP address: |
- | Console baud rate: 9600 | + | Console baud rate: 9600 |
- | GDB connection port: 9000 | + | GDB connection port: 9000 |
- | Force console for special debug messages: false | + | Force console for special debug messages: false |
- | Network debug at boot time: false | + | Network debug at boot time: false |
- | Update RedBoot non-volatile configuration - continue (y/n)? '''y''' | + | Update RedBoot non-volatile configuration - continue (y/n)? '''y''' |
- | … Erase from 0xbffe0000-0xbfff0000: . | + | … Erase from 0xbffe0000-0xbfff0000: . |
- | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . | + | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . |
+ | |||
+ | DD-WRT> '''ip_address -h 192.168.1.1''' | ||
+ | |||
+ | DD-WRT> '''reset''' | ||
- | DD-WRT> '''reset'''<br> | ||
Роутер перезагрузится. | Роутер перезагрузится. | ||
Line 199: | Line 205: | ||
Замечание: если вы хотите изменить значение «Run script on boot» с false на true, выполните следующую команду перед командой fcohfig: <br> | Замечание: если вы хотите изменить значение «Run script on boot» с false на true, выполните следующую команду перед командой fcohfig: <br> | ||
- | '''fconfig boot_script true''' | + | '''fconfig boot_script true''' |
==Рекомендации по выбору прошивки== | ==Рекомендации по выбору прошивки== | ||
Line 262: | Line 268: | ||
'''connect1.bat''' | '''connect1.bat''' | ||
- | + | rem echo off | |
- | + | ||
- | <nowiki>:</nowiki>start | + | <nowiki>:</nowiki>start |
- | + | ||
- | ping 192.168.1.1 -n 1 -w 1 > NULL | + | ping 192.168.1.1 -n 1 -w 1 > NULL |
- | + | ||
- | IF ERRORLEVEL 1 goto start | + | IF ERRORLEVEL 1 goto start |
- | + | ||
- | break | + | break |
- | + | ||
- | putty.exe telnet://192.168.1.1:9000 -m redboot.txt | + | putty.exe telnet://192.168.1.1:9000 -m redboot.txt |
также нам понадобится еще один пакетный файл | также нам понадобится еще один пакетный файл | ||
'''connect20.bat''' | '''connect20.bat''' | ||
+ | |||
+ | rem echo off | ||
+ | |||
+ | <nowiki>:</nowiki>start | ||
+ | |||
+ | ping 192.168.20.81 -n 1 -w 1 > NULL | ||
+ | |||
+ | IF ERRORLEVEL 1 goto start | ||
+ | |||
+ | break | ||
+ | |||
+ | putty.exe telnet://192.168.20.81:9000 -m redboot.txt | ||
- | ''rem echo off | ||
- | |||
- | <nowiki>:</nowiki>start | ||
- | |||
- | ping 192.168.20.81 -n 1 -w 1 > NULL | ||
- | |||
- | IF ERRORLEVEL 1 goto start | ||
- | |||
- | break | ||
- | |||
- | putty.exe telnet://192.168.20.81:9000 -m redboot.txt | ||
- | '' | ||
файл redboot.txt, как и в случае заливки DD-WRT содержит два символа - ^C | файл redboot.txt, как и в случае заливки DD-WRT содержит два символа - ^C | ||
Line 300: | Line 306: | ||
Через несколько секунд появится приветствие | Через несколько секунд появится приветствие | ||
- | DD-WRT> '''ip_address -h 192.168.1.2''' | + | DD-WRT> '''ip_address -h 192.168.1.2''' |
- | + | ||
- | Default server: '''192.168.1.2''' | + | Default server: '''192.168.1.2''' |
- | + | ||
- | DD-WRT> '''fis init''' | + | DD-WRT> '''fis init''' |
- | + | ||
- | About to initialize [format] FLASH image system – continue (y/n)? '''y''' | + | About to initialize [format] FLASH image system – continue (y/n)? '''y''' |
- | + | ||
- | *** Initialize FLASH Image System | + | *** Initialize FLASH Image System |
- | + | ||
- | … Erase from 0xbffe0000-0xbfff0000: . | + | … Erase from 0xbffe0000-0xbfff0000: . |
- | + | ||
- | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . | + | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . |
- | + | ||
- | DD-WRT> '''load -r -b %{FREEMEMLO} dir300redboot.rom''' | + | DD-WRT> '''load -r -b %{FREEMEMLO} dir300redboot.rom''' |
- | + | ||
- | Using default protocol (TFTP) | + | Using default protocol (TFTP) |
- | + | ||
- | Raw file loaded 0×80040800-0×800607ff, assumed entry at 0×80040800 | + | Raw file loaded 0×80040800-0×800607ff, assumed entry at 0×80040800 |
- | + | ||
- | DD-WRT> '''fis create -l 0×30000 -e 0xbfc00000 RedBoot''' | + | DD-WRT> '''fis create -l 0×30000 -e 0xbfc00000 RedBoot''' |
- | + | ||
- | An image named ‘RedBoot’ exists – continue (y/n)? '''y''' | + | An image named ‘RedBoot’ exists – continue (y/n)? '''y''' |
- | + | ||
- | … Erase from 0xbfc00000-0xbfc30000: … | + | … Erase from 0xbfc00000-0xbfc30000: … |
- | + | ||
- | … Program from 0×80040800-0×80060800 at 0xbfc00000: .. | + | … Program from 0×80040800-0×80060800 at 0xbfc00000: .. |
- | + | ||
- | … Erase from 0xbffe0000-0xbfff0000: . | + | … Erase from 0xbffe0000-0xbfff0000: . |
- | + | ||
- | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . | + | … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . |
- | + | ||
- | DD-WRT> '''reset''' | + | DD-WRT> '''reset''' |
После введенных комманд потребуется около 30 сек на перезагрузку устройства | После введенных комманд потребуется около 30 сек на перезагрузку устройства | ||
Line 339: | Line 345: | ||
ждем соединения с устройством и приглашения | ждем соединения с устройством и приглашения | ||
- | RedBoot> '''load -r -b %{FREEMEMLO} shadowandy_board_config.bin''' | + | RedBoot> '''load -r -b %{FREEMEMLO} shadowandy_board_config.bin''' |
- | + | ||
- | Using default protocol (TFTP) | + | Using default protocol (TFTP) |
- | + | ||
- | Raw file loaded 0×80036400-0×800463ff, assumed entry at 0×80036400 | + | Raw file loaded 0×80036400-0×800463ff, assumed entry at 0×80036400 |
- | + | ||
- | RedBoot> fwrite -f 0xbfff0000 -b 0×80036400 -l 0×10000 -e 0×80036400 | + | RedBoot> '''fwrite -f 0xbfff0000 -b 0×80036400 -l 0×10000 -e 0×80036400''' |
- | + | ||
- | About to write image into flash – continue (y/n)? '''y''' | + | About to write image into flash – continue (y/n)? '''y''' |
- | + | ||
- | … Erase from 0xbfff0000-0xc0000000: . | + | … Erase from 0xbfff0000-0xc0000000: . |
- | + | ||
- | … Program from 0×80036400-0×80046400 at 0xbfff0000: . | + | … Program from 0×80036400-0×80046400 at 0xbfff0000: . |
- | + | ||
- | update image info.. | + | update image info.. |
- | + | ||
- | Update RedBoot non-volatile configuration – continue (y/n)? '''y''' | + | Update RedBoot non-volatile configuration – continue (y/n)? '''y''' |
- | + | ||
- | RedBoot> '''reset''' | + | RedBoot> '''reset''' |
Теперь в пору скачать с официального сайта компании D-link, если конечно это еще не сделано, последнюю актуальную фпрошивку и языковой файл. | Теперь в пору скачать с официального сайта компании D-link, если конечно это еще не сделано, последнюю актуальную фпрошивку и языковой файл. | ||
Line 375: | Line 381: | ||
- | RedBoot> '''fconfig img_entry_addr 0×80040000''' | + | RedBoot> '''fconfig img_entry_addr 0×80040000''' |
- | + | ||
- | img_entry_addr: Setting to 0×80040000 | + | img_entry_addr: Setting to 0×80040000 |
- | + | ||
- | Update RedBoot non-volatile configuration – continue (y/n)? '''y''' | + | Update RedBoot non-volatile configuration – continue (y/n)? '''y''' |
- | + | ||
- | … Erase from 0xbfff0000-0xbfffffff: . | + | … Erase from 0xbfff0000-0xbfffffff: . |
- | + | ||
- | … Program from 0×80036400-0×80046400 at 0xbfff0000: . | + | … Program from 0×80036400-0×80046400 at 0xbfff0000: . |
- | + | ||
- | RedBoot> '''fconfig img_flash_addr 0xbfc20000''' | + | RedBoot> '''fconfig img_flash_addr 0xbfc20000''' |
- | + | ||
- | img_flash_addr: Setting to 0xbfc20000 | + | img_flash_addr: Setting to 0xbfc20000 |
- | + | ||
- | Update RedBoot non-volatile configuration – continue (y/n)? '''y''' | + | Update RedBoot non-volatile configuration – continue (y/n)? '''y''' |
- | + | ||
- | … Erase from 0xbfff0000-0xbfffffff: . | + | … Erase from 0xbfff0000-0xbfffffff: . |
- | + | ||
- | … Program from 0×80036400-0×80046400 at 0xbfff0000: . | + | … Program from 0×80036400-0×80046400 at 0xbfff0000: . |
- | + | ||
- | RedBoot> '''fconfig img_length 0×003c0000''' | + | RedBoot> '''fconfig img_length 0×003c0000''' |
- | + | ||
- | img_length: Setting to 0×003c0000 | + | img_length: Setting to 0×003c0000 |
- | + | ||
- | Update RedBoot non-volatile configuration – continue (y/n)? '''y''' | + | Update RedBoot non-volatile configuration – continue (y/n)? '''y''' |
- | + | ||
- | … Erase from 0xbfff0000-0xbfffffff: . | + | … Erase from 0xbfff0000-0xbfffffff: . |
- | + | ||
- | … Program from 0×80036400-0×80046400 at 0xbfff0000: . | + | … Program from 0×80036400-0×80046400 at 0xbfff0000: . |
После этого вы можете отключить питание, переключить кабель в любой из LAN портов. | После этого вы можете отключить питание, переключить кабель в любой из LAN портов. | ||
Подайте питание на устройство и подключитесь к нему через браузер по адресу 192.168.0.1 | Подайте питание на устройство и подключитесь к нему через браузер по адресу 192.168.0.1 | ||
- | вы увидите следующее | + | вы увидите следующее: [http://www.shadowandy.net/wp/wp-content/uploads/dir300originalfirmware03small.gif] |
- | + | ||
- | [ | + | |
После чего остается залогиниться учетными данными по умолчанию (смотрите наклейку на вашем устройстве) и залить языковой модуль. | После чего остается залогиниться учетными данными по умолчанию (смотрите наклейку на вашем устройстве) и залить языковой модуль. |
Current revision
English • Deutsch • Español • Français • Italiano • 日本語 • Polski • Português • Русский • Svenska • 中文(中国大陆) • 中文(台灣) • |
Contents |
[edit] Прошивка DD-WRT в DIR-300
Прежде, чем использовать TFTP, стоит попробовать залить DD-WRT через crash mode (времени потрачено будет меньше). Если возникнут проблемы, тогда переходим к прошивке через TFTP.
Если типа что-то пошло не так... не бойтесь, убить таким способом железку очень тяжело. просто передергиваете питание и телнетитесь опять либо на ---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 Зажимаем кнопку "RESET"
- 2.2 Включаем питание роутера.
- 2.3 Через 30 секунд отпускаем "RESET"
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> ip_address -h 192.168.1.1 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
[edit] Рекомендации по выбору прошивки
Рекомендую шить 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 - уже есет в своем составе Русскую локализацию, чем я был приятно удивлен включается выбором языка интерфейса в закладке администрирование, начинает действовать при обновлении странички в браузере.
[edit] Восстановление фирменной прошивки
Оригинал англоязычной статья служившей мне руководством http://wi-fi.na.by/
Предупреждение: При наборе команд не следует пользоваться буфером обмена т.к. буква "х" после процедуры "Вставить" не воспринимается, как символ "х". (набирайте адреса в ручную)
Начало:
1. Вам потребуется оригинальный загрузчик DIR-300 который Вы можете скачать здесь http://www.shadowandy.net/wp/wp-content/uploads/dir300redboot.zip или с одного из зеркал
ftp://ftp.dlink.cz/dir/dir-300/driver_software/dir-300_sw_revA_redboot_all_en_20080307.zip
ftp://ftp.dlink.pl/dir/dir-300/driver_software/dir-300_sw_revA_redboot_all_en_20080307.zip
2. Также Вам потребуется файл конфигурации устройства shadowandy_board_config.bin, который необходимо создать с помощью конструктора расположенного по данной ссылке http://www.shadowandy.net/2009/02/generating-dir-300s-board-config.htm (для генерации файла Вам необходимо знать MAC ID и PIN коды, которые присутствуют на наклейках с нижней стороны устройства.) после того как Вы введете нужные данные в конструкторе, будет предложено сохранить файл на диске.
3. Запускаем TFTP сервер для возможности заливать в устройства файлы
Установка загрузчика (RedBoot): Отступление - в большенстве описаний, и оригинал статьи не исключение, необходимо по ходу перепрошивки устройства менять IP адрес вашего ПК, рекомендую воспользоваться кнопкой "Альтернативная конфигурация" в свойствах TCP/IP протокола вашей сетевой карты и сразу прописать следующие адреса и маски: 192.168.20.2/24 (255.255.255.0) 192.168.1.2/24 192.168.0.2/24 Это позволит не Беспокоиться о том, правильный ли в данный момент времени у Вас адрес или нет.
1. Приготовьтесь подключиться телнетом к 192.168.1.1, port 9000, это можно сделать коммандой putty.exe telnet://192.168.1.1:9000 Я в свою очередь подготовил следующий пакетный файл:
connect1.bat
rem echo off :start ping 192.168.1.1 -n 1 -w 1 > NULL IF ERRORLEVEL 1 goto start break putty.exe telnet://192.168.1.1:9000 -m redboot.txt
также нам понадобится еще один пакетный файл
connect20.bat
rem echo off :start ping 192.168.20.81 -n 1 -w 1 > NULL IF ERRORLEVEL 1 goto start break putty.exe telnet://192.168.20.81:9000 -m redboot.txt
файл redboot.txt, как и в случае заливки DD-WRT содержит два символа - ^C
Теперь Мы готовы приступить к восстановлению оригинальной прошивки - Подключаем ПК к LAN порту - Подаем питание на устройство - запускаем connect1.bat
Через несколько секунд появится приветствие
DD-WRT> ip_address -h 192.168.1.2 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 0xbffe0000-0xbfff0000: . … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . DD-WRT> load -r -b %{FREEMEMLO} dir300redboot.rom Using default protocol (TFTP) Raw file loaded 0×80040800-0×800607ff, assumed entry at 0×80040800 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×80040800-0×80060800 at 0xbfc00000: .. … Erase from 0xbffe0000-0xbfff0000: . … Program from 0×80ff0000-0×81000000 at 0xbffe0000: . DD-WRT> reset
После введенных комманд потребуется около 30 сек на перезагрузку устройства
Переключаем кабель в порт WAN, подаем питание и запускаем connect20.bat ждем соединения с устройством и приглашения
RedBoot> load -r -b %{FREEMEMLO} shadowandy_board_config.bin Using default protocol (TFTP) Raw file loaded 0×80036400-0×800463ff, assumed entry at 0×80036400 RedBoot> fwrite -f 0xbfff0000 -b 0×80036400 -l 0×10000 -e 0×80036400 About to write image into flash – continue (y/n)? y … Erase from 0xbfff0000-0xc0000000: . … Program from 0×80036400-0×80046400 at 0xbfff0000: . update image info.. Update RedBoot non-volatile configuration – continue (y/n)? y RedBoot> reset
Теперь в пору скачать с официального сайта компании D-link, если конечно это еще не сделано, последнюю актуальную фпрошивку и языковой файл.
Кабель должен быть подключен в порт WAN. Подайте питание на устройство, подождите пока оно загрузится и подключитесь WEB браузером к хосту http://192.168.20.81 Вы увидите следующее: Image:Http://www.shadowandy.net/wp/wp-content/uploads/dir300originalfirmware01small.gif остается лишь найти сохраненую оригинальную прошивку устройства и залить ее.
После окончания загрузки прошивки, необходимо сделать завершающие штрихи.
- Нажать на 30 сек кнопку сброс устройства
- запустить connect20.bat
- дождаться приглашения и выполнить следующее
RedBoot> fconfig img_entry_addr 0×80040000 img_entry_addr: Setting to 0×80040000 Update RedBoot non-volatile configuration – continue (y/n)? y … Erase from 0xbfff0000-0xbfffffff: . … Program from 0×80036400-0×80046400 at 0xbfff0000: . RedBoot> fconfig img_flash_addr 0xbfc20000 img_flash_addr: Setting to 0xbfc20000 Update RedBoot non-volatile configuration – continue (y/n)? y … Erase from 0xbfff0000-0xbfffffff: . … Program from 0×80036400-0×80046400 at 0xbfff0000: . RedBoot> fconfig img_length 0×003c0000 img_length: Setting to 0×003c0000 Update RedBoot non-volatile configuration – continue (y/n)? y … Erase from 0xbfff0000-0xbfffffff: . … Program from 0×80036400-0×80046400 at 0xbfff0000: .
После этого вы можете отключить питание, переключить кабель в любой из LAN портов. Подайте питание на устройство и подключитесь к нему через браузер по адресу 192.168.0.1 вы увидите следующее: [2]
После чего остается залогиниться учетными данными по умолчанию (смотрите наклейку на вашем устройстве) и залить языковой модуль. Устройство вернулось к своему первоначальному виду.
Удачи вам!
P.S. Возникла необходимость откатится на оригинальную прошивку, хочу оговориться, что процедуру пришлось повторить дважды т.к. с первого раза MAC адрес устройства не был восстановлен :( Вероятно мои действия имели какую либо ошибку.