This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2340R5: Repeated Bonding Issue in KeyFob ↔︎ Cluster Multi-role Setup

Part Number: CC2340R5

Tool/software:

Hi Forum,

I am working on a KeyFob project with two devices: a KeyFob (multi-role) and a Cluster (multi-role).

For bonding, the Cluster initially acts as Central and the KeyFob as Peripheral. After bonding, the roles swap: the Cluster becomes Peripheral and the KeyFob becomes Central.

In normal operation, the KeyFob wakes up, sends a connection request to the Cluster, and performs packet exchange. However, I am observing an issue where devices appear to re-pair on every connection attempt.

Interestingly, when I connect either module separately to an Android phone using the nRF app, no re-pairing occurs.

By “re-pairing,” I mean that I am receiving all events in Pairing_pairStateHandler except the encryption complete event.

Could someone help me understand why this repeated pairing is happening in my multi-role KeyFob Left right arrow Cluster setup?

Regards

Vaibhav

  • Hi !

    Could you please tell me which version of the SDK you are using for both devices ? Are they both using the CC2340R5 ?

    Additionally, when your keyfob wakes up and connects, after the packet exchange do they disconnect formally through a disconnection request or does the connection ends after a timeout from the keyfob not answering any packet from the cluster node ?

    Kind regards,
    Lea

  • Hi Lea,

    I am using SDK : 09.11.00.18. Yes, Both devices are CC2340R5.

    At this point, I just tested till bonding. At event PAIR_BOND_SAVED, key fob does service discovery. That's it.

    As per the design, packet exchange will trigger at event PAIR_ENCRYPT, unfortunately it is not happening.

    Regarding disconnection, there is no  formal disconnect, i am manually resetting both the devices.

    Regards

    Vaibhav

  • Hi !

    It is expected for devices to pair every time they connect to each other if either the peripheral or the central asks for a pairing request. Instead of using BLEAPPUTIL_PAIRING_STATE_ENCRYPTED, you could try to use BLEAPPUTIL_PAIRING_STATE_COMPLETE, which I think would work well in your case.

    Kind regards,
    Lea

  • Hi Lea,

    I am facing a similar issue. Wherein I am not receiving the "BLEAPPUTIL_PAIRING_STATE_ENCRYPTED" for the first time after initiating a pair.

    Does this mean that when pairing is initiated for the first time, The link is not encrypted?

     

  • Hi Sandeep,

    In is not expected to get "BLEAPPUTIL_PAIRING_STATE_ENCRYPTED" at first time pairing. we should get "BLEAPPUTIL_PAIRING_STATE_BOND_SAVED" .

    Regards

    Vaibhav