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

I am having a problem on the second connect after bonding to a bluez 5.43 central

I can connect/pair/bond to the nrfConnect app and disconnect then reconnect just fine. When I try to do the same to a central running on arm bluez 5.43, the second and subsequent connections timeout after about 30 seconds and the peripheral gets a BLE_GATTC_EVT_TIMEOUT and disconnects.

I have wireshark cptures of the nrf Connect connections and the failing connection to my central.

1st and 2nd connections working as expected rfconnect.pcapng

1st connection mycentral.pcapng

2nd connection (disconnected by peripheral after 30 seconds) mycentral2.pcapng

Parents
  • Hi Larsen,

    MTU request is sent by the peripheral by the call sd_ble_gattc_exchange_mtu_request() to the softdevice.

    Most of the time this is called inside on_connected_evt() in nrf_ble_gatt.c

    You can modify the code so that it won't call if the link is encrypted. (You will receive PM_EVT_BONDED_PEER_CONNECTED event from peer manager if it's a previously bonded peer )

Reply
  • Hi Larsen,

    MTU request is sent by the peripheral by the call sd_ble_gattc_exchange_mtu_request() to the softdevice.

    Most of the time this is called inside on_connected_evt() in nrf_ble_gatt.c

    You can modify the code so that it won't call if the link is encrypted. (You will receive PM_EVT_BONDED_PEER_CONNECTED event from peer manager if it's a previously bonded peer )

Children
No Data
Related