I have a NCP running with Softwear flow control, this seems tobe working fine. The IP driver is working on ubuntu. I am using Thread 2.9.1.0 and I have build the OTA-Server-Host from the APP_BUILDER, I then made it using Make and it then builds and runs okay. after turning the app.s37 file to a app.gbl using comander, the .gbl was then turned to a .ota using image-builder-linux I got an app.ota file;
When i insert the file into the ota-server-Host the server boots and can see the file however its gives an error "app.ota: Bad version (512 != 256)" I can not find any refance to this?
thread-bookkeeping.c:
thread-debug-print.h.bak:
app.ota: Bad version (512 != 256)
thread-cli.c:
.makefile:
thread-debug-print.h:
thread-token.h:
thread-configuration.h.bak:
thread-board.h:
thread-coap-dispatch.c:
.project:
ota-server-host_2.isc:
thread-events.c:
thread-callbacks.h:
thread-zclip.c:
thread-zclip.h:
thread-callbacks.c:
Load files found 0 files
OTA Bootload Server Policy: GetImageNotifyInfo a=:: m=0x0000 t=0xFFFF v=0xFFFFFFFF
Can anyone help?
Thanks
Bryce
Discussion Forums
ZigBee and Thread
Answered
Answered
"Bad version" can be found in app/thread/plugin/zcl/ota-bootload-storage-unix/ota-bootload-storage-unix.c . Looks like you have a file version mismatch.
1
Hello Kpszupin,
Thanks for your replay, Could you/anyone show me where this value is set in simplicity Studio (Thread_Stack)?
I did some digging and it looks like "EMBER_ZCL_OTA_BOOTLOAD_FILE_VERSION" & "emberFetchLowHighInt16u(finger)".
However I carn't find where i Define there in silabs IDE
Thanks
Bryce
0
Hi Bryce,
ZCL over IP only works with EMBER_ZCL_OTA_BOOTLOAD_FILE_VERSION=0x200 (512), but it seems like your ota file has version 0x100 (256).
Could you elaborate which command do you use with image-builder-linux to create the .ota file?
1
Hello BeenK,
The command I have been using is: sudo ./image-builder-linux -c "app.ota" -v 3 -m 0x1002 -i 0 -t 0x0000 -f '/home/admin1/Desktop/app.gbl'
I haven't seen anything in an716 about changing the Header Version.
If you could show me where this is set I would be very grateful.
Thanks
Bryce
0
AN716 section 4.7.1 notes dotdot requires stack version 4 and security credentials set to 1. So you need something like this:
Thread Stack OTA File
I have a NCP running with Softwear flow control, this seems tobe working fine. The IP driver is working on ubuntu. I am using Thread 2.9.1.0 and I have build the OTA-Server-Host from the APP_BUILDER, I then made it using Make and it then builds and runs okay. after turning the app.s37 file to a app.gbl using comander, the .gbl was then turned to a .ota using image-builder-linux I got an app.ota file;
Magic Number: 0x0BEEF11E
Header Version: 0x0100
Header Length: 56 bytes
Field Control: 0x0000
Manufacturer ID: 0x0001
Image Type: 0x0000
Firmware Version: 0x00000100
Stack Version: 0x0002
Header String:
Total Image Size: 293248 bytes
Total Tags: 1
ID: 0x0000 (Upgrade Image)
Length: 293186 bytes
Found 1 files.
When i insert the file into the ota-server-Host the server boots and can see the file however its gives an error "app.ota: Bad version (512 != 256)" I can not find any refance to this?
thread-bookkeeping.c:
thread-debug-print.h.bak:
app.ota: Bad version (512 != 256)
thread-cli.c:
.makefile:
thread-debug-print.h:
thread-token.h:
thread-configuration.h.bak:
thread-board.h:
thread-coap-dispatch.c:
.project:
ota-server-host_2.isc:
thread-events.c:
thread-callbacks.h:
thread-zclip.c:
thread-zclip.h:
thread-callbacks.c:
Load files found 0 files
OTA Bootload Server Policy: GetImageNotifyInfo a=:: m=0x0000 t=0xFFFF v=0xFFFFFFFF
Can anyone help?
Thanks
Bryce
Hello Kpszupin,
Thanks for your replay, Could you/anyone show me where this value is set in simplicity Studio (Thread_Stack)?
I did some digging and it looks like "EMBER_ZCL_OTA_BOOTLOAD_FILE_VERSION" & "emberFetchLowHighInt16u(finger)".
However I carn't find where i Define there in silabs IDE
Thanks
Bryce
Hi Bryce,
ZCL over IP only works with EMBER_ZCL_OTA_BOOTLOAD_FILE_VERSION=0x200 (512), but it seems like your ota file has version 0x100 (256).
Could you elaborate which command do you use with image-builder-linux to create the .ota file?
Hello BeenK,
The command I have been using is: sudo ./image-builder-linux -c "app.ota" -v 3 -m 0x1002 -i 0 -t 0x0000 -f '/home/admin1/Desktop/app.gbl'
I haven't seen anything in an716 about changing the Header Version.
If you could show me where this is set I would be very grateful.
Thanks
Bryce
AN716 section 4.7.1 notes dotdot requires stack version 4 and security credentials set to 1. So you need something like this:
The OTA-Server-Host;
Next block request
Accessing block: 0x00
Next block request
Accessing block: 0x00
Next block request
Accessing block: 0x00
Next block request
Accessing block: 0x00
Next block request
Accessing block: 0x00
Next block request
Accessing block: 0x00
Next block request
Accessing block: 0x00
Next block request
Accessing block: 0x00
OTA Bootload Server Policy: UpgradeEndRequest a=fde6:4cd3:a4e0:0:e610:c9ab:83d3:5354 m=0x0000 t=0xFFFF v=0x80000001 s=0x95 t=0
the EndNode then left the network and never came back on online, the cli on the endnode is also dead.
Did it resive the update and then fail to install/reboot?
Thanks
Thanks for all your help, the OTA-server-host likes the file,
Would you comferm my settings please,
On the endDevice
This is a MGM12P 1MB device
Bootloader
Internal Storage Bootloader (Multiple Images on 1MB Device)
In My .ISC file
Under the ZCL over IP tab
-General
-Over the Air Bootloading
-Client box checked
Under the Plugins Tab
OTA Bootload Client (Enabled)
OTA Bootload Client Policy (Enabled)
OTA Bootload Core (Enabled)
OTA Bootload Storage CLI (Enabled)
OTA Bootload Storage Core (Enabled)
Ota Bootload Storage EEPROM (Enabled)
EEPROM (Enabled)
ZCL Core (Enabled)
the code I have been using to make the .OTA file is;
sudo ./image-builder-linux -c "apptest3777.ota" -v 0x00000020 -m 0x0000 -i 0xFFFF -t 0x0000 -s 4 -f '/home/admin1/Desktop/TATA-Sensor-ota_v22.gbl' --security-credentials=3
I know you told me the --security-credentials=1 how ever the server sead that it != 3 so i changed it to 3 and the server liked it.
Would you mind showing if any of the settings are wrong please as its not quit working,
Sent discovery command: .well-known/core?rt=urn:zcl:c.2000.s&
get 0x00
[ASSERT:C:/SiliconLabs/SimplicityStudio/v4/developer/sdks/gecko_sdk_suite/v2.5/protocol/thread/app/thread/plugin/zcl/ota-bootload-client/ota-bootload-client.c:870]
Reset info: 0x07 (CRS)
Extended reset info: 0x0701 (AST)
Handler mode using main stack (00000000 to 20002E38), SP = 00000000
0 bytes used (0%) in main stack (out of 11832 bytes total)
No interrupts active
Reset cause: Assert 8.:0
R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000
R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000
R8 = 00000000, R9 = 00000000, R10 = 00000000, R11 = 00000000
R12 = 00000000, R13(LR) = 00000000, MSP = 00000000, PSP = 00000000
PC = 00000000, xPSR = 00000000, MSP used = 00000000, PSP used = 00000000
CSTACK bottom = 00000000, ICSR = 00000000, SHCSR = 00000000, INT_ACTIVE0 = 00000000
INT_ACTIVE1 = 00000000, CFSR = 00000000, HFSR = 00000000, DFSR = 00000000
MMAR/BFAR = 00000000, AFSR = 00000000, Ret0 = 00000000, Ret1 = 00000000
Ret2 = 00000000, Ret3 = 00000000, Ret4 = 00000000, Ret5 = 00000000
Dat0 = 00000000, Dat1 = 00000000
Init: 0x00
Thanks
Bryce