This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Swift Pairing for custom gatt service

Hi,

I am using custom gatt service & I have included some of the code which supports swift pairing from ble_hid_mouse example. Here is my sniffer log -

mtu_log.pcapng

& the jlink rtt log -

paired - Copy.txt

For my application, the MTU size is 32 & data length is 36.

Windows keeps negotiating the size to be 512.

After I pair to the peripheral by connecting through the Windows bluetooth menu, it takes 1 minute to establish the ble connection & start data communication. If I dont pair, then the connection is quick. Now I know you will tell me the app has to make a connection. But I would also like to support manual pairing. Our device gets bricked if someone accidentally pairs with the device through Windows bluetooth menu. To avoid this I had to add the swift pairing support.

How do I expedite the connection on Windows for swift pairing? (note the same firmware without swift pairing feature works on Android OS perfectly fine with or without pairing.)

Parents
  • Hi

    You can try adding the delete_bonds() function to the disconnect event of your application. Looking at the sniffer trace, it seems like your device tries to connect multiple times before it succeeds. Please check the connected and disconnected reasons (BLE_GAP_EVT_DISCONNECTED) as these seem to not be included in your RTT log.

    Best regards,

    Simon

Reply
  • Hi

    You can try adding the delete_bonds() function to the disconnect event of your application. Looking at the sniffer trace, it seems like your device tries to connect multiple times before it succeeds. Please check the connected and disconnected reasons (BLE_GAP_EVT_DISCONNECTED) as these seem to not be included in your RTT log.

    Best regards,

    Simon

Children
Related