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

Invalid advertising data message when scanning with nRF52840 Dongle

I have a scanning application that uses pc-ble-driver-py to communicate to the nRF52480 Dongle on Windows 10.  I'm using connectivity_4.1.1_usb_with_s132_5.1.0.hex in the dongle.  Usually everything works, but if I go into an area with a lot of bluetooth devices, then I get the message INFO:pc_ble_driver_py:ble_driver:Invalid advertising data repeatedly.  Once in a while, I get valid advertising data, but it is sporadic.  

I've seen this message using nrfutil with connectivity v3.1.0 and the nRF52 Dongle when trying to do a BLE DFU.

Is there anything I can do to make the scanning more reliable?  I'm using the default scan parameters: interval = 200ms, window = 150ms, timeout = 10s.

nRF Connect Desktop seems to work ok, as well as phone scanner apps.

Parents
  • Hi,

    The SoftDevice will filter out any packets with CRC errors, so the invalid packets actually have a valid CRC but are invalid (or rather not one of the specified types (see definition of class Types(Enum) in ble_driver.py). You can probably verify this by printing the type value, and seeing that it is not one of the listed types. What is the value typically in these cases (when it is not one of the listed)?

  • Hello Einar,

    Thank you for the response.  I printed out the advertising data that caused this message.  The data causes the BLEAdvData.from_c method to go into an infinite loop.  I can post the full data if you want, but essentially the ad_list ends with 0, 0.

    It gets interpreted as ad_len = 0, ad_type = 0.  index is never updated, so the method never exits.

    Thanks,

    Jim 

Reply Children
Related