Home/Support/Support Forum/New bootloader image won't correctly recover using DHCP/TFTP
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

New bootloader image won't correctly recover using DHCP/TFTP

0 votes
I've been working on testing the ability to recover bad image.bin uploads using the bootloader's DHCP/TFTP recovery mechanism. I'm using tftpd32, which didn't work on Vista, but on XP it worked to upload a new image on modules that had an OLD bootloader image. But after updating the bootloader using a newly compiled (from NET+OS v7.3) rom.bin file, the recovery sequence does send out a DHCP discovery request, and the DHCP server program offers up a valid IP address, but the module ignores the offer and tries again 2 more times before failing and moving on to attempt a serial recovery.

When capturing debug code during the recovery attempt, I see "TFTP...", indicating the the downloadImageUsingTftp() routine is being called in blmain.c. Then after the 3 attempts at getting IP parameters via DHCP, I get the message "DHCP fails", indicating that the board_initialize_dhcp() call failed.

Has anyone else had this problem using a bootloader built from v7.3?
asked Oct 23, 2008 in NET+OS by jfichtner New to the Community (12 points)
recategorized Dec 18, 2013 by tuxembb

Please log in or register to answer this question.

29 Answers

0 votes
In case anyone looks, I see what causes my modules to lock up, most of the time, anyway. The CTS line (pin 11) on my board was initialized to high at power up. Apparently, older modules (with M or R under the end of the bar code) didn't mind this, but the latest modules (with T under the end of the bar code) will not come up with CTS high. I changed my software to initialize that line low, and the modules usually come up. Every once and a while, it won't, and I have to cycle power, and usually it will come up after that. It is annoying, but at least I haven't bricked 30 or so units.
answered Dec 19, 2008 by jwormsley Community Contributor (78 points)
0 votes
Which barcode, the one on the side, or the one on the top?

I have a G under the end of my barcode.
answered Dec 19, 2008 by nfgaida New to the Community (27 points)
0 votes
The one on the side. The top one is the MAC address.

The three I have on hand look like this:

Vertical on left:
CoO: THA
0701

|||||||||||||||||||||||||||
PN: (1P) 50000878-03 R
| -C 95010720E

Vertical on left:
CoO: THA
0625

|||||||||||||||||||||||||||
PN: (1P) 50000878-03 M
| -C 95010720E

Vertical on left:
CoO: THA
0745

|||||||||||||||||||||||||||
PN: (1P) 50000878-03 T
| -C 95010720E


Forgive the formatting, this board compacts the spaces for some reason.

My guess is that the number vertical stuff on the left is "CoO = Country of Origin" and "THA = Thailand" and the number is the year and week of manufacture.

Jeff.
answered Dec 19, 2008 by jwormsley Community Contributor (78 points)
0 votes
Hi, I've been having the same troubles as nfgaida :solid green and yellow lights from start up and serial output as follows:

Starting Recovery
TFTP...

Abort Exception

<core dump of registers>

after that, nothing. Has anyone got anywhere with this?
answered Apr 29, 2009 by matt1 New to the Community (3 points)
0 votes
I had to RMA my unit. Assuming your unit is ignoring your active TFTP server (like mine was), then you probably will have to as well.
answered Apr 29, 2009 by nfgaida New to the Community (27 points)
0 votes
Hi,

There were some minor glitches in the 7.3 bootloader. I have provided a link to a site that has all available patches for 7.3. I would recommend loading (at the minimum) the following patches:

1. BSP Updates
2. FTP Updates

7.3 Patches:
http://www.digi.com/support/productdetl.jsp?pid=2466&osvid=159&tp=6&s=53

After loading the patches, open the ESP and rebuild your project.

If you need to recover your module and are having difficulty, try the Xmodem recovery method I have outlined below for recovering the module.

The recovery method described here are assuming the module is plugged into a Digi development board. When we reference certain pins to be jumped, we are referring to specific pin headers on the development board.

We currently have two styles of development boards. On the older dev board, we are referring to the "MFG" or P5 pin header located next to where the module plugs in. On the new dev boards, the pin header is designated as P9.

Shorting the "/init" pin (pin 20) and the "MFGI" pin (pin 18) to ground, power up the module, and watch for the message "Starting Recovery..." on the serial port at 9600/8/n/1 no flow. Once you see the "C"s creeping across the screen then the module is now ready to receive the new image via the serial connection.

Now, open an Xmodem connection via the serial port to the Digi module (9600 baud, 8 data bits, no parity, 1 stop bit, no flow control). Hyperterminal in Windows will have this capability. The module should show the progress and the image is transferred via serial to it.

Once the image is finished being transferred, the module will write it to it's flash chip. This process may take a minute or two. After this is finished the module should reboot and execute the uploaded image.

NEW style development board:
For doing a recovery using the "NEW" development board, two sets of pins need to be jumpered.

1. Turn off power switch on development board.
2. On the twenty pin header labeled "P3" (located to the left of the ME module, next to the two pushbuttons), jumper pins #16 and #20.
3. On the 4 pin header labeled "P9" (located close to the power connector), jumper pins #3 and #4.
4. Turn on power switch.
5. Watch the output of the serial port, continue remainder of recovery procedure.


Regards...
Scott
answered Apr 29, 2009 by sbrown New to the Community (48 points)
0 votes
This didn't work for me. My unit went instantly to the error after power on, I had no chance to use TFTP or xmodem. I think that there was a failure with that unit only, introduced with a power surge or during transmission of the bootloader as the same bootloader worked perfectly fine on other units I had.
answered Apr 29, 2009 by nfgaida New to the Community (27 points)
0 votes
My module is soldered into a product board rather than being able to plug it into the dev board but shorting pins 18 & 20 to GND made no difference to my case.

I still get:

Starting Recovery
TFTP

Abort Exception


I too have used the serial recovery method in the past (albeit with a unit plugged in to the dev board)
answered May 1, 2009 by matt1 New to the Community (3 points)
0 votes
Hello,
please do you some advice for recovery Connect EM module?
I did some tests with SW1 button on module, but no success. But there is 4-pin connector on module, labeled P3, but it's not documented anywhere ... Maybe it's the key, but I don't know.

thank you, regards Michal
answered May 25, 2009 by dvorak_mikroklima New to the Community (4 points)
...