Bonding to multiple devices fails

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.xmece.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
8 posts / 0 new
Last post
mkelwood
Offline
Last seen:1 month 2 weeks ago
Joined:2017-05-19 18:27
Bonding to multiple devices fails

I have an issue where bonding to multiple devices is failing. This is very repeatable. Here is how we demonstrate the problem:
1. Pair our DA14585 peripheral to one central device. Connect. All is well. Disconnect.
2. Pair DA14585 to a second central device. Connect. Still fine - communicating with the second device. Disconnect
3. Try to connect to our DA14585 from the first paired device. The DA14585 rejects the connection with LL_REJECT_IND, error code 0x06 “PIN or Key Missing”.

This can be repaired on the first central by forgetting the pairing on the central device and then re-connecting (and re-entering the PIN). But then the second central device can no longer connect, which makes pairing useless for more than one device. It appears that only the last paired device can actually connect.

Our bond database size is set to 3 pairings. The bond database appears to be intact and not corrupted. What is going on here?

Any help appreciated.

MKE

Keywords:
Device:
PM_Dialog
Offline
Last seen:3 days 20 min ago
Staff
Joined:2018-02-08 11:03
Hi mkelwood,

Hi mkelwood,

Thanks for let us know. I will try to replicate your issue. Could you please clarify which example of the SDK are you using? The ble_app_security example? Or you have implemented a custom application? I used the ble_app_security example of the SDK, but I was not able to replicate this issue. In case you are using this example, could you please clarify which type of security are you using?

Thanks, PM_Dialog

mkelwood
Offline
Last seen:1 month 2 weeks ago
Joined:2017-05-19 18:27
Hello PM_Dialog,

Hello PM_Dialog,

We are currently using SDK 6.0.10.511 on DA14585. This is a custom application; I believe it was originally derived from the ble_app_peripheral example sources but is has been extensively modified and expanded. We are using Passkey Entry authentication method where a 6 digit passkey PIN is unique to each device and is generated using a proprietary hash of the device serial number. On the device side this is handled in the user_app_on_tk_exch() function.

I have attached our user_config.h file so you can see the other security settings.

此外,债券数据库存储在闪存memory of another processor on the PCB, so we had to implement custom load/store software for this database. I suspected this may be causing the problem but I have verified that the bond database that is stored in the separate processor is identical the the database in DA14585 memory, and the fields appear to be valid.

Let me know if you need any more information.

With best regards,
MKE

Attachment:
PM_Dialog
Offline
Last seen:3 days 20 min ago
Staff
Joined:2018-02-08 11:03
Hi mkelwood,

Hi mkelwood,

Thanks for your inputs. I will try to replicate your issue and I will get back to you as soon as I have a solution. Be aware that my first attempt wat to replicate it with the ble_app_security example of the SDK, but unfortunately it seems to work correctly.

Thanks, PM_Dialog

mkelwood
Offline
Last seen:1 month 2 weeks ago
Joined:2017-05-19 18:27
Thank you PM_Dialog. Please

Thank you PM_Dialog. Please let me know if you need any additional information.

PM_Dialog
Offline
Last seen:3 days 20 min ago
Staff
Joined:2018-02-08 11:03
Hi mkelwood,

Hi mkelwood,

Could you please try the procedure you have described with the ble_app_security example of the SDK? Do you have the same issue?

Thanks, PM_Dialog

mkelwood
Offline
Last seen:1 month 2 weeks ago
Joined:2017-05-19 18:27
This appears to have been our

This appears to have been our problem - corruption in the bond database during transfer between processors. I believe we have it fixed. Thank you for your help.

PM_Dialog
Offline
Last seen:3 days 20 min ago
Staff
Joined:2018-02-08 11:03
Hi mkelwood,

Hi mkelwood,

Glad that you figured your issue out.

Thanks, PM_Dialog