Using the NRF connect app we can simulate the problem we have in our app Cowboy. Some customers cannot pair with the bike that uses the nRF52840. We have secure and non secure characteristics. Normally to trigger the pairing and entering the static pairing key we read out a secure characteristic. Using the NRF connect app we can do this with most of the products only some respond with authentication failed.
So why does this not trigger the pairing again?
The software versions that we are using is
- SDK 17.0.2
- Soft device S140 7.2.0
Workaround is that when we are stuck in this state the soft device keeps responding that authentication is needed when reading out a secure characteristic but does not trigger the pairing flow on the OS. We are however able to do a DFU update as that is not secured, or better secured different. After the DFU update the device seams to have been reset and the pairing is triggered correctly on the OS when reading out a secure characteristic.
Could this be a bug in the soft device? It should recover from the authentication needed by forcing the OS to start the pairing flow no?
Conclusion
This happens in the Nordic connect application on both iOS and Android so we are now implementing a reset on a timeout if we are stuck in this state. But could you investigate why this is occurring?