BLE 5 Advertisement packet not showing

Hello,

We have already product with BLE 4 and now we are moving to BLE5. As per the example code we have updated our code to BLE 5 but we are not seeing advertisement packets but we are able to establish communication with different host/Central.  

Setup details:

SDK : nRF5_SDK_15.0.0_a53641a

Soft dev:s140_nrf52_6.0.0_softdevice

MCU: NRF52840.

Advertisement packet : Primary Phy:1M and secondary is: 2MPrimary Phy:1M and secondary is: 2M

Interesting observation is: BLE sniffer is able to show the advertisement packets but same we are not seeing with mobile, Our Gateway, and Laptop.

Parents
  • Hi,

    Is it the primary advertising packets you are not seeing? You write that you are able to establish communication with a different central, and that is only possible when advertising, so clearly you must be advertising. As you can see the advertisement packets on the sniffer, can you confirm that they are the "normal" primary advertising packets on the 1M phy? Perhaps you can share the trace? Also, what is the centrals you have tested filtering on, could there be an issue there?

  • Hi, 

    I've done some modification on Nordic_Alert_Notif example to connect and exchange the data. I've attached sniffer logs.

    And we are trying with different hosts like Android,iOS, Custom central node and Python scripts.

    In android & iOS we are checking in nrfConnect app and we are not seeing our device and same with Custom central node  which is nrf52840 eval kit.

    We are running Python script in laptop and we have 2 scripts one for discovering surround device and another one for connecting. In discovery we are not seeing but the same if I pass directly MAC ID to our connect script I can connect and read some dummy data.

    Selected AUX_EXT_IND

    AUX_ADV_IND

  • I see. That makes sense, as the advertising name is in the AUX_ADV_IND packet, and that is only received by devices that support extended advertising. If you want to support legacy advertising as well you need two advertising sets as explained. That is only supported in the nRF Connect SDK, but an alternative if you use the nRF5 SDK is to reconfigure the advertising regularly and alternate between legacy advertising and extended advertising.

  • I did one more experiment with examples given

    • ble_app_rscs example code has support for BLE5 extended advertisement and for this I can see the device name in AUX_ADV_IND packet.
    • ble_app_uart doesn't have support for BLE 5 and when I enable BLE 5 extended advertisement I don't see device name in AUX_ADV_IND, it's empty.

    Plz suggest if I need to enable anything other than this below configuration:

    init.config.ble_adv_primary_phy      = BLE_GAP_PHY_1MBPS;
    init.config.ble_adv_secondary_phy    = BLE_GAP_PHY_2MBPS;
    init.config.ble_adv_extended_enabled = true;
  • Hi,

    I do not have any other suggestions than what I have already said, which is to alternate between extended and legacy advertising. That is how you can use and benefit from extended advertising while maintaining compatibility with legacy devices.

  • I got it but I'm saying below things I tried as peripheral device and checking in BLE sniffer where I don't see the device name.

    • ble_app_rscs example code has support for BLE5 extended advertisement and for this I can see the device name in AUX_ADV_IND packet.
    • ble_app_uart doesn't have support for BLE 5 and when I enable BLE 5 extended advertisement I don't see device name in AUX_ADV_IND, it's empty.
  • I am not able to get this to fit in my head. As long as you use extended advertising, only scanners capable of receiving it should be able to read the name. This is also the case when using the ble_app_rscs sample.

    If this is not the case, can you upload your modified full projects and the full sniffer traces (not just screenshots of them) along with instructions on what you do and how you interpret the results?

Reply
  • I am not able to get this to fit in my head. As long as you use extended advertising, only scanners capable of receiving it should be able to read the name. This is also the case when using the ble_app_rscs sample.

    If this is not the case, can you upload your modified full projects and the full sniffer traces (not just screenshots of them) along with instructions on what you do and how you interpret the results?

Children
No Data
Related