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 should be no problem then. Are you able to make a minimal project that shows this behavior and runs on a DK and upload here so that I can test on my end?

  • Yes, I did one more experiment now by enabling central node on DK using BLE_APP_UART example.

    Here I'm just printing the scanned data result to uart and I'm not seeing my device name but MAC I can see. 

    But BLE 4 device I can see name & MAC both.

    In debug mode I'm trying to capture memory contents now. 
  • 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.

Reply Children
  • 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?

Related