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

No ATT communication possible anymore after 30 seconds (BLE_GATTC_EVT_TIMEOUT)

We have a problem on our test system:  it cannot communicate with our DUT on ATT level after 30 seconds.

Our DUT consists of a NRF52840 with SDK 16.0.0 and softdevice S113 version 7.0.1

The test system uses an ubuntu linux box with an USB BLE dongle (Startech BT1EDR4) running gattool (this test setup has been used in prior non-nRF52 BLE projects without a problem)

So everything works fine for 30 seconds, then after that no communication on ATT level is possible anymore, but the BLE connection remains. Bonding was succesfull and the link is encrypted.

On the DUT side we can see that after 30 seconds a BLE_GATTC_EVT_TIMEOUT event occurs after which no ATT communication is possible anymore. We do not understand why this event occurs though. When we setup a BLE connection with an Iphone or Android to our DUT this problem does not occur.

Any idea why we get this event? Should the test system perform some actions which are expected by the NRF52?

Parents Reply
  • Hi Marko, 

    Thanks for the on-air trace. So its after the Read by Type Requests (packets 900 and 901) that the nRF52840 stops responding and 30 seconds after this you get the BLE_GATTC_EVT_TIMEOUT event on the nRF52840 side?

    Looking at the trace i see that the nRF initaties a connection parameter update, but according to the Peripheral Connection Parameter Update message sequence chart there appears to be missing a LL_CONNECTION_UPDATE_IND packet from the Startech dongle/gattool. So the SD is probably waiting for this and is hence ignoring the ATT requests. 

    Best regards

    Bjørn

Children
Related