mbox series

[BlueZ,v1,0/3] Introduce Advertisement Monitor Device Tracking event

Message ID 20210927201657.593569-1-mmandlik@google.com (mailing list archive)
Headers show
Series Introduce Advertisement Monitor Device Tracking event | expand

Message

Manish Mandlik Sept. 27, 2021, 8:16 p.m. UTC
Hello Bt-Maintainers,

Bluetooth Advertisement Monitor API was introduced to support background
scanning and proximity detection based on the application specified RSSI
thresholds and content filters on LE advertisement packets.

To optimize the power consumption, the API offloads the content
filtering and RSSI tracking to the controller if the controller
offloading support is available. However, this monitoring is not
completely offloaded as the bluetoothd also handles RSSI thresholds and
timeouts in order to fulfill high/low thresholds/timeouts filtering with
D-bus clients.

There is further room to achieve better power optimization by supporting
the controller event HCI_VS_MSFT_LE_Monitor_Device_Event to fulfill true
monitor offloading. This is currently not supported as it was originally
desired to minimize the changes to the MGMT interface and reuse the
existing MGMT event - MGMT_EV_DEVICE_FOUND to pass advertisements to
bluetoothd and let bluetoothd handle the RSSI thresholds and timeouts in
order to fulfill the D-bus API requirements for the client.

This patch series introduces a new MGMT interface -
MGMT_EV_ADV_MONITOR_TRACKING to deliver the Monitor Device event
received from the controller to the bluetoothd.

Please let me know what you think about this or if you have any further
questions.

Thanks,
Manish.


Manish Mandlik (3):
  doc: Add Advertisement Monitor Device Tracking event
  lib: Add definition of AdvMonitor Tracking event
  adv_monitor: Receive Device Tracking event

 doc/mgmt-api.txt  | 27 ++++++++++++++++++++++++++-
 lib/mgmt.h        |  8 ++++++++
 src/adv_monitor.c | 25 +++++++++++++++++++++++++
 3 files changed, 59 insertions(+), 1 deletion(-)