1 Reply Latest reply on Jan 8, 2019 1:14 AM by SheetalJ_96

    20719 reports wrong advertisement data

    JeHu_3414236

      I am starting BLE scan by calling wiced_bt_ble_scan(BTM_BLE_SCAN_TYPE_HIGH_DUTY, TRUE, newAdvCallback) to enable duplicate filtering.  I am seeing wrong advertisement data being reported.  This is the trace of advertisement callbacks logging device address:

       

      19:48:27.230 1 adv=b8 78 2e 39 fb a1

      19:48:27.233 1 adv=b8 78 2e 39 fb a1

      19:48:27.267 1 adv=6e 66 87 a5 77 e3

      19:48:27.270 1 adv=6e 66 87 a5 77 e3

      19:48:27.515 1 adv=50 99 e4 84 62 bb

      19:48:27.517 1 adv=50 99 e4 84 62 bb

      19:48:27.520 1 adv=7e 70 76 4c 41 a1

      19:48:27.523 1 adv=7e 70 76 4c 41 a1

      19:48:27.825 1 adv=58 3c df 89 c2 a0

      19:48:27.826 1 adv=58 3c df 89 c2 a0

      19:48:29.308 1 adv=c2 35 dd 81 0b a9

      19:48:29.310 1 adv=c2 35 dd 81 0b a9

      19:48:32.189 1 adv=5b 2b a2 b2 ae 75 //advertisement

      19:48:33.088 1 adv=cb 97 74 54 b6 89

      19:48:33.097 1 adv=cb 97 74 54 b6 89

      19:48:33.273 1 adv=5b 2b a2 b2 ae 75 //scan response - error in data

       

      In normal situations, I get 2 callbacks back-to-back from the same device, the first for the advertisement and the second for the scan response.  In cases where the advertisement is received but the immediate scan response is lost, I see wrong data reported in the callback when the scan response is received later.  This case happens for the device 5b 2b a2 b2 ae 75.  When I receive the scan response callback for 5b 2b a2 b2 ae 75, the data is from the previous scan response callback corresponding to the device cb 97 74 54 b6 89.  Can someone confirm this problem and how to work around it?  Thanks.

        • 1. Re: 20719 reports wrong advertisement data
          SheetalJ_96

          Hi JeHu_3414236,

           

          I did not see this problem but it may happen that advertisement packet is received from one peripheral and you are getting packets from another peripheral before getting the scan response from the first one. This is the request-response process which cannot be controlled. If you want to get the packets from a particular device only, then you can put that device in white list and then scan.

          1 of 1 people found this helpful