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

Mesh proxy got disconnecting after connected

Hi


   I am using nrf sdk 15.2.0 for MEsh networking.(Mesh SDK version 3.3).

Hardware platform -nrf52832(pca10040).

Steps followed:

1. Compile and Run light switch demo with proxy enabled is working fine.

2. after that tested with proxi-coexist example with nrf mesh App .

3.i enabled PB_GATT and and GATT_Feature enabled .system got reset ..or fatal error will display on console in advertising_init

   for this i changed advertising settings from fast to slow mode.

 
    init.config.ble_adv_slow_enabled  = true;
    init.config.ble_adv_slow_interval = 1600;
    init.config.ble_adv_slow_timeout  = 0;

    I can able proximity coexist example is advertising in nrfmesh app. If i try to connect ,connection successful i can see connected message in terminal. But after that it got disconnected. Why it is getting disconnecting.or any other changes is there to do for mesh to get work .Please help me on this.

Regards

Raji

Parents
  • Hello,

    Can you try to define DEBUG in your preprocessor defines, and see what the log says before the fatal error? It should give some more information on what error that triggered the reset.

    Best regards,

    Edvin

  • Hi Edvin,

     Thanks for your replyRelaxed. DEBUG macro has defined and the project built and ran successfully. We found that an error message "ASSERTION FAILED at :0" before reset event. Can you explain the causes of this error and how to fix this?

  • It looks like you are hitting one of the NRF_MESH_ASSERT() with false as input:

    NRF_MESH_ASSERT(false);

    Maybe the one in advertiser.c on line 472?

    The unmodified example shouldn't reach one of these, so it is probably due to some of the changes you did. Now that you know how DEBUG works, can you try to revert the changes you did with the advertising? I believe it could be related to this, as mesh uses advertising packets, so it might not be a fan of changing the advertising type.

    Try with the unmodified example, and see if the DEBUG define shed some light on what's going on.

    BR,

    Edvin

  • We have tested the ble_app_proximity_coexist with nrf52_SDK_15.2.0 as following combination,

    1. Built and tested the project with default settings, Device listed in nrf_connect and made transaction successfully,

    2. Enabled Macros (MESH_FEATURE_PB_GATT_ENABLED, MESH_FEATURE_GATT_PROXY_ENABLED), got error  and couldn't view the device in nrf_connect and mesh app.

    3. Commented advertising_init(), advertising_start(), tx_powerset() , device listed in nrf_connect and nrf_mesh app. it seems work fine. But it got ASSERTION_ERROR when we make provision through nrf_mesh app. How to solve this Assertion_Error occurrence during provisioning?(This is actual issue we told at the beginning). 

    Thanks and Regards,

    Raji

  • So is 1. working as expected? Are you disconnecting on purpose, or are you having trouble provisioning? 

    Are 2. and 3. attempts to fix 1.? Or are you trying to add features to 1.?

    If the disconnects are not on purpose, can you please try to log the disconnect reason in the disconnected event?

    NRF_LOG_INFO("disconnected reason %d", p_ble_evt->evt.gap_evt.params.disconnected.reason);

Reply
  • So is 1. working as expected? Are you disconnecting on purpose, or are you having trouble provisioning? 

    Are 2. and 3. attempts to fix 1.? Or are you trying to add features to 1.?

    If the disconnects are not on purpose, can you please try to log the disconnect reason in the disconnected event?

    NRF_LOG_INFO("disconnected reason %d", p_ble_evt->evt.gap_evt.params.disconnected.reason);

Children
  • So is 1. working as expected? Are you disconnecting on purpose, or are you having trouble provisioning?

    Yes. Test:1 working as expected. We disconnected for just testing....

    Are 2. and 3. attempts to fix 1.? Or are you trying to add features to 1.?

    Yes. I am trying to add PROXY_FEATURE in base code.

    NRF_LOG_INFO("disconnected reason %d", p_ble_evt->evt.gap_evt.params.disconnected.reason);

    Here, I need to clarify my understanding. We can understand the scenario like below from the Test:3 screenshot,

    1. ble stack initialized.

    2. mesh initialized

    3. models initialized

    4. mesh advertising started

    5. device listed in nRF_Mesh app

    6. Connecting device by tap the device name

    In nRF_Mesh side, we can saying it as Disconnecting.

    In Firmware side,  we getting ASSERTION_ERROR in some place. it may not be from disconnect event . so we need to find it out that why it happens and where? Am I right ?

    I will update the disconnect event reason..

    Thanks.

  • SDK3.1.0 (Mesh) has the proxy feature included in both the light switch server and client.

    When you get this empty assert, it is one of the NRF_MESH_ASSERT(false). I am afraid you have to try them out by setting a breakpoint. Alternatively, changing the "false" with something you can recognize. 

Related