Hi everyone! I've recently run into some issues with Bluetooth development, and I'd really appreciate your kind help.
1. Hardware & SDK
- SoC: nRF54L15
- SDK: nRF Connect SDK 3.0.2 (Zephyr 4.0.99)
- Controller: SoftDevice Controller
---
2. Goal:
Allow **one Windows PC** to bond with **three local identities (0/1/2)** and keep all three bonds, so the user can switch between channels instantly.
---
3. Verified workflow:
1. Boot → `bt_id_create()` → identities 0, 1, 2 with unique IRKs but **identical public MAC**.
2. Pair identity 0 with PC – success, bond stored.
3. Switch to identity 1 (`adv_param.id = 1`) – PC shows pairing dialog.
4. Enter passkey → **warning appears**:
```
W: Refusing new pairing. The old bond must be unpaired first.
W: SMP does not allow a pairing failure at this point. Disconnecting instead.
```
Connection drops (reason 0x16).
5. Switch back to identity 0 → PC tries to reconnect with old LTK, but bond has been **erased by SoftDevice**, so endless disconnects (reason 0x13).
---
4. Tried & failed fixes
| Config | Result |
|------------------------------------------------------------------------|----------------------------------------------------------------------|
| `CONFIG_BT_ID_UNPAIR_MATCHING_BONDS=n` | Zephyr no longer calls `bt_unpair()`, but **SoftDevice still rejects pairing on another identity**. |
| Dynamic name/appearance (“pseudo-multidevice”) | Works only within one identity; **cannot bind different PCs to different identities**. |
---
5. Current conclusion:
- **SoftDevice limitation**: one remote LE address can bond with **only one local identity** at a time.
- No documented Kconfig or NVS flag to override this.
---
6. Questions:
1. Is there any **undocumented switch or NVS setting** in SoftDevice to allow bonding the same remote address to multiple identities?
2. If the limitation is permanent, what is Nordic’s **recommended practice** for seamless multi-PC switching?
---
7.Addendum – “multi-PC” is already possible
Bonding three distinct PCs (one per identity) works out of the box; the limitation described above only applies when the same PC attempts to bond with multiple identities on the same mouse.
Thanks!
Ozzy