cancel
Showing results for 
Search instead for 
Did you mean: 

HCI bluetooth can pair initially, but re-starting encryption always ends with 0x3D MIC failure

BStic.2
Senior

I have been trying to implement a HCI only interface (LL only set) and pass commands to my board (STM32WB55 Nucleo board - BTStack is the bluetooth stack).  Everything works except for the following sequence

-> Connect, pair and bond with Just works (LE Secure Connections)

-> Communicate

->Disconnect

-> Reconnect, skip pairing and use LTK from the first session

-> The stack sends the LE_START_ENCRYPTION command with the LTK from the first pairing (fine) but the target immediately shuts down the connection and reports a MIC (Message Integrity Code) failure (0x3D).  

 

Ive tried different stacks and different versions, and it always ends the same way.

 

This all works perfectly with an off-the-shelf dongle.  When I use the LL only flag, do I need to store pairings somehow?  Is there security information I need to manage?

0 REPLIES 0