Instalacja ( wgrywanie ) oprogramowania DD-WRT do urządzenia D-link DIR-300 A1 (Atheros AR2317 183MHz, 16 RAM, 4 MB Flash)

  1. Zmienić IP komputera na 192.168.20.80 z maską 255.255.255.0.
  2. Zainstalować program Tftpd32-3.28-setup.exe, uruchomić go i wybrać folder zawierający plik ap61.ram. W polu Server Interfaces należy wpisać adres IP komputera swojego komputera, tj. 192.168.20.80.
  3. Wpiąć kabel Ethernet do portu WAN routera.
  4. Wyłączyć DIR-300. Przytrzymując przycisk Reset wpiąć ponownie zasilanie. Trzymać przycisk Reset ok. 20 sek. Po zaświeceniu portu WAN routera (ok. 5 sek. po wpięciu wtyczki) uruchomić program Putty.exe. Ustawić adres IP na 192.168.20.81, port na 9000 oraz typ połączenia na Telnet. Po połączeniu zostanie wyświetlony napis: ^C Redboot>
  5. Należy załadować plik ap61.ram komendą load ap61.ram a następnie wpisać go. Po wykonaniu polecenia nastąpi rozłączenie sesji. NIE WOLNO RESTARTOWAĆ URZĄDZENIA.
  6. Zmienić IP komputera na 192.168.1.2 z maską 255.255.255.0.
  7. Wpiąć kabel Ethernet do portu LAN routera.
  8. Zrestartować program Tftpd32 (aby zmienił się w programie adres serwera po zmianie IP naszego komputera) i wybrać folder zawierający plik ap61.rom (program pozostawiamy otwarty już do samego końca operacji).
  9. Uruchomić program Putty.exe. Ustawić adres IP na 192.168.1.1, port na 9000 oraz typ połączenia na Telnet. Po połączeniu zostanie wyświetlony napis DD-WRT>
  10. Postępować zgodnie z poniższym listingiem:
    DD-WRT> ^C
    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 0x80ff0000-0x81000000 at 0xbffe0000: .
    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> load -r -b %{FREEMEMLO} ap61.rom
    Using default protocol (TFTP)
    Raw file loaded 0x80080000-0x800a8717, assumed entry at 0x80080000
    DD-WRT> fis create -l 0x30000 -e 0xbfc00000 RedBoot
    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 0x80ff0000-0x81000000 at 0xbffe0000: .
    DD-WRT> reset
  11. Urządzenie samo się zrestartuje.
  12. Uruchomid ponownie program Putty.exe. Ustawid adres IP na 192.168.1.1, port na 9000 oraz typ połączenia na Telnet. Należy również zaznaczyd opcję Never w sekcji Close window on exit:
  13. Postępowad zgodnie z poniższym listingiem:
  14. Wykonanie polecenia fis create linux zajmuje ok 2 min. dlatego tak ważne jest zaznaczenie w programie Putty opcji Never w sekcji Close window on exit.
    DD-WRT> ^C 
    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 0xbffe0000-0xbfff0000: . 
    ... Program from 0x80ff0000-0x81000000 at 0xbffe0000: . 
    DD-WRT> load -r -b 0x80041000 linux.bin 
    Using default protocol (TFTP) 
    Raw file loaded 0x80041000-0x803ddfff, assumed entry at 0x80041000 
    DD-WRT> fis create linux
    ... Erase from 0xbfc30000-0xbffcd000: .......................................................... 
    ... Program from 0x80041000-0x803de000 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 3 
    boot_script_timeout: Setting to 3 
    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: 
    Enter script, terminate with empty line 
    >> fis load -l linux 
    >> exec 
    >> 
    Boot script timeout (1000ms resolution): 3 
    Use BOOTP for network configuration: false 
    Gateway IP address: 
    Local IP address: 
    Local IP address mask: 
    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> reset
  15. Urządzenie automatycznie się zrestartuje. Po restarcie urządzenie będzie dostępne pod adresem 192.168.1.1 z wgranym oprogramowaniem DD-WRT.

Więcej informacji:
https://wiki.dd-wrt.com/wiki/index.php/D-Link_DIR300_rev_A#Redboot_access_script_for_Windows
https://download1.dd-wrt.com/dd-wrtv2/downloads/v24/Atheros%20WiSoc/D-Link%20DIR300/