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

When sniffing with "nRF connect" App.. why some phones get all advertising packets and others lost many of them ?

Hello,

I put PCA10040 Development kit as peripheral advertising packets, for example, every 100ms.

When we scan with "nRF connect" App on the Galaxy S4 phone we can see most of the packet in the graph of the application.

On the other hand, if we do same test with a BQ aquaris E5 or a Galaxy Note4, most of the advertising packets are lost. Any reason for this ?

Is an issue of the App or really packets are lost by the phone device ?

Thanks in advance,

Asier.

Parents
  • Hi,

    I would say it's a 'feature' of the BLE chipset on the phone. nRF Connect dosplays everything it gets from the system, and the system sends all events it gets from the controller. I don't think there is anything you can do about it.

    We know some other stories:

    1. Nexus 4 and 7 and some other old phones send the SCAN_REQUEST only once per scan to a connectable device, so they report only one adv packet from those devices. That mean that you can't track RSSI changes in a single scan, you have to stop and start scanning every ~2 sec. However, it reports all packets from non-connectable devices (then it doesn't send SCAN_REQUEST, of course).

    2. Samsung S6 was returning the same RSSI values for all devices and all packets if batch scan was used. I guess the first RSSI value received during a scan was then used for all other ScanResponses. This seems to be fixed now with some update, so it's more Samsung-Android related.

    3. Elephone E11(?) always returns empty BLE packets. The address and RSSI are correct, but bytes are empty. I don;t know if it was fixed or not.

    So, as you see, there are a lot of different issues with different phones. I'm not surprised that some phones may loose some packets.

Reply
  • Hi,

    I would say it's a 'feature' of the BLE chipset on the phone. nRF Connect dosplays everything it gets from the system, and the system sends all events it gets from the controller. I don't think there is anything you can do about it.

    We know some other stories:

    1. Nexus 4 and 7 and some other old phones send the SCAN_REQUEST only once per scan to a connectable device, so they report only one adv packet from those devices. That mean that you can't track RSSI changes in a single scan, you have to stop and start scanning every ~2 sec. However, it reports all packets from non-connectable devices (then it doesn't send SCAN_REQUEST, of course).

    2. Samsung S6 was returning the same RSSI values for all devices and all packets if batch scan was used. I guess the first RSSI value received during a scan was then used for all other ScanResponses. This seems to be fixed now with some update, so it's more Samsung-Android related.

    3. Elephone E11(?) always returns empty BLE packets. The address and RSSI are correct, but bytes are empty. I don;t know if it was fixed or not.

    So, as you see, there are a lot of different issues with different phones. I'm not surprised that some phones may loose some packets.

Children
No Data
Related