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

BLE Scan Packet Receive Latency When Done Along Side Mesh.

Hi,

Scenario:  Scanning  non mesh BLE packet with different stacks.

H/W Device -  nRF52DK

Observation:

Case 1. Non Mesh BLE Stack (Soft device):: Here able to receive scan packets in less than 1 sec interval.

Case 2. Mesh stack device                          : Here the scan packets are received around 10 to 15 secs of interval..

Is this expected behavior in mesh stack? Is there any way to decreases the latency between the reception of scan packets when done along with mesh?

Note: There is no difference in the advertisement frequency/packet in both the cases.

Parents
  • Hi,

    I would like some more information regarding your solution and setup.

    What are the parameters for the advertisements being sent? Most importantly advertising interval.

    For Case 1, what application are you running and using what SDK and version? For instance, is it an example from the nRF5 SDK? Which one?

    For Case 2, I assume you are using an example from the nRF5 SDK for Mesh. Can you confirm? What example? Is it with or without GATT proxy feature? How do you scan for the advertisements? (Through setting up a scanner using the nRF5 SDK libraries or by hooking onto the mesh stack for getting the advertisements?)

    Regards,
    Terje

  • Case 1: SDK 15 ble_app_scan_c 

    Case 2: I have tried both integrating the scan in both proxy as well as non proxy server example of light switch. Both seems to give the same result.(nrf_mesh_sdk_2.1.1)

    I am scanning for the advertisements using the nRF5 SDK libraries (nrf_sdh libraries to be exact).

    As for the advertisement interval  it is set as small as possible. I am not able to tell the exact interval as the advertising device is an android phone and android ble sdk allows us to just set values like 1, 2, 3 levels.

  • So, how does this match with the response by who explained that the Link Layer of the Bluetooth mesh stack only supports passive scanning?

    1. Either you have implemented an alternating approach between BLE scanning and the mesh stack operation like @tesc says.

    2. Or perhaps another device is doing active scanning and this device picks up the scan responses while it does not itself send out scan requests?

  • Hi,

    To me it sounds like the solution from is to use the scan module from the SDK in addition to the mesh stack, which means at any given point in time either the mesh stack or the scan module (but not both) is scanning. That means you should get scan responses from the SDK scan, and probably also relayed from the mesh stack when another device has sent a scan request.

    Regards,
    Terje

  • 1. It seems we actually get scan responses through the mesh.

    2. So it is a matter of sending out the requests to have full-fledged active scanning functionality in the mesh. A small step, but very valuable because it does not introduce unnecessary competition wrt the radio peripheral, reduces code base, and likely causes fewer timing issues with other devices. Can you point us towards where/how you would implement it preferably in the mesh code so we are future-proof with respect to your implementation? We're assuming you will add it anyway in the near future. :-)

  • Hi,

    Sorry for the late reply, and thank you for the request!

    For you to change the mesh stack code is not a particularly good idea, as it would render the QDIDs void. (I.e. you need to qualify the modified mesh stack.) What that means in practice is that you will have to use the SoftDevice API for active scanning.

    I guess you could minimize the time spent outside of the mesh stack by only do active scanning for a short period of time, directly after having received a scannable advertisement through the mesh callback. (So that on the next advertisement you will get to scan.)

    Regards,
    Terje

  • Which QDID? https://launchstudio.bluetooth.com/ListingDetails/59560 QDID 111537 is limited to nRF5 MESH SDK 2.0.1. Anyway, it's not relevant for us.

    https://www.bluetooth.com/bluetooth-technology/topology-options/le-mesh/mesh-faq/

    Can I qualify my existing Bluetooth products with low-energy functionality for Bluetooth mesh?

    No, existing products cannot be qualified for Bluetooth mesh. However, those products may already have the inherent ability to be added onto a mesh network.

    Hence, we will not qualify them, but we will add the ability to function in a mesh. This means we can indeed make changes and provide a better customer experience in general. .

Reply Children
Related