Restoring a corrupt application image
Restoring a corrupt application image
This article applies to any Control Solutions product that contains an embedded web server module. If there is no web user interface, then this article does not apply.
First of all, confirm that the application image is indeed corrupt. Simply not responding to attempts to connect to the device over the network does not mean the application image is corrupt. There can be many reasons why a device might not connect. To confirm that the application image is corrupt, use Wireshark (free download at www.wireshark.org) to capture packets on the network during bootup. If you see your device generating BOOTP requests, this is a rather certain clue that its application image is corrupt, and it is attempting auto-recovery.
The most likely cause of a corrupt application is a failed attempt to update firmware. (Second most likely cause is loss of power while writing configuration memory.) If the update process gets interrupted or does not complete, the application will be corrupt because now Flash is only half programmed with the new application. Thankfully, there is a bootloader that is tougher to kill than the application.
Restoring the application will require a DHCPserver and a TFTP server. The simplest tool we have found that provides both at the same time is Tftpd32 discussed below. The PC that Tftpd32 will be running on should be temporarily set to a static IP address and disconnected from your primary network (after downloading Tftpd32).
In addition to downloading Tftpd32, you will also need to download a copy of the firmware image for your device, which may be found at http://www.csimn.com/support/index.html. You will need a login - you can request one at www.csimn.com/ticket.
Pictorial Overview of Tftpd32 from http://tftpd32.jounin.net/
IMPORTANT NOTE FOR WINDOWS 10 USERS: Do not run the installer (setup.exe), it will cause unrecoverable network problems. Instead, download the ZIP file (standard edition, 32-bit), unzip, and run the tftpd32.exe found in the zip file (this is the program, not an installer). The 32-bit tftpd32.exe will run on 64-bit Windows 10. We have tested tftpd32.exe successfully on Windows 10 when simply run from the unzipped folder. As of June 22, 2016, we have yet to figure out how to fully restore the network connection on the Windows 10 system we ran the installer (setup.exe) on.
Download specifically this link for 32-bitWindows: http://tftpd32.jounin.net/download/Tftpd32-3.51-setup.exe.
All available downloads are found on this page: http://tftpd32.jounin.net/tftpd32_download.html
Run the installer. It goes fast. Open Tftpd32 and configure as follows:
(1) Click on the settings button at the bottom of the screen. You do not need to change anything on the GLOBAL page or SYSLOG page.
(2) Go to the TFTP tab. Create a directory and enter that name for TFTP base directory. In our example, we use /TFTP-Root. This directory is now the location where you should place the copy of image.bin that you downloaded from the csimn.com web site.
(3) Go to the DHCP tab. The IP pool starting address should be an unused address on your local network. In our example, our broadband router is at 192.168.1.1 so we do not want to use that address in the pool (it should be entered as Default router). The size of the pool will be the number of available IP addresses that DHCP will assign. The following example makes addresses 192.168.1.2 through 192.168.1.22 available. The PC that Tftpd32 is running on is at 192.168.1.25 - all that matters is that the PC is not within the range assigned to the pool. Enter a subnet mask as shown. You do not need anything for DNS server or domain name. You do need to enter "image.bin" as the boot file. This is the file that should be found in the base directory noted above. IMPORTANT: Firmware update for Control Solutions devices requires that the file be named "image.bin" and nothing else. Click OK to close the settings dialog.
(4)Upon successful assignment of a DHCP address, you will see it listed on the DHCP tab of the main Tftpd32 window as illustrated below.
When uploading the image.bin, another dialog box indicating progress will appear briefly.
Once the image is transferred. YOU MUST WAIT for the Flash burning process to complete, usually 2+ minutes. When complete, the green LED on the RJ45 Ethernet jack will begin blinking at a steady rate (a little faster than once a second). When the green LED starts blinking, you may now reboot (power cycle) the device.