Issue with random number generation in Bluetooth Mesh with NCSv2.9.0 and Zephyr BT controller BT_LL_SW_SPLIT.

Hello,

      We have been working on a Bluetooth Mesh application based on NCSv2.5.1 using nrf52840DKs for quite some time. We are now considering acquiring some DKs of the new nrf54 series and would like to update our code and upgrade to the latest NCSv2.9.0. However, we have encountered an issue with the random number generator when using the Zephyr BT controller (bt-ll-sw-split).

      In Bluetooth mesh, when applying the network transmit procedure to introduce packet redundancy, each retransmission should be made after a fixed interval (typically 20 ms) plus a random delay (typically 0-10 ms). This behavior was observed when using NCSv2.5.1. However, when using the new NCSv2.9.0, the packets appear to receive the same random delay consistently.

      The following image illustrates a Wireshark capture of four transmissions using the basic Bluetooth Mesh sample of the SDK:

     

     As can be seen, the retransmissions are always transmitted after a FIXED interval of 27.92 ms.

     If we opt for the softdevice instead of the experimental BT_LL_SW_SPLIT, the results appear to be accurate. However, we require the Zephyr BT controller to implement certain modifications to the code.

     Note that, utilizing the same example in the NCSv2.5.1 version does not exhibit this anomaly.

     Steps to reproduce this anomaly:

          - Create a new application from sample.

          - Select nRF Connect SDK v2.9.0.

          - Select zephyr/samples/bluetooth/mesh sample.

          - Create a build configuration for the nrf52840dk/nrf52840 with the snippet: bt-ll-sw-split.

          - Build, erase, and flash the device.

          - Open Wireshark with another nrf52840DK equipped with the Sniffer firmware and filter btmesh. Start capturing.

          - Press several times the Button 1 on the DK to provision it and generate mesh messages.

    Could there be an error in our actions or omissions?

    Thank you.

     Regards,

           David

Related