2022-10-10 11:37 AM
Hello,
I am having trouble running a successful LoRaWAN FUOTA campaign for my Nucleo-WL55JC development board. I am using the LoRaWAN_FUOTA_DualCore example project found in the STM32CubeWL_V1.2.0 firmware package, and am using AWS-IoT for LoRaWAN as my network server.
Following the steps in AN5554 (LoRaWAN firmware update over the air with STM32CubeWL), I am able to successfully compile the End_Node application + SBSFU firmware and flash it to my Nucleo board using the provided BATCH scripts. I am also able to make minor changes to the End_Node application (eg. adding additional print statements), and see those changes reflected in the UART output from my board. I am also able to commission the device with AWS, and it in turn successfully joins with the network server and I am able to see my device payloads arrive in the MQTT topics I have routed them to.
The trouble I am having is in the execution of the FUOTA campaign. I am following the steps outlined in the AWS IoT Core for LoRaWAN workshop FUOTA demonstration(https://catalog.us-east-1.prod.workshops.aws/workshops/b95a6659-bd4f-4567-8307-bddb43a608c4/en-US/480-fuota/100-prerequisites), which targets the same Nucleo-WL55JC board that I am using. The only difference that I can see between it and my setup is that I am in the US, and hence must use the US915 band for my device.
In short, when I commission the device with AWS as shown and start the FUOTA campaign ( including uploading the .sfb firmware binary for the CM4 produced by the build process to AWS-S3 ), I see the Device's FUOTA status in AWS change from "Pending" to "Initial", followed by the UART prints from my device halting all together. I never get any UART messages printed from the frag_decoder interface, and after leaving the device overnight, the AWS FUOTA task status transitioned from "FUOTA session waiting" to "FUOTA Done", however the Device's status was still set at "Initial", and it had not printed any additional messages. Power cycling the Nucleo board showed no change in it's firmware.
Does anyone have any suggestions as to how to proceed in finding what is wrong, or any common or easy-to-miss steps I may be missing in my setup? As far as I can tell the FUOTA firmware build locks out JTAG-based debugging so I am not sure how I might be able to find if/where it is locked up in code.