DNS-300 has a nice bootloader RedBoot. It allows to reflash device over Serial Console or over network by TFTP. With Serial console you can press Ctrl-C before kernel bootup and you will see following menu:
Link Down
Ethernet eth0:: MAC address 00:13:46:fd:21:e2 IP: 192.168.0.101, Default server: 0.0.0.0
==> enter ^C to abort booting
^C
Boot Menu
====================================================================
1: Start the Kernel Code
2: XModem Download
3: TFTP download
4: Command Line Interface
5: Set IP adderss
6: Setting MAC address
=> Select:
I’ve already used TFTP to repair my firmware with success.
You can see logs here:
After some experiments with RedBoot console, I’ve got dead DNS-300 with yellow status LED. Serial console showed following messages:
Link Down Ethernet eth0:: MAC address 00:13:46:fd:21:e2 IP: 192.168.0.101, Default server : 0.0.0.0 ==> enter ^C to abort booting Searching Kernel Flash Image ....OK Varifying checksum ....... <err> Checksum fail, expect=8aec3a6e got=8aed3a6e check sum fail GPIO_init 95344 OUTPUT_PORT_0 read=7f reg=1 Searching for the BOOTP server ... FAILED Try search default TFTP server .... TFTP download from server=10.9.29.1 filename=czImage Waiting to receive file .... Unable to reach host 10.9.29.1 (10.9.29.1) NO Data Received img_size=0! Unable to reach host 10.9.29.1 (10.9.29.1) NO Data Received img_size=0!
=> Select: 3
CTRL+C to abort
Local IP address: 172.16.121.100
Server IP Address: 172.16.121.251
File Name: dns300
TFTP download from server=172.16.121.251 filename=dns300
Waiting to receive file ....
-
Raw file loaded 0x01000000-0x017dbfff, assumed entry at 0x01000000
Download completed,size=8241152 varifying .....OK.
determinate image type type=1
Do not power-off this device while flash programming is proceeding!!
Erase flash ...addr=0x70020000 size=0x7dc000
... Erase from 0x70020000-0x707fc000: ..........................................
.....................
OK!
... Program from 0x01000000-0x017dc000 at 0x70020000: ..........................
.....................................
OK!
Upgrade successfully!
Boot Menu
====================================================================
1: Start the Kernel Code
2: XModem Download
3: TFTP download
4: Command Line Interface
5: Set IP adderss
6: Setting MAC address
=> Select:
After this you may boot your device successfuly.