This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Heavy scanning activity from Android (and iOS) devices might prevent connecting to BLE GAP Peripheral

Dear Nordic team and community,

Have you encountered the problem where standard BT4.0/4.1 GAP Peripheral device would be "blocked" from connection (kind of "denial of service" situation) by too many actively scanning GAP Scanners/Centrals? We are seeing this with certain mobile phones (especially Android) in "observing" role and this is pretty independent on adv. interval we use (typically 20-200ms). All adv. events are "loaded" with SCAN_REQ packets when there are 5 or more "scanning" phones and beside SCAN_REQ collisions (which are typically not critical for BLE solutions) basically all CONNECT_REQ collide with some SCAN_REQ packet and thus Peripheral never follows the connection.

Any suggestions (beside trying to lower scanning activity on phones' side which obviously isn't always possible)?

Thanks Jan

Parents
  • Thanks Aleksander

    I have not upgraded to Android 6 yet, to use the Web BLE API, but my understanding was that the user had to approve it once, but I don't think this is much of a barrier as most users just click Yes when asked to turn on Bluetooth. And I'm not sure if its once per page or just Once per every time Chrome is run.

    I'm not sure if this feature will always off by default. The settings were in the experimental section of the currently released version of Chrome for Android, but I can't see them in the Chrome Beta App, so I presumed that in the next release (i.e when the beta gets released) that this feature will be On by default.

    BTW. On iOS, it will scan in the background, but it appears to slowly increase the interval between each scan, the longer you leave it scanning. However its easy to stop the scan and start it again e.g. every 15 seconds, even in the background

Reply
  • Thanks Aleksander

    I have not upgraded to Android 6 yet, to use the Web BLE API, but my understanding was that the user had to approve it once, but I don't think this is much of a barrier as most users just click Yes when asked to turn on Bluetooth. And I'm not sure if its once per page or just Once per every time Chrome is run.

    I'm not sure if this feature will always off by default. The settings were in the experimental section of the currently released version of Chrome for Android, but I can't see them in the Chrome Beta App, so I presumed that in the next release (i.e when the beta gets released) that this feature will be On by default.

    BTW. On iOS, it will scan in the background, but it appears to slowly increase the interval between each scan, the longer you leave it scanning. However its easy to stop the scan and start it again e.g. every 15 seconds, even in the background

Children
No Data
Related