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

nRF52840 with SDK 15.2 running with BLE and Data Length Extension

Hi all,

I observe a connection supervision timeout (HMI error code 0x08) in my Nordic firmware with certain Android smartphones (controller).

Additional info regarding GATT events: After the last connection parameter update and some GATT events the softdevice stops reporting BLE_GATTS_EVT_HVN_TX_COMPLETE and BLE_GATTS_EVT_WRITE.

After exchanging the MTU request in GATT the controller sends data length update requests over GAP with

  • Max number of payload octets to receive of  251 bytes
  • Max reception time of 2120 us
  • Max number of payload octets to transmit of  135 bytes
  • Max transmission time of 1192 us (BAD CASE) and 2120 us (GOOD CASE)

Any ideas?

Parents Reply
  • Hi,

    If your BLE peripheral is in a connection with a central, and the central stops responding for so long that the supervision timeout triggers, you will get the event BLE_GAP_EVT_DISCONNECTED with reason BLE_HCI_CONNECTION_TIMEOUT (0x08).

    I suspect either peripheral or central is asserting, and when one side assert, it will by default do a system reset and start over again. This will be observed as BLE_HCI_CONNECTION_TIMEOUT on the other side.

    To find what is causing the assert you need to define DEBUG and set a breakpoint in app_error_fault_handler() to find file name, line number, and error code.

    -Amanda H.

Children
Related