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

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

+1 vote
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?
asked Aug 3, 2015 in IEEE 802.11 (Wi-Fi) by Mundhazir Lathef New to the Community (4 points)

Please log in or register to answer this question.

1 Answer

+2 votes
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.
answered Aug 4, 2015 by mvut Veteran of the Digi Community (11,302 points)
Hi mvut,

Thanks a lot  for the informative reply.

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


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

2) 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!
...