Softdevice Controller: TX with 100% duty cycle scanning in v2.3

After updating to the softdevice controller included with NCS v2.3.0 (nrfxlib 6d0f58448fae164cfa4d28c494d6bddf5d0d0224), I have noticed what appears to be a behaviour change.

Previously, when configuring Zephyr to scan on Bluetooth with 100% duty cycle (interval == window), extended advertising packets that were scheduled for transmission by my application would be received on a secondary device reliably. After updating, I am seeing approximately 0% of these packets (maybe 1 packet every minutes at 1Hz transmission). If I update my scanning window from 100% to 99%, the secondary device is again receiving the vast majority of the packets. In both cases, I receive no errors from the Bluetooth stack and all expected events are generated (TX done callback called with num_sent == 1).

Has there been some internal change to TX or RX scheduling in v2.3 that could account for this change in behaviour?
Perhaps related to the experimental PAwR or PAST support added?

Parents
  • Hi again Jordan, 

    The team has confirmed that it's a bug in our controller. A fix will be implemented in the future release. But we afraid that it will not come in nRF Connect v2.4 as it's coming out very soon. 
    For now, our suggestion is to either use 2 events instead of 1 when you increase the length of the advertising set. Or use dummy data so that the length of the advertising data doesn't change. 

    I'm not so sure why you don't see the same issue when in SDK v2.2 as the information I got from the team is that this bug has been there for a long time. I did a test with your code (changing length of adv packets) in SDK v2.2 and saw the same issue.

  • Thank you for the update Hung. I will admit I didn't re-test v2.2 after I made the change to updating the advertising set instead of recreating it. I am quite confident that the single event mode worked fine on v1.9.4 when recreating the set each time, but I've had much less testing with any other configuration.

  • Hi Jordan, 

    Yes it's about right that the change/bug might have introduced in SDK v2.0. 
    Most likely the fix won't be able to make it to 2.4 but it will be fixed in 2.5. 

Reply Children
Related