===== RedBoot bootloader =====
DNS-300 has a nice bootloader [[http://sources.redhat.com/redboot/|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:
===== Reflash DNS-300 by TFTP =====
I've already used TFTP to repair my firmware with success. :-) You can see logs here:\\
==== Problems with flash ====
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 .......
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!
==== Flash by TFTP ====
* Connect PC with IP 172.16.121.251 to network port of DNS-300
* Start tftpd32 on PC.
* Put last firmware from DLink to the currect directory with tftpd32 and rename it to 'dns300'
* Connect serial console to DNS-300, power it on and press Ctrl-C in console
=> 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.