BCM20732S lesmp_sendSecurityRequest() to Previously Bonded iOS 8.0 Device

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

When I use lesmp_sendSecurityRequest() to a iOS 8.0 device that is already bonded, the smp timer never starts, and I never receive the lesmp_regSMPResultCb() callback.  iOS 7.1.2 always starts the smp timer and calls the lesmp_regSMPResultCb() callback.  We rely on the callback to complete our connection setup.  Please advise why the smp timer is not starting and the callback is never called.

0 Likes
1 Solution

According to the spec, sending security request should result in pairing if devices are not bonded, or setting up the encryption, if devices are already bonded.  So if you are already bonded, your application should be waiting for encryption changed callback rather than SMP result callback.  Application can check if it is paired with the device at the time when connection is established, by calling emconninfo_deviceBonded().

It actually works correctly in iOS 8 (and it used to work correctly in iOS 5).  In 6 and 7 when phone received SMP request it would erroneously start pairing even if devices are already paired.

View solution in original post

0 Likes
4 Replies