Scan Response works only sporadic

I'm using the the pc_ble_driver and want to scan BLE devices with legacy and extended pdu.

My problem is that scan responses only reached sporadic my callback.

Init:

sd_ble_gap_scan_start(m_adapter, &m_scan_param, &m_adv_report_buffer);

in Callback

static void on_adv_report(const ble_gap_evt_t *const p_ble_gap_evt)
{
....
sd_ble_gap_scan_start(m_adapter, NULL, &m_adv_report_buffer); //continue scanning
}

Sometimes i get a timeout:

static void on_timeout(const ble_gap_evt_t * const p_ble_gap_evt)
{
....
sd_ble_gap_scan_start(m_adapter, &m_scan_param, &m_adv_report_buffer); //restart scanning in case of timeout => but why?
}

Is something wrong with my scanning process? As i understand, i need to restart scanning after EACH report. (only after BLE_GAP_ADV_DATA_STATUS_INCOMPLETE_MORE_DATA, but this is here not the case)

See Sequence for Scanning:

Different View:

Sniffing with Wireshark looks ok. Scanning Requests and Responses are there. So it seems some kind of receiving issues.

Parents
  • Hello,

    From our side, there will be no new releases on the pc-ble-driver side. This is a deprecated tool (because it builds on the softdevice from the nRF5 SDK, which is in maintenance mode). So no new releases from our side, unfortunately.

    You can see a discussion that I had with another user a couple of years ago, here.

    I am not sure whether he attempted, and whether that succeeded, but my idea back then was to modify the application running on the nRF to always resume scanning directly from the nRF. This will probably require some modifications both on the application running on the nRF, and the application running on the host side.

    Alternatively, as my colleague mentioned in one of your other tickets, you can look into the Bluetooth Shell.

    BR,
    Edvin

Reply
  • Hello,

    From our side, there will be no new releases on the pc-ble-driver side. This is a deprecated tool (because it builds on the softdevice from the nRF5 SDK, which is in maintenance mode). So no new releases from our side, unfortunately.

    You can see a discussion that I had with another user a couple of years ago, here.

    I am not sure whether he attempted, and whether that succeeded, but my idea back then was to modify the application running on the nRF to always resume scanning directly from the nRF. This will probably require some modifications both on the application running on the nRF, and the application running on the host side.

    Alternatively, as my colleague mentioned in one of your other tickets, you can look into the Bluetooth Shell.

    BR,
    Edvin

Children
No Data
Related