DD-WRT on Airlink 101 AR430W

From Sfvlug

DD-WRT Project

Hi. For those interested in the DD-WRT project I wanted to contribute the following information to help you get DD-WRT installed on an Airlink101 AR430W (available at Fry's for $19.99, frequently on sale for $14.99).

Download all the files for the AR430W from the dd-wrt.com downloads page. Save or move the files under the directory served by your tftp server. The instructions there are poorly written. Hopefully the following will help you get it done. Save the following as a shell script.

#!/bin/sh

ifconfig eth0 192.168.20.80 up
false
while [ $? -ne 0 ] ; do
    echo -n .
    ping -c1 -W1 192.168.20.81 > /dev/null
done
echo
printf "\\003\
" | nc 192.168.20.81 9000
telnet 192.168.20.81 9000

Next, here is a transcript of my session hacking DD-WRT onto the AR430W. The parts I had to type are in bold. Type the name of the script above (I saved it as dd-wrt.sh) into your terminal and unplug the power from the AR430W. With one hand hit enter on your keyboard and with the other hand plug the power back in. You may have to repeat this initial step because trial may give more errors than success. If you don't see the ^C being sent in about 12 to 15 seconds, it failed, so try again. Also, after nc sends the ^C, you may need to hit ^C manually to break and get the telnet line in the script to run.

~# sh /tmp/dd-wrt.sh
.............
== Executing boot script in 0.410 seconds - enter ^C to abort
^C
RedBoot>
Trying 192.168.20.81...
Connected to 192.168.20.81.
Escape character is '^]'.
RedBoot> /releases/svn.porsche/redboot-ar231x/redboot-ar231x/redboot_cobra/ecos/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c#390:ae531x_send AHB ERROR: AR531X_DEBUG_ERROR = 0000c34f
/releases/svn.porsche/redboot-ar231x/redboot-ar231x/redboot_cobra/ecos/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c#393:ae531x_send AHB ERROR status_4 = 00000555
/releases/svn.porsche/redboot-ar231x/redboot-ar231x/redboot_cobra/ecos/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c#390:ae531x_send AHB ERROR: AR531X_DEBUG_ERROR = 00000555
/releases/svn.porsche/redboot-ar231x/redboot-ar231x/redboot_cobra/ecos/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c#393:ae531x_send AHB ERROR status_4 = 00000145

RedBoot> load ap61.ram
Using default protocol (TFTP)
Entry point: 0x800410bc, address range: 0x80041000-0x800680d8
RedBoot> go
^]
telnet> quit
Connection closed.
~# ifconfig eth0 192.168.1.23 up
~# telnet 192.168.1.1 9000
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
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.23
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
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 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
^]
telnet> quit
Connection closed.
~# telnet 192.168.1.1 9000
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
DD-WRT> ip_address -h 192.168.1.23
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.23
DD-WRT> load -r -b 0x80041000 linux.bin
Using default protocol (TFTP)
Raw file '''loaded 0x80041000-0x803c4fff, assumed entry at 0x80041000
DD-WRT> fis create linux
... Erase from 0xbfc30000-0xbffb4000: .........................................................
... Program from 0x80041000-0x803c5000 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
^]
telnet> quit
Connection closed.

At this point, pull the power out of the AR430W and plug it back in. Some sources I saw on the web said you might need to power cycle the router a few times for it to boot properly. Mine came up after one cycle.

--Added by Jeff Carlson on Feb 9, 2009.


Jeff

Your Ad Here
Personal tools