Message ID | 20201215163328.Bluez.v1.1.Iab784797733f28413e9de4f0d7fc0d4e1a00d9ef@changeid (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [Bluez,v1,1/2] doc/mgmt-api: Add opcode for adding advertisement monitor with RSSI | expand |
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=402091 ---Test result--- ############################## Test: CheckPatch - PASS ############################## Test: CheckGitLint - FAIL Output: lib/mgmt: Adding Add Adv Patterns Monitor RSSI opcode. 1: T3 Title has trailing punctuation (.): "lib/mgmt: Adding Add Adv Patterns Monitor RSSI opcode." ############################## Test: CheckBuild - PASS ############################## Test: MakeCheck - PASS --- Regards, Linux Bluetooth
Hi Archie, On Tue, Dec 15, 2020 at 12:33 AM Archie Pusaka <apusaka@google.com> wrote: > > 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> > > Signed-off-by: Archie Pusaka <apusaka@chromium.org> > --- > > doc/mgmt-api.txt | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 52 insertions(+) > > diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt > index 1aa43d6c3c..d5c7169630 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: Pattern_Count (1 Octet) I'd move the pattern_count after the rssi if the rssi is not per pattern, well in case the rssi is per pattern then it should be put inside the Pattern directly. > + RSSI_Data { > + High_Threshold (1 Octet) > + High_Threshold_Timer (2 Octets) > + Low_Threshold (1 Octet) > + Low_Threshold_Timer (2 Octets) > + Sampling_Period (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 >
Hi Luiz, On Wed, 16 Dec 2020 at 01:55, Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote: > > Hi Archie, > > On Tue, Dec 15, 2020 at 12:33 AM Archie Pusaka <apusaka@google.com> wrote: > > > > 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> > > > > Signed-off-by: Archie Pusaka <apusaka@chromium.org> > > --- > > > > doc/mgmt-api.txt | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 52 insertions(+) > > > > diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt > > index 1aa43d6c3c..d5c7169630 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: Pattern_Count (1 Octet) > > I'd move the pattern_count after the rssi if the rssi is not per > pattern, well in case the rssi is per pattern then it should be put > inside the Pattern directly. > It's not per pattern. I uploaded a newer version which flips the declaration order, please take another look. Thanks! > > + RSSI_Data { > > + High_Threshold (1 Octet) > > + High_Threshold_Timer (2 Octets) > > + Low_Threshold (1 Octet) > > + Low_Threshold_Timer (2 Octets) > > + Sampling_Period (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 > > > > > -- > Luiz Augusto von Dentz Regards, Archie
diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt index 1aa43d6c3c..d5c7169630 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: Pattern_Count (1 Octet) + RSSI_Data { + High_Threshold (1 Octet) + High_Threshold_Timer (2 Octets) + Low_Threshold (1 Octet) + Low_Threshold_Timer (2 Octets) + Sampling_Period (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 ======================