How to diagnose central connection timeout?

My custom board with a NRF5340 (MDBT53-1M) with LF crystal is running as a central on NCS 2.6.1.

It's connecting to a legacy device which has a BLE121LR.

  1. NRF5340 centrals connects to BLE121LR.
  2. NRF5340 pairs via legacy OOB.
  3. NRF5340 subscribes to characteristics.
  4. NRF5340 changes connection parameters which make the BLE121LR send a message at a interval larger than 6 seconds.
  5. No notifications from BLE121LR is received.
  6. NRF5340 reports connection has timed out.

I have tried a few combinations of interval and slave latency and I was still unable to get past 6 second.

Setting CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM did not fix it.

I have connected my custom board to a NRF5340-DK running as a peripheral and the connection parameters worked.

How can I workout what is causing this?

I have a nRF52840 dongle is that helps.

//Works
{
    .interval_min = 400,
    .interval_max = 400,
    .latency = 11,
    .timeout = 3200
}
//Works
{
    .interval_min = 80,
    .interval_max = 80,
    .latency = 59,
    .timeout = 3200
}

//Timeout
{
    .interval_min = 400,
    .interval_max = 400,
    .latency = 12,
    .timeout = 3200
}
//Timeout
{
    .interval_min = 80,
    .interval_max = 80,
    .latency = 69,
    .timeout = 3200
}

Parents Reply Children
  • I think the issue might be something else than excessive drift on the slow clock as you're getting the same results with both the LF RC and crystal oscillator. You could also try using the LF synth to confirm that clock drift isn't the cause.

    Does the proximity of the devices seem to make any difference? Close proximity should help if the problem is related to a poor link budget. It might be worth creating a new private support ticket and request a hardware review. Be sure to upload the gerbers and schematics.

Related