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

nRF52810 S112 background reconnect issue

Hi,

I'm working through a number of the PCA10040e examples (SDK16 | S112 | nRF52810 - mouse and keyboard to be specific) and have noticed some irregular behavior when waking the peripheral from sleep.  After bonding, if you put the peripheral to sleep, and let the central go to sleep as well (screen locked/off, no audio playing, etc.) and then wake the peripheral, the connection is not reestablished.  To restore the connection, you have to restart the peripheral with the central awake (i.e. being moved, screen on, audio playing, etc.)  However, if the central is "awake" when the peripheral is woken up, the connection is restored as expected.

I tried this with a nRF52832 (same examples in PCA10040 with S132) and the issue does not present itself.  The connection is able to be reestablished with the central sleeping.  Is this something to do with the Soft Device?  I plan on running a set of sniffer traces this afternoon and will post the results.

Thanks

p.s. central is an iOS device at this time.

Parents Reply
  • The way I see this is that the phone in this case have a bug of some sort (could be an internal race condition of some sort). It may be triggered by the content of the LL_FEATURE_RSP, since that is slightly different between S112 and S132.

    It can also be that the actual issue is triggered from the very first time the two devices bonded (e.g. some data not stored as it should be), so doing a full clear cache on the phone side (e.g. remove device from the BT listing and turn off/on BT) and re-bond could be worth a try. Just make sure that re-bonding is done without the pm_handler_secure_on_connection()/pm_handler_on_pm_evt() on the peripheral device. 

    Let me know if you have any new findings (e.g. if other phones also show the same, or if it affect normal usage when phone is not in sleep).

Children
Related