- Newest
- Most votes
- Most comments
Hi. If your device firmware is using LoRaMac-node, the NotEnoughMemory error is coming from here: https://github.com/Lora-net/LoRaMac-node/blob/dcbcfb329b4a343ab007bc19ac43a8dc952b3354/src/apps/LoRaMac/common/LmHandler/packages/LmhpFragmentation.c#L367. You will need to adjust your fragment settings (in your device firmware) so that the device can accept the new firmware.
UPDATE: Something that's changed since I made the video is the addition of the Advanced Transmission Parameters when you create the FUOTA task. Here you can set a custom fragment size. If NotEnoughMemory is occurring because your device expects a fragment size smaller than the default (50), you can adjust it. So this might solve the problem without adjusting your firmware.
Hi, I also tried to schedule downlink from AWS manually to my device. I am able to receive that downlink but my device status in the multicast setup group is always package attempting not changing to multicast setup ready. How to rectify this issue ? Thanks
I don't see how you could receive the downlink if the setup never occurred.
I met the same issue with Nucleo-WL55JC1 devkit, when following the video https://www.youtube.com/watch?v=LcCR-1eKX1w after my device "Switch to Class C", AWS doesn't send the TX message according to Network Analyzer. I tried many settings, none of them works. I use RfRegion AS923-1, @Greg_B, can you try it ? thanks
Hi. FUOTA is still working for me, however Network Analyzer is not logging the downlink messages. I've raised an issue for that internally, and will post here when it's fixed. In your case, please enable XDEBUG level logging on your gateway and check for downlink messages in the gateway logs.
Relevant content
- asked a year ago
- asked 2 years ago
- asked 3 years ago
- asked a year ago
- AWS OFFICIALUpdated a year ago

Hi, I also tried FUOTA with nrf52840dk and semtech shield, here I don't face any NotEnoughMemory error. Listed the errors faced, Multicast group: The status of my device is always "package attempting" in the created multicast group, it is not changing to "multicast setup ready" as shown in the video. FUOTA tasks: I see the status of my FUOTA task is "FUOTA done" but the device status is still "Initial" not changed to "successful" How do I make this successful ? what are the possible reasons for this issue ? Thanks
Are you able to get a log of all messages, including MAC commands? Like what I show in the video. So you can see where in the sequence it breaks down.
My device is able to change to class C but not receiving the fragments from AWS, instead starts to send uplinks continuously. I also observed the messages in port 200 in the network analyzer when device switched to class C. I don't know how to debug this issue further ? At some instances its even difficult to debug as the device is not receiving the multicast setup request from AWS and not switching to class C. I observed the network analyzer log, my device is switching to class c and receiving the FragSessionSetupReq & FragSessionSetupAns after which the fuota fragments are not received by the device from AWS as per the scheduled time. Instead I see fuota task status as FUOTA DONE but device status as NotEnoughMemory not changed to SUCCESSFUL.
If your device returns
NotEnoughMemoryinFragSessionSetupAns, that's the end of the FUOTA attempt. There is nothing more that can be done, because your device has said it's not capable of accepting the FUOTA. As I explained in my answer, you need to change your device firmware.Something that's changed since I made the video is the addition of the Advanced Transmission Parameters when you create the FUOTA task. Here you can set a custom fragment size. If
NotEnoughMemoryis occurring because your device expects a fragment size smaller than the default (50), you can adjust it. So this might solve the problem without adjusting your firmware.