Firmware Upgrade OTA fails repeatedly even after successful transmission of .ebin files to the Remote/Target node

Hi All,

As detailed in the S6BSM(WiFi Module) Document, I tried updating the Firmware over the Air.

Steps:

  1. Erase entire GPM Memory - Successful

  2. Content of .ebin file is sent to Target module in 1024 bytes blocks using GPM_WRITE command - Successful (Received Explicit ZigBee Receive Packet(0x91) from Target module for each send block).

  3. FIRMWARE_VERIFY_AND_INSTALL : Fail

GPM_OPTIONS byte in the Firmware_Response packet loaded with 01 - Means GPM doesn’t contain a Valid Firmware image.

Why after successful reception of all the Firmware(.ebin) Blocks, it shows that Firmware image is invalid when I try verifying the Firmware with Firmware_Verify(0x05) command??

I tried sending different firmware, still the same feedback.

Downloaded the .ebin file (v.2026) from:

http://www.digi.com/support/productdetail?pid=5585&type=firmware

What could be the issue? Is it really possible to Upgrade Over the Air with Digi WiFi devices?

1 Like

I would suggest that you look over page 47 of the manual located at http://ftp1.digi.com/support/documentation/90002180_K.pdf. Then I would suggest making sure you are issuing the proper Application header. Then look at pages 66 - 75.

2 Likes

Hi mvut,

Thanks a lot for the informative reply.

I modified my frames with Application Header. Still Update fails. :frowning:

Example:

Firmware (.ebin) used : 2026

I am sending Erase and Write command (0x03) for first 512 Bytes to block 0 of GPM. Destination IP is 130.10.2.226.

Both Source and Target Modules are connected to same Access Point.

  1. Frame without Application Header

7E 02 1C 11 01 00 00 00 00 82 0A 02 E2 FF FE E6 E6 00 23 C1 05 00 00 03 00 00 00 00 00 02 00 23 44 69 67 69 20 55 70 64 61 74 65 20 49 6D 61 67 65 20 2E 65 62 69 6E 0D 0A 04 00 0B EE 0B EE 7C 00 64 22 00 02 27 01 FF FF FF FF FF FF FF FF 01 FF EB 1F 00 02 00 00 FF …FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF A9

Transmit Status : 7E 00 07 8B 01 FF FE 00 00 00 76 (Success)

Explicit Rx Indicator:

7E 00 1A 91 00 00 00 00 82 0A 02 E2 FF FE E6 E6 00 23 C1 05 00 83 00 00 00 00 00 00 00 C9

  1. Frames with Application Header

7E 02 24 11 01 00 00 00 00 82 0A 02 E2 FF FE E6 E6 00 23 C1 05 00 00 42 42 00 00 00 00 03 00 03 00 00 00 00 00 02 00 23 44 69 67 69 20 55 70 64 61 74 65 20 49 6D 61 67 65 20 2E 65 62 69 6E 0D 0A 04 00 0B EE 0B EE 7C 00 64 22 00 02 27 01 FF FF FF FF FF FF FF FF 01 FF EB 1F 00 02 00 …F FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 22

Transmit Status : 7E 00 07 8B 01 FF FE 00 00 00 76 (Success)

Explicit Receive Indicator:

7E 00 1A 91 00 00 00 00 82 0A 02 E2 FF FE E6 E6 00 23 C1 05 00 C2 01 00 00 00 00 00 00 89

Even though, all frames are send with succesful transmit status, Firmware_Verify Command replies with 0x85 0x01 - Means Firmware uploaded is invalid.

WiFi settings configured in Source Module:

ATBD7	      Set Baud rate - 115200
ATMA1	     IP Addressing Mode - Static
ATIP1	     IP Protocol - TCP
ATEE2	        Set Encryption - WPA2
ATC01000	Set Source Port Address - 1000
ATDE1000	Set Destination Port Address -1000
ATAP0	         API Enable
ATAO2	        Type of Frame to Output - Rx64
ATRo0	        Packetization Timeout - Buffer 0
ATTM64	       Timeout on Connection on TCP Client - 0x64(ms)
ATTS64	       Timeout on Connection on TCP Server - 0x64(ms)
ATDO0 	       Disable device cloud.

Kindly advise…!

Much Appreciated!