Message ID | 20210316224957.3294962-1-danielwinkler@google.com (mailing list archive) |
---|---|
Headers | show |
Series | Bluetooth: Fix scannable broadcast advertising on extended APIs | expand |
Hi Maintainers, Friendly reminder to review this V3 patch at your convenience. Thanks! Daniel On Tue, Mar 16, 2021 at 3:50 PM Daniel Winkler <danielwinkler@google.com> wrote: > > Hello Maintainers, > > We have discovered that when userspace registers a broadcast > (non-connectable) advertisement with scan response data, it exposes a > limitation in the new extended MGMT APIs. At the time that the > parameters are registered with the controller, kernel does not yet have > the advertising data and scan response (coming in a separate MGMT call), > and will default to a non-scannable PDU. When the MGMT call for > data/scan response is received, the controller will either fail when we > request to set the scan response, or return success and not use it. > > This series along with another in kernel will allow userspace to pass a > flag with the params request indicating if the advertisement contains a > scan response. This allows kernel to register the parameters correctly > with the controller. > > The patch is tested with a scannable broadcast advertisement on Hatch > and Kukui chromebooks (ext and non-ext capabilities) and ensuring a > peripheral device can detect the scan response. > > Best, > Daniel > > Changes in v3: > - Use helpers to determine scannable rather than generating earlier > > Changes in v2: > - Check kernel supports flag before setting it > > Daniel Winkler (2): > advertising: Create and use scannable adv param flag > doc/mgmt-api: Update documentation for scan_rsp param flag > > doc/mgmt-api.txt | 5 +++++ > lib/mgmt.h | 1 + > src/advertising.c | 24 +++++++++++++++++++++++- > src/shared/ad.c | 17 +++++++++++++++++ > src/shared/ad.h | 2 ++ > 5 files changed, 48 insertions(+), 1 deletion(-) > > -- > 2.31.0.rc2.261.g7f71774620-goog >
Hi Daniel, On Mon, Mar 22, 2021 at 9:32 AM Daniel Winkler <danielwinkler@google.com> wrote: > > Hi Maintainers, > > Friendly reminder to review this V3 patch at your convenience. > > Thanks! > Daniel > > > On Tue, Mar 16, 2021 at 3:50 PM Daniel Winkler <danielwinkler@google.com> wrote: > > > > Hello Maintainers, > > > > We have discovered that when userspace registers a broadcast > > (non-connectable) advertisement with scan response data, it exposes a > > limitation in the new extended MGMT APIs. At the time that the > > parameters are registered with the controller, kernel does not yet have > > the advertising data and scan response (coming in a separate MGMT call), > > and will default to a non-scannable PDU. When the MGMT call for > > data/scan response is received, the controller will either fail when we > > request to set the scan response, or return success and not use it. > > > > This series along with another in kernel will allow userspace to pass a > > flag with the params request indicating if the advertisement contains a > > scan response. This allows kernel to register the parameters correctly > > with the controller. > > > > The patch is tested with a scannable broadcast advertisement on Hatch > > and Kukui chromebooks (ext and non-ext capabilities) and ensuring a > > peripheral device can detect the scan response. > > > > Best, > > Daniel > > > > Changes in v3: > > - Use helpers to determine scannable rather than generating earlier > > > > Changes in v2: > > - Check kernel supports flag before setting it > > > > Daniel Winkler (2): > > advertising: Create and use scannable adv param flag > > doc/mgmt-api: Update documentation for scan_rsp param flag > > > > doc/mgmt-api.txt | 5 +++++ > > lib/mgmt.h | 1 + > > src/advertising.c | 24 +++++++++++++++++++++++- > > src/shared/ad.c | 17 +++++++++++++++++ > > src/shared/ad.h | 2 ++ > > 5 files changed, 48 insertions(+), 1 deletion(-) > > > > -- > > 2.31.0.rc2.261.g7f71774620-goog > > Applied, thanks.