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

What are the conditions for sending a scan request?

Hello.

I am developing using nrf52832 (S132 v7.0.1, SDK v16.0.0) as central and Android device (Bluetooth 4.2) as advertise.
Android devices use nRF Connect.

I can set "Advertising data" and "Scan Response data" in nRF Connect and I want to receive both data. Whether or not these are received is determined by the argument "scan_evt_t" structure of "scan_evt_handler". (Example: p_scan_evt-> params.filter_match.p_adv_report-> type.scan_response)

Currently, after receiving "Advertising data", "Scan Response data" can be obtained on rare occasions.
How can I set central so that I can get "Scan Response data" every time after getting "Advertising data"?

Thank you.

Parents
  • Hi. 

    Currently, after receiving "Advertising data", "Scan Response data" can be obtained on rare occasions.

     What do you mean by rare occasions?

    How often do you receive the advertising data, and how often do you receive the scan response data?

    What are the advertising and scan parameters for your devices?

    Br, 
    Joakim

  • Hello.

    Regarding the Scan time setting, interval is set to 0x320 (800ms) and window is set to 0x190 (400ms).
    When the reception frequency of 4000ms was measured, the reception frequency of Advertise data was 8 times and the reception frequency of Scan Response was 2 times.
    The device Advertise cycle is 100ms. Advertise parameters are Flags, 128bit UUID and Manufacturer Data, and Scan parameters are 128bit UUID and Manufacturer Data.

    Thank you.

  • Hi,

    Would you by any chance have an ellisys sniffer so you can capture the on air traffic? Or as an alternative place the scanner and advertiser in an RF chamber? It could be that there are also other scanners performing active scanning, which is "blocking" the scan requests from your scanner.

  • Hello.

    I don't know the sample source from which my code is based.
    As a confirmation method, NRF_BLE_SCAN_EVT_FILTER_MATCH of scan_evt_handler is confirmed whether scan_response is 1. (p_scan_evt-> params.filter_match.p_adv_report-> type.scan_response)
    Therefore, I don't use ellisys sniffer.

    It could be that there are also other scanners performing active scanning, which is "blocking" the scan requests from your scanner.

    In other words, is it not possible to get the advertisement of the Android device because it was picked up by two scans and both of them are making requests?

    Isn't the scan response sent by the data contained in the advertisement packet?

    Thank you.

  • The advertisement packet and scan response packets are two separate packages. First the scanner must receive the advertisement packet, then it must send a scan request, So the advertiser will only send the scan response if it first receives a scan request

Reply Children
Related