From: Daniel Winkler <danielwinkler@google.com>
To: luiz.von.dentz@intel.com
Cc: linux-bluetooth@vger.kernel.org,
chromeos-bluetooth-upstreaming@chromium.org,
Daniel Winkler <danielwinkler@google.com>
Subject: [Bluez PATCH v6 00/10] Bluetooth: Add new MGMT interface for advertising add
Date: Thu, 29 Oct 2020 16:06:12 -0700 [thread overview]
Message-ID: <20201029230623.3630069-1-danielwinkler@google.com> (raw)
Hi Maintainers,
This patch series defines the new two-call MGMT interface in userspace
for adding advertising instances. Bluez will detect if kernel supports
the new MGMT commands, and use them if so. Each new advertising instance
will be configured by a MGMT call to set advertising parameters,
followed by a MGMT call to set advertising data. The new data pipeline
is meant to be unnoticeable from the clients' perspective, with the
exception of new intervals and tx power support, and new exposed
advertising manager properties.
All changes have been tested on hatch (extended advertising) and kukui
(no extended advertising) chromebooks with manual testing verifying
correctness of parameters/data in btmon traces, and our automated test
suite of 25 single- and multi-advertising usage scenarios.
V2 of the series puts documentation at the front as requested.
Thank you in advance for your review!
Daniel Winkler
Changes in v6:
- Reserve new MGMT codes earlier in series to detect support
Changes in v5:
- Changed interval API from jiffies to milliseconds for clarity
- Changed new dbus endpoints to be experimental
- Only parse new properties if experimental flag is set
- Verify capabilities MGMT command is supported before calling it
- Make SupportedCapabilities experimental
Changes in v4:
- mgmt-api: moved optional params into 'flags' field
- mgmt-api: added info for new return parameters for max data size
- mgmt-api: Move Controller Capabilities MGMT doc into new patch
- mgmt-api: Tx Power range put into single capabilities entry
- Moved optional params into flags field
- Use returned max data length in adv data length check
- Move tx power range into single capability field
Changes in v3:
- Removed Tx Power Selected MGMT event
- Changed Read Security Info cmd to Read Controller Capabilities
- Added selected tx power to MGMT params response
- Removed Tx Power Selected MGMT event from monitor
Changes in v2:
- Removed extra space in Add Extended Advertising Parameters API
- Uses btd_has_kernel_features to detect kernel command support
- Cleaned fail path in add_adv_params_callback
Daniel Winkler (10):
doc/advertising-api: update API with new interface
doc/mgmt-api: Add new Advertising MGMT interfaces to mgmt-api
doc/mgmt-api: Update controller capabilities MGMT command in mgmt-api
advertising: Detect if extended advertising mgmt commands are
supported
advertising: Parse intervals and tx power from adv
advertising: Use new mgmt interface for advertising add
advertising: Query LE TX range at manager initialization
advertising: Expose SupportedCapabilities for advertising
client: Add SupportedCapabilities to bluetoothctl
monitor: Add new MGMT adv commands and events to monitor
client/main.c | 1 +
doc/advertising-api.txt | 48 +++++
doc/mgmt-api.txt | 238 +++++++++++++++++++++-
lib/mgmt.h | 46 ++++-
monitor/packet.c | 69 ++++++-
src/adapter.c | 8 +
src/adapter.h | 2 +
src/advertising.c | 428 ++++++++++++++++++++++++++++++++++++++--
tools/btmgmt.c | 12 +-
9 files changed, 819 insertions(+), 33 deletions(-)
--
2.29.1.341.ge80a0c044ae-goog
next reply other threads:[~2020-10-29 23:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-29 23:06 Daniel Winkler [this message]
2020-10-29 23:06 ` [Bluez PATCH v6 01/10] doc/advertising-api: update API with new interface Daniel Winkler
2020-10-30 0:47 ` Luiz Augusto von Dentz
2020-10-29 23:06 ` [Bluez PATCH v6 02/10] doc/mgmt-api: Add new Advertising MGMT interfaces to mgmt-api Daniel Winkler
2020-10-29 23:06 ` [Bluez PATCH v6 03/10] doc/mgmt-api: Update controller capabilities MGMT command in mgmt-api Daniel Winkler
2020-11-09 12:49 ` Marcel Holtmann
2020-11-24 18:16 ` Daniel Winkler
2020-10-29 23:06 ` [Bluez PATCH v6 04/10] advertising: Detect if extended advertising mgmt commands are supported Daniel Winkler
2020-10-29 23:06 ` [Bluez PATCH v6 05/10] advertising: Parse intervals and tx power from adv Daniel Winkler
2020-10-29 23:06 ` [Bluez PATCH v6 06/10] advertising: Use new mgmt interface for advertising add Daniel Winkler
2020-10-29 23:06 ` [Bluez PATCH v6 07/10] advertising: Query LE TX range at manager initialization Daniel Winkler
2020-10-29 23:06 ` [Bluez PATCH v6 08/10] advertising: Expose SupportedCapabilities for advertising Daniel Winkler
2020-10-29 23:06 ` [Bluez PATCH v6 09/10] client: Add SupportedCapabilities to bluetoothctl Daniel Winkler
2020-10-29 23:06 ` [Bluez PATCH v6 10/10] monitor: Add new MGMT adv commands and events to monitor Daniel Winkler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201029230623.3630069-1-danielwinkler@google.com \
--to=danielwinkler@google.com \
--cc=chromeos-bluetooth-upstreaming@chromium.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.von.dentz@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).