Current Time Service Discovery Failing in First Connection After Reset

I have a device that runs NCS 2.0.2 on an nrf5340 and have an occasional issue with service discovery.

I have recently found that after calling sys_reboot() on my device, during the first BLE connection after the reboot my device will fail to discover the current time service on the Central device. Subsequent connections have no issue with discovering the service.

My initial call to bt_gatt_dm_start() ends in the "service_not_found" callback being called after a 30 second timeout. If I then re-attempt discovery, bt_gatt_dm_start() returns -12 (ENOMEM).

This appears to be linked to the configuration "CONFIG_BT_L2CAP_TX_BUF_COUNT". I tried doubling the number of buffers in my prj.conf, and still encounter this issue.

Related