Forget all previous connection data when connecting to new Central

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

cross mob
thj_2192231
Level 2
Level 2
First like received First like given

We're using the BCM20736S as a peripheral, the app being loosely based on hello_sensor.

We're having an issue when connecting to several centrals, which are iOS devices.

Example:

- Connect the sensor (peripheral) to iOS device A (central). Pairing dialog appears. Device can read encrypted sensor data with no issues.

- OTAP sensor to new firmware using the iOS device A.

- After OTAP, connect to iOS device A and read sensor data, everything works fine.

- Switch to iOS device B, pairing dialog appears, press Pair, sensor data can also be read with no issues.

- Connect back to iOS device A. Connection is made but no sensor data can be read.

Sometimes, this issue also occurs when not performing OTAP in the middle, just when changing centrals from A -> B -> C then back to A or B.

Sensor connects but for some reason doesn't bond, and no pairing dialog appears, even though the sensor has been forgotten in the iOS Bluetooth settings.

For this reason, I'd like to forget all previous connection data (pairing information) when connecting to a new central. Is there a way to do that ?

0 Likes
3 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

Are the BD_ADDRs being changed so that the iOS based central sees different peripherals connect?

Recall that all of our devices ship with the same BD_ADDR, so it could confuse the iOS device.

0 Likes

Yes, all sensors are programmed with a different (random) BD_ADDR.

0 Likes
Anonymous
Not applicable

Hi thierry,

You can look in this file in the WICED Smart SDK:

Wiced-Smart/bleapp/lestack/smp/lesmpkeys.h

on line 206 (lesmpkeys_removeAllBondInfo)

Does this accomplish what you are looking for?

-Lucy

0 Likes