Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

Problem when connecting BLE 4.x device and BLE 5.0 device at same time

Need support.

 

I am using lierda S98B module together with Nordic S140 SoftDevice as master. So far everything works fine. I can connect up to 4 devices with BLE 4.2. Also I can connect up to 4 devices with BLE 5.0.

 

But after connecting a BLE 4.x device once no more devices with BLE 5.0 can be connected. If configure BLE_BAS_CONFIG_LOG_LEVEL 4 following debug message can be found:

 

00> <info> app: Start Service Discovery

00> <debug> nrf_ble_gq: Purging request queue with id: 1

00> <debug> nrf_ble_gq: Registering connection handle: 0x0001

00> <debug> ble_db_disc: Starting discovery of service with UUID 0xFFF0 on connection handle 0x1.

00> <debug> nrf_ble_gq: Adding item to the request queue

00> <debug> nrf_ble_gq: GATTC Primary Services Discovery Request

00> <debug> nrf_ble_gq: SD is currently busy. The GATT request procedure will be attempted                       again later.

00> <debug> nrf_ble_gq: Processing the request queue...

00> <debug> nrf_ble_gq: GATTC Primary Service Discovery Request

00> <debug> nrf_ble_gq: SD is currently busy. The GATT request procedure will be attempted                           again later.

00> <debug> nrf_sdh_ble: BLE event: 0x11.

 

Anyone can help ?

Parents
  • Hi

    Sorry about the delayed reply, but Hieu has been on sick leave for the last week.

    Is there any chance you could upload the full sniffer trace so we can take a closer look at it? For example, how much time does the discovery process take? The SoftDevice returning BLE event 0x11 points to the SoftDevice being busy with something else when you're calling the ble_db_discovery_start() function. It might be that the application tries to connect to the next device before discovery is complete, and that is what's causing trouble. What is your connection interval set to? Can you try setting a faster one so that service discovery is finished quicker. What connection intervals are you currently using in the Gen 1 and Gen 2 devices?

    Also, what SDK and SoftDevice version are you using for development in your project? Do you have a link to the S98B datasheet as I'm not able to find this module on Lierda's pages.

    Best regards,

    Simon

Reply
  • Hi

    Sorry about the delayed reply, but Hieu has been on sick leave for the last week.

    Is there any chance you could upload the full sniffer trace so we can take a closer look at it? For example, how much time does the discovery process take? The SoftDevice returning BLE event 0x11 points to the SoftDevice being busy with something else when you're calling the ble_db_discovery_start() function. It might be that the application tries to connect to the next device before discovery is complete, and that is what's causing trouble. What is your connection interval set to? Can you try setting a faster one so that service discovery is finished quicker. What connection intervals are you currently using in the Gen 1 and Gen 2 devices?

    Also, what SDK and SoftDevice version are you using for development in your project? Do you have a link to the S98B datasheet as I'm not able to find this module on Lierda's pages.

    Best regards,

    Simon

Children
Related