Flashing an AirLink router again and again with DD-WRT

I got an Airlink 101 AR430w router from a dude at a McHenry County Software Craftsmanship meeting. He had already flashed it with DD-WRT and like a moron I tried a web firmware upgrade to the latest build 21061 – without knowing what it fixed. Then you turn it on, it powers up, and sits there. Reading: Airlink AR430w flashing instructions

References:

After 2 days of on-and-off messing around, I finally got a telnet session going into the router. You need to have an isolated network so DHCP doesn’t play tricks – I used a laptop on WiFi with an unused Ethernet port and manually set the IP to 192.168.1.10, to play in a different subnet than the WiFi 192.168.0.X. Power up the router, telnet 192.168.1.1 9000 and Putty supplied the Ctrl+C when needed.

I downloaded the new flash files (for the one release older, 14896), set up the Windows TFTP32 server, and killed the laptop firewall. Then I started getting this timeout error. Flashes would not work.

DD-WRT> load -r -b 0x80041000 linux.bin
Using default protocol (TFTP)
TFTP timed out 1/15
Can't load 'linux.bin': operation timed out
DD-WRT> 

Over and over. Read OpenWRT pages, Could not get it to work. As I read, most folks blamed network issues – maybe I had too much going on in my laptop with Virtual Box virtual NICs. I even tried the recommended DrayTek Router Tools from this article on DD-WRT – which worked great, but STILL timed out.

Finally took my brother’s Linux box I am configuring as a firewall – another fun project. It has two NICs, eth0 to 192.168.0.X, internal net, and eth1 I configured as 192.168.1.10.

eth0      Link encap:Ethernet  HWaddr 70:71:bc:77:XX:XX
          inet addr:192.168.0.239  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::7271:bcff:fe77:6140/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth1      Link encap:Ethernet  HWaddr 00:22:3f:e9:YY:YY
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::222:3fff:fee9:4973/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

I installed tftp and tftpd, and added this config (based on this thread in the DD-WRT instructions)

mike@filter:~$ cat /etc/xinetd.d/tftp
service tftp
{
 protocol = udp
 port = 69
 socket_type = dgram
 wait = yes
 user = nobody
 server = /usr/sbin/in.tftpd
 server_args = /tftpboot
 disable = no
}

This crashed the router again. Was in one of the instructions. Not sure why

DD-WRT> ip_address -l 192.168.1.254/24 -h 192.168.1.10

Reset the IP and tried to use the TFTP client to load linux.bin back into the home dir. Worked, so the server was up.

So try yet again…following the flash instructions, but starting after the :

 
root@filter:/home/mike# telnet 192.168.1.1 9000
Trying 192.168.1.1...
                           
DD-WRT> load -r -b 0x80041000 linux.bin
/------------------------------------------------------------------------
-------------------------------------------------------------------------
...  YAHOO IT WORKS!!!! not sure why...
------------------------------------------------------------------------/
Raw file loaded 0x80041000-0x803d2fff, assumed entry at 0x80041000-
DD-WRT> fis create linux
. Erase from 0xbfc30000-0xbffc2000: 
. Program from 0x80041000-0x803d3000 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
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: true
Default server I
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> reset

Router starts up. I get a website at http://192.168.1.1:8080/

Yippee!

This entry was posted in Computers, howto, Software and tagged , , , , , , . Bookmark the permalink.

Leave a Reply