This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Static Provisioner - ACCESS_STATUS_INSUFFICIENT_RESOURCES

Hi, 

I have a problem with the BLE mesh light example using the static provisioner. I have modified the example to have multiple Generic OnOff servers. Client and Servers are working using nRF mesh to provision and set up publish/subscribe.

I have modified the configuration steps in the provision code to be able to setup all generic OnOff as i wanted. It have been working to subscribe to the client but when i added a publish configuration step i get an error. I have tried to limit the steps and changed to only publishing from the servers to the client and that is also working.

I'm getting opcode error 5. 

<t:    2212109>, node_setup.c,  289, opcode status field: 5 

Which is

ACCESS_STATUS_INSUFFICIENT_RESOURCES             = 0x05, /**< The node cannot store provided information due to insufficient resources on node. */

I'm having a hard time to debug this i dont understand what the insufficient resources on the node actually means and how to fix it whether it is on the Provision device or Server node?

Thanks,
Michael

  • Hi Michael

    It seems like the node is out of space (probably in flash). Are you able to find out how much space is left on the node before adding these functions, and compare it to how much flash is on your nodes. You can for example use the nRFConnect for desktop "programmer" app to see how much flash storage is left.

    This post describes a "last resort" fix for applications that are "out of" flash storage where you can erase some of the UICR register to free up more of the flash storage, although I wouldn't recommend it if there is anything in your application you can live without.

    Best regards,

    Simon

  • Hi Simon,

    Thank you for the fast reply.

    I testing with only having added one more Generic OnOff server per server node. The difference between the example and modified example are approximately 728 bytes. There should be around 45 % flash back to play with. 

    Tested with the "programmer" app and checked with the Memory Usage from SES. Seems to be correct.

    Best regards,
    Michael

  • Hi Michael

    Please check out the available documentation on the Provisioning process in the Infocenter, specifically the Serial provisioners and ESDH offloading, I think your application might be bottlenecked at the ECDH algorithm, as this can easily happen when running multiple provisioners in parallel.

    Best regards,

    Simon

  • Hi Simon,

    I'm a bit confused about the serial provisioner and offloading. Does the offloading only apply when using Serial provisioners? 
    I'm using one nrf52832 DK as a provisioner with the static provisioner source code on it from the light_switch example. Thus im not using multiple provisioners, right?

    Thanks,

    Michael 

  • Hi

    Seeing as we don't know exactly what the insufficient resources are, I suggest you try implementing the ECDH offloading to see if the problem persists or not. What it does is that it frees up the CPU usage of target devices. Based on the info you've provided I'm not sure if it will work, but please give it a try and come back to me with the result.

    Best regards,

    Simon

Related