linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Bluez PATCH v3 1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI
@ 2020-12-16  3:42 Archie Pusaka
  2020-12-16  3:42 ` [Bluez PATCH v3 2/2] lib/mgmt: Adding Add Adv Patterns Monitor RSSI opcode Archie Pusaka
  2020-12-16  3:58 ` [Bluez,v3,1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI bluez.test.bot
  0 siblings, 2 replies; 4+ messages in thread
From: Archie Pusaka @ 2020-12-16  3:42 UTC (permalink / raw)
  To: linux-bluetooth, Luiz Augusto von Dentz
  Cc: CrosBT Upstreaming, Archie Pusaka, Manish Mandlik,
	Miao-chen Chou, Yun-Hao Chung

From: Archie Pusaka <apusaka@chromium.org>

This is to leverage the filtering by RSSI feature on those controllers
which supports advertisement packet filtering. To avoid changing the
existing API and breaking it, a new opcode is required.

Reviewed-by: Manish Mandlik <mmandlik@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Reviewed-by: Yun-Hao Chung <howardchung@google.com>
---

Changes in v3:
* Flip the order of rssi data and pattern count

 doc/mgmt-api.txt | 52 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt
index 1aa43d6c3c..1736ef009e 100644
--- a/doc/mgmt-api.txt
+++ b/doc/mgmt-api.txt
@@ -3800,6 +3800,58 @@ Add Extended Advertising Data Command
 				Busy
 
 
+Add Advertisement Patterns Monitor With RSSI Threshold Command
+==============================================================
+
+	Command Code:		0x0056
+	Controller Index:	<controller id>
+	Command Parameters:	RSSI_Data {
+					High_Threshold (1 Octet)
+					High_Threshold_Timer (2 Octets)
+					Low_Threshold (1 Octet)
+					Low_Threshold_Timer (2 Octets)
+					Sampling_Period (1 Octet)
+				}
+				Pattern_Count (1 Octet)
+				Pattern1 {
+					AD_Type (1 Octet)
+					Offset (1 Octet)
+					Length (1 Octet)
+					Value (31 Octets)
+				}
+				Pattern2 { }
+				...
+	Return Parameters:	Monitor_Handle (2 Octets)
+
+	This command is essentially the same as Add Advertisement Patterns
+	Monitor Command (0x0052), but with an additional RSSI parameters.
+	As such, if the kernel supports advertisement filtering, then the
+	advertisement data will be filtered in accordance with the set
+	RSSI parameters. Otherwise, it would behave exactly the same as the
+	Add Advertisement Patterns Monitor Command.
+
+	Devices would be considered "in-range" if the RSSI of the received adv
+	packets are greater than High_Threshold dBm for High_Threshold_Timer
+	seconds. Similarly, devices would be considered lost if no received
+	adv have RSSI greater than Low_Threshold dBm for Low_Threshold_Timer
+	seconds. Only adv packets of "in-range" device would be propagated.
+
+	The meaning of Sampling_Period is as follows:
+		0x00	All adv packets from "in-range" devices would be
+			propagated.
+		0xFF	Only the first adv data of "in-range" devices would be
+			propagated. If the device becomes lost, then the first
+			data when it is found again will also be propagated.
+		other	Advertisement data would be grouped into 100ms * N
+			time period. Data in the same group will only be
+			reported once, with the RSSI value being averaged out.
+
+	Possible errors:	Failed
+				Busy
+				No Resources
+				Invalid Parameters
+
+
 Command Complete Event
 ======================
 
-- 
2.29.2.684.gfbc64c5ab5-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Bluez PATCH v3 2/2] lib/mgmt: Adding Add Adv Patterns Monitor RSSI opcode
  2020-12-16  3:42 [Bluez PATCH v3 1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI Archie Pusaka
@ 2020-12-16  3:42 ` Archie Pusaka
  2021-01-06 10:43   ` Archie Pusaka
  2020-12-16  3:58 ` [Bluez,v3,1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI bluez.test.bot
  1 sibling, 1 reply; 4+ messages in thread
From: Archie Pusaka @ 2020-12-16  3:42 UTC (permalink / raw)
  To: linux-bluetooth, Luiz Augusto von Dentz
  Cc: CrosBT Upstreaming, Archie Pusaka, Manish Mandlik,
	Miao-chen Chou, Yun-Hao Chung

From: Archie Pusaka <apusaka@chromium.org>

The new op is to utilize RSSI in advertisement monitor

Reviewed-by: Manish Mandlik <mmandlik@chromium.org>
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Reviewed-by: Yun-Hao Chung <howardchung@google.com>
---

Changes in v3:
* Flip the order of rssi data and pattern count

Changes in v2:
* Remove the trailing period on the commit title

 lib/mgmt.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/lib/mgmt.h b/lib/mgmt.h
index f37f7e6540..76a03c9c24 100644
--- a/lib/mgmt.h
+++ b/lib/mgmt.h
@@ -738,6 +738,21 @@ struct mgmt_rp_add_ext_adv_data {
 	uint8_t	instance;
 } __packed;
 
+struct mgmt_adv_rssi_thresholds {
+	int8_t   high_threshold;
+	uint16_t high_threshold_timeout;
+	int8_t   low_threshold;
+	uint16_t low_threshold_timeout;
+	uint8_t  sampling_period;
+} __packed;
+
+#define MGMT_OP_ADD_ADV_PATTERNS_MONITOR_RSSI	0x0056
+struct mgmt_cp_add_adv_patterns_monitor_rssi {
+	struct mgmt_adv_rssi_thresholds rssi;
+	uint8_t pattern_count;
+	struct mgmt_adv_pattern patterns[0];
+} __packed;
+
 #define MGMT_EV_CMD_COMPLETE		0x0001
 struct mgmt_ev_cmd_complete {
 	uint16_t opcode;
-- 
2.29.2.684.gfbc64c5ab5-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* RE: [Bluez,v3,1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI
  2020-12-16  3:42 [Bluez PATCH v3 1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI Archie Pusaka
  2020-12-16  3:42 ` [Bluez PATCH v3 2/2] lib/mgmt: Adding Add Adv Patterns Monitor RSSI opcode Archie Pusaka
@ 2020-12-16  3:58 ` bluez.test.bot
  1 sibling, 0 replies; 4+ messages in thread
From: bluez.test.bot @ 2020-12-16  3:58 UTC (permalink / raw)
  To: linux-bluetooth, apusaka

[-- Attachment #1: Type: text/plain, Size: 557 bytes --]

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=402647

---Test result---

##############################
Test: CheckPatch - PASS

##############################
Test: CheckGitLint - PASS

##############################
Test: CheckBuild - PASS

##############################
Test: MakeCheck - PASS



---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Bluez PATCH v3 2/2] lib/mgmt: Adding Add Adv Patterns Monitor RSSI opcode
  2020-12-16  3:42 ` [Bluez PATCH v3 2/2] lib/mgmt: Adding Add Adv Patterns Monitor RSSI opcode Archie Pusaka
@ 2021-01-06 10:43   ` Archie Pusaka
  0 siblings, 0 replies; 4+ messages in thread
From: Archie Pusaka @ 2021-01-06 10:43 UTC (permalink / raw)
  To: linux-bluetooth, Luiz Augusto von Dentz
  Cc: CrosBT Upstreaming, Archie Pusaka, Manish Mandlik,
	Miao-chen Chou, Yun-Hao Chung

Hi Bluez maintainers,

I just noticed that only patch 1/2 of the series is applied, and this
one has not.
Could you re-check this one please?
Or is it expected that I also submit the code which uses this API in
the same patch series?

Thanks,
Archie

On Wed, 16 Dec 2020 at 11:43, Archie Pusaka <apusaka@google.com> wrote:
>
> From: Archie Pusaka <apusaka@chromium.org>
>
> The new op is to utilize RSSI in advertisement monitor
>
> Reviewed-by: Manish Mandlik <mmandlik@chromium.org>
> Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
> Reviewed-by: Yun-Hao Chung <howardchung@google.com>
> ---
>
> Changes in v3:
> * Flip the order of rssi data and pattern count
>
> Changes in v2:
> * Remove the trailing period on the commit title
>
>  lib/mgmt.h | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
>
> diff --git a/lib/mgmt.h b/lib/mgmt.h
> index f37f7e6540..76a03c9c24 100644
> --- a/lib/mgmt.h
> +++ b/lib/mgmt.h
> @@ -738,6 +738,21 @@ struct mgmt_rp_add_ext_adv_data {
>         uint8_t instance;
>  } __packed;
>
> +struct mgmt_adv_rssi_thresholds {
> +       int8_t   high_threshold;
> +       uint16_t high_threshold_timeout;
> +       int8_t   low_threshold;
> +       uint16_t low_threshold_timeout;
> +       uint8_t  sampling_period;
> +} __packed;
> +
> +#define MGMT_OP_ADD_ADV_PATTERNS_MONITOR_RSSI  0x0056
> +struct mgmt_cp_add_adv_patterns_monitor_rssi {
> +       struct mgmt_adv_rssi_thresholds rssi;
> +       uint8_t pattern_count;
> +       struct mgmt_adv_pattern patterns[0];
> +} __packed;
> +
>  #define MGMT_EV_CMD_COMPLETE           0x0001
>  struct mgmt_ev_cmd_complete {
>         uint16_t opcode;
> --
> 2.29.2.684.gfbc64c5ab5-goog
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-01-06 10:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-16  3:42 [Bluez PATCH v3 1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI Archie Pusaka
2020-12-16  3:42 ` [Bluez PATCH v3 2/2] lib/mgmt: Adding Add Adv Patterns Monitor RSSI opcode Archie Pusaka
2021-01-06 10:43   ` Archie Pusaka
2020-12-16  3:58 ` [Bluez,v3,1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI bluez.test.bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).