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

BLE_GATTC_EVT_TIMEOUT: Possible causes?

Hello,

I am still having troubles with the BLE_GATTC_EVT_TIMEOUT. The problem is that the error is not happening frequently and is hard to reproduce. It is also hard to attach a sniffer to each connection (and the nRF sniffer doesn't even work reliably) Here is what I have:

  • Scatternet of 8 Beacons running as concurrent central and peripheral
  • I send Write Requests but after a while the communication stalls for 30 seconds
  • I receive a GATTC timeout

I do have one beacon that will produce a similar fault very realiable. All Beacons are nRF51 Dongles of newer age with the S130 v2. It will connect to other beacons, the exchange a few packets, but then the link only sends empty PDUs. (THIS MIGHT NOT BE THE SAME FAULT)

image description

Is this a fault that I could potentially have made in my code? It looks like the Acknowledgement is never sent, but how could I possible interfer in this process with my code? Isn't this the SoftDevice's fault? Is it possible that I can decide to not acknowledge a write or to block it? Why is packet 155 an empty PDU, why is it not acknowledged directly?

Marius

Parents
  • Nothing special from the outside, a developer dongle just like the others, but even after reflashing, it has these kind of connections problems which I cannot figure out.

    I only have to plug it in and have another beacon around and they will connect, but the connection will break.

    I will test with one pair of devices tomorrow and post the results. I do the disconnection manually after two seconds because that is part of the handshake. So I get local and remote host disconnect. I could remove this timeout and see what the disconnect reason will be, but I gues it will be a GATTC_EVT_TIMEOUT, the same problem that I have with my other beacons.

    I do not use slave latency.

    I do not use special interrupts, I use Uart and Button interrupts, but these are lower priority.

    I do also pull all events and other following events are processed happily. I have many logs now which I am analyzing.

Reply
  • Nothing special from the outside, a developer dongle just like the others, but even after reflashing, it has these kind of connections problems which I cannot figure out.

    I only have to plug it in and have another beacon around and they will connect, but the connection will break.

    I will test with one pair of devices tomorrow and post the results. I do the disconnection manually after two seconds because that is part of the handshake. So I get local and remote host disconnect. I could remove this timeout and see what the disconnect reason will be, but I gues it will be a GATTC_EVT_TIMEOUT, the same problem that I have with my other beacons.

    I do not use slave latency.

    I do not use special interrupts, I use Uart and Button interrupts, but these are lower priority.

    I do also pull all events and other following events are processed happily. I have many logs now which I am analyzing.

Children
No Data
Related