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

mesh Configuration

The relay successful rate of my Mesh setup is not 100%. I think light server miss packet from light client. I have tried to change configuration following:

1  #define BEARER_SCAN_INT_DEFAULT_MS 700 (default 2000) ;

2 #define BEARER_SCAN_WINDOW_DEFAULT_MS 700 (default 2000) ;

But it seems performance no much difference. May consult how to optimize Radio configuration in order to scan 37, 38, 39 channels fast effectively?

Thanks

MK Chen

  • You can find the rssi value inside nrf_mesh_rx_metadata_t ->scanner->rssi.

    But I don't see how rssi having rssi filter here can help. 

    PROV_BEARER_ADV_UNACKED_REPEAT_COUNT   is not related, as it's for provisioning bearer

    How far is it between your relays ? Do you have a lot of interference ? I don't see how success rate with one hop is 90% then with 2 hops it's only 50% Thought it should be around 81%. 

    Please make sure you have good enough TTL to cover all the hops. In your case TTL should be minimum 4. 

    What is the repeat number you find in the sniffer ? Could you show ? 

  • Hi Hung Bui, Thanks for you reply.

    my setup as following diagram:

      may

    I don't think there is many interference, because it is office and after office hours. Since Tx power is -16dBm, I may be too low. my idea is increase Tx to -10 dBm and add RSSI filter to prevent  Tx signal bypass reply note.

    I have used sniffer to capture Relay signal, normally it will be relay 3 packets at 37,38 and 39, but sometimes less then 3 packets, is it should be sniffer missed packets?

    Could I consult you following:

    what is default TTL value? where can check at source code  ?

    I can't find APP_UNACK_MSG_REPEAT_COUNT  = 2 , where can check repeat number at source code?

    Thanks

    MK Chen 

  • You can find APP_UNACK_MSG_REPEAT_COUNT = 2 in our lightswitch client code (SDK v3.x)

    It's very simple we call access_model_publish() APP_UNACK_MSG_REPEAT_COUNT times when we send one message. 

    The TTL value is set during provisioning&configuration , you can find it in the node_setup.c  at client_pub_state_set() or config_step_execute() at NODE_SETUP_CONFIG_PUBLICATION_ONOFF_SERVER event. 

    Node that it's only for the light switch example. If you write your own code and your own provisioner, you may set it differently. 

  • Dear Hung Bui,

    I checked node_setup.c, but this file is not inside project, so current light switch is not this method to get TTL?

    Thanks

    MK Chen

Related