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

After Unpromising (Reset Node) the node is not able to discover for further provisioning.

Hi,

   We are using nRF52840 chipset with SDK 15.0.0  with Mesh implemetation. 

1. We are provisioning the mesh node using the nRF mesh APP.

2. Then we are resetting the node using same nRF mesh APP.

3. Sometimes above works and we are able to scan/see the node in unprovision list  of mesh APP. 

4. But sometime when we reset (unprovision) the node it is not coming back in unprovision list neither we are able to scan/see  it anymore.which is almost dead state for us because we are no longer able to see and connect it.

This has become show stopper for us because even after power cycle we are not able to discover it. 

Waiting for your immediate resolution and support.

Regards,

Ram

  • Hi Ram, 

    Depending on the firmware you're running on the nodes it may not have been designed to put the nodes back into "provisioning mode" after a reset in the app. The easiest way to get the nodes back this state would simply be to re-upload the firmware to the nodes.

    The alternative would be to rewrite the firmware code to enable a function where the nodes goes back into "provisioning mode" after being reset in the app. 

    Best regards, 

    Robin

  • Hi Robin,

      As mentioned in my previous message in point 3 we are having the supporting firmware to unprovision the node and it is working.

    As mentioned in point 4 the actual problem is sometime the unprovision fails  (say out of 10 tries 2 times fail) after that the node is not visible in either provision or unprovision list.

    Even when we power cycle the module it is not even visible in nRF connect APP. It means the BLE chip is DEAD and no more it is accessible from any BLE APP. 

    Observation:

        During unprovison we have the function call mesh_stack_config_clear() to clear the mesh information, during the execution of this function we observe that the BLE chip is resetting because of which the unprovision might be not happening properly.

    Please let us know how we can handle it.

    Regards,

    Ram

  • Hi Ram,

    ramachandra said:
        During unprovison we have the function call mesh_stack_config_clear() to clear the mesh information, during the execution of this function we observe that the BLE chip is resetting because of which the unprovision might be not happening properly.
    Could you please disable optimization in your project and run some debugging to check where in the mesh_stack_config_clear() the reset occurs?  

    Best regards, 

    Robin

  • Hi,

       The reset during the mesh_stack_config_clear()  execution happened only couple of time, But even without reset the BLE chip is not unprovisioing properly.

    Sometime during unprovisiing the device stops advertising and thereafter only way to get it back is reprogramming the chip.

    Regards,

    Ram

  • Hi Ram, 

    Have you tried running debugging on these to determine where in the mesh_stack_config_clear() occurs? 

    I believe that mesh_stack_config_clear() is called in mesh_stack_init(), if the node fails to apply the configurations. When mesh_stack_config_clear() is called, mesh_stack_init() will return NRF_ERROR_INVALID_DATA. If this return value is passed onto an APP_ERROR_CHECK(return_value) then the device will reset.

     As far as I can tell, mesh_stack_config_clear() itself voids all the return values, so it shouldn't reset during mesh_stack_config_clear().

    I have tried to replicate your problem, and I have not been able to recreate the same error with our mesh light switch example code.  

    Regards, 

    Robin 

Related