OTAFU and Versioning

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi,

I've read in the "WICED Secure Over-the-Air Firmware Upgrade" application note that version information is included in the firmware image, and then the major version information is checked vs the previous major version. Then it (the LE Stack) will not allow the upgrade to continue of the new major version is lower than the previous major version.

1. Is this version checking only done when using the SOTAFU (Secure OTAFU) process? So the non-secure OTAFU process will  not perform this check?

2. Does this check occur during in the ROM code?

3. Since the secure firmware image format includes the product id and major and minor version (and is specified as a parameter to the WsRsaSign.exe application), does that mean the WS_UPGRADE_APP_INFO structure is not used in the SOTAFU version check?

     a. The WS_UPGRADE_APP_INFO does not seem to be used anywhere then, is that true?

Thanks,

Mike

0 Likes
1 Solution
asridharan
Employee
Employee
10 comments on KBA 5 comments on KBA First comment on KBA

1. The secure OTA upgrade sample checks app ID and major version and the non-secure OTA sample app does not. If you need to, you can add similar checks in your application's implementation of the non-secure OTA upgrade code.

2. No, this is done in the app. In the secure OTA upgrade sample app, see ws_upgrade_ota_handle_data(), there is a check:

if (ws_upgrade_info.Version_Major < WsUpgradeAppInfo.Version_Major)

{

    return WS_UPGRADE_WRITE_STATUS_BAD_MAJOR;

}

3. See ws_upgrade_ota_handle_data() in ws_sec_upgrade_ota.c. App ID and major version are both used here.

View solution in original post

1 Reply
asridharan
Employee
Employee
10 comments on KBA 5 comments on KBA First comment on KBA

1. The secure OTA upgrade sample checks app ID and major version and the non-secure OTA sample app does not. If you need to, you can add similar checks in your application's implementation of the non-secure OTA upgrade code.

2. No, this is done in the app. In the secure OTA upgrade sample app, see ws_upgrade_ota_handle_data(), there is a check:

if (ws_upgrade_info.Version_Major < WsUpgradeAppInfo.Version_Major)

{

    return WS_UPGRADE_WRITE_STATUS_BAD_MAJOR;

}

3. See ws_upgrade_ota_handle_data() in ws_sec_upgrade_ota.c. App ID and major version are both used here.