This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Initiator & SCAN_REQ

Hello,

I have gone through the Advertising Scenario, where

(a) BLE enabled sensor device is Advertiser and nRFConnect is initiator

(b) I have seen two ADV packets (ADV_IND & SCAN RSP) in advertising data received by initiator in Undirected Connectable Advertising Event.

So i want to ask the following questions regarding this

(1) Can initiator device send SCAN REQUEST for requesting the advertiser for more information?

(2) If it is possible, then the following sequence in this scenario will be true or not 

(i) Initiator send SCAN REQUEST upon receiving the ADV_IND packet in Undirected Connectable Advertising Event

(ii) Initiator send CONNECTION REQUEST for initiating the connection

Kindly reply to this thread.

  • Hi Mihir,

    Yes, if you're advertising scannable and the initiator is scanning actively, the scanner will send out SCAN_REQ and the advertiser will send out SCAN_RSP packets.

    Here is the order:
    1) Advertiser transmit a scannable advertisement packet
    2) the scanner receives it and sends a scan_req packet (immediately, on the same channel).
    3) the advertiser receivs is and transmits a scan_rsp packet (immediately and on the same channel).

    1) Advertiser transmits a connectable packet.
    2) Initiator transmits a connection_req packet (immediately and on the same channel)
    3) Initiator starts the first connection event.
    4) slave device responds to the first connection event.
  • So No, you can not respond with a connection request packet to a scan response packet.
  •  Hello Marie,

    Thanks for your reply.

    But still i have some doubts.

    If Advertiser is in Connectable Undirected Advertising mode which allows initiator to send SCAN_REQ & CONN_REQ packets upon receiving the advertisement packet, then the following sequence of actions will be true or something different:

    (1) Initiator send SCAN REQUEST upon receiving the ADV_IND packet in Undirected Connectable Advertising Event

    (2) After receiving SCAN RESPONSE from advertiser, the Initiator send CONNECTION REQUEST for initiating the connection

    Here i attached the image that represents various types of advertising modes/types

    Waiting for your reply.

  • Hi,

    See BLUETOOTH SPECIFICATION Version 5.0 | Vol 6, Part B, chapter 4.4.2.3 Connectable and Scannable Undirected Event Type.

    "If the advertiser receives a SCAN_REQ PDU that contains its device address

    from a scanner allowed by the advertising filter policy, it shall reply with a

    SCAN_RSP PDU on the same primary advertising channel index. After the

    SCAN_RSP PDU is sent, or if the advertising filter policy prohibited processing

    the SCAN_REQ PDU, the advertiser shall either move to the next used primary

    advertising channel index to send another ADV_IND PDU, or close the

    advertising event."

    Meaning, the CON_IND packet has to be sent in response to an ADV packet, not the SCAN_RSP packet.

  • Hello Marie,

    Thanks for your reply.

    Now i have cleared some things what happened when i am scanning with nRFConnect for Connectable Undirected Advertising Event.

    When nRFConnect app is scanning for nearby bluetooth devices, the device is in scan mode, so here the device sends the SCAN_REQ packet upon receiving the ADV_IND packet (For Connectable Undirected Advertising Event).

    After receiving the SCAN_REQ packet, the advertiser sends the SCAN_RSP packet & moves to the next advertising channel for sending the next advertising packet.

    Till this point, i am clear.

    Thanks.