Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sl_si91x_fwup_load times out with result 7 #4

Open
Jacques-Munckhof-GGL opened this issue Oct 21, 2024 · 0 comments
Open

sl_si91x_fwup_load times out with result 7 #4

Jacques-Munckhof-GGL opened this issue Oct 21, 2024 · 0 comments
Labels
0-bug Something isn't working

Comments

@Jacques-Munckhof-GGL
Copy link

Summary

  • Issue description:
    When attempting to perform a BLE OTA of the M4 firmware using the iot-pa-ble-ota_fwup_efr_connect example, the "sl_si91x_fwup_load" will hang for 5s and then return 7 (timeout). This will usually happen within the first 5 'chunks' of fw data being parsed.
    I have found that adding "osDelay(1)" immediately before the function calls (ln1104 and ln1107) fixes this.
  • Use case / test scenario
    iot-pa-ble-ota_fwup_efr_connect configured for M4 FW update
  • Reference environment
    • SW and HW
      SIWG917 BRD4338A Rev12
      Simplicity SDK v2024.6.2
      Wiseconnect3_sdk_3.3.3
  • Simplicity Studio version (if applicable)
    SV5.9.3.1
  • Is the issue reproducible with SDK sample application or only user application?
    Sample application - configured for M4 update (have not tried TA update)
    To Reproduce
    Steps to reproduce the behavior:
  1. Go to SiWx917/ble/iot-pa-ble-ota_fwup_efr_connect
  2. Open ble_config.h
  3. Set "FW_UPGRADE_TYPE" to "M4_FW_UP"
  4. Run the example
  5. Use either the "Si917-OTA Firmware Update.exe" tool or the Si Connect app to connect to the SIWG917 and upload an application. I used the BLE Heart Rate Example.
  6. Using logging or any other debug tools, check the return value of "sl_si91x_fwup_load" for each firmware packet.
  7. Within a 1-5 packets, there is a timeout event.

Expected behavior
The sample SHOULD parse all the firmware packets and execute the firmware update

Actual behavior
The fwup times out

Additional context
I had to slow down the connection interval to between 30-100, otherwise I'd often get GATT write events while the fwup function was still running , and miss the packet.
I added some logging to view the packet parsing.
The final packet ALWAYS times out, I don't get the expected value of 0x10003 when the process is complete. But resetting the device after the final packet is sent does kick it into the new application.

@Jacques-Munckhof-GGL Jacques-Munckhof-GGL added the 0-bug Something isn't working label Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0-bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant