mbox series

[v2,00/12] Userspace Bluetooth 5.2 initial support

Message ID 20200228234701.14614-1-luiz.dentz@gmail.com (mailing list archive)
Headers show
Series Userspace Bluetooth 5.2 initial support | expand

Message

Luiz Augusto von Dentz Feb. 28, 2020, 11:46 p.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

This introduces the initial support for Bluetooth 5.2 features:

* ISO channels:
        + tools/isotest command line tool to run validation tests

* L2CAP Enhanced Credit Based Flow Control Mode
        + tools/l2test has been update to include the new mode

* Enhanced ATT Bearer:
        + Client and Server support
        + Include all new procedures
        + Automaticlly detects and enables channels
        + Number of channels configurable via main.conf

v2: Dropped ISO changes since there still under discussions how it will be
supported, change ECRED to EXT_FLOWCTL and use BT_MODE to set it.

Luiz Augusto von Dentz (12):
  lib: Add definitions for Enhanced Credits Based Mode
  btio: Add mode to for Enhanced Credit Mode
  l2test: Add support for L2CAP_EXT_FLOWCTL_MODE
  share/att: Add EATT support
  shared/gatt-client: Add support for EATT features
  gatt: Enable EATT bearer support
  shared/gatt-server: Add support for Read Multiple Variable Length
  shared/gatt-client: Add support for Read Multiple Variable Length
  shared/gatt: Add support for Handle Value Multiple Notifications
  gatt: Add support for Notify Multiple
  core: Add support for setting the number of GATT bearers
  monitor: Add support for decoding EATT

 attrib/gattrib.c         |   5 +-
 btio/btio.c              |  53 ++-
 btio/btio.h              |   3 +-
 lib/bluetooth.h          |   2 +
 lib/l2cap.h              |   1 +
 lib/uuid.h               |   3 +
 monitor/l2cap.c          |  39 ++
 peripheral/gatt.c        |   2 +-
 src/device.c             |  18 +-
 src/gatt-client.c        |  85 +++++
 src/gatt-database.c      | 125 +++++--
 src/hcid.h               |   1 +
 src/main.c               |  14 +
 src/main.conf            |   5 +
 src/shared/att-types.h   |  25 +-
 src/shared/att.c         | 780 ++++++++++++++++++++++++++-------------
 src/shared/att.h         |  18 +-
 src/shared/gatt-client.c | 287 +++++++++++---
 src/shared/gatt-client.h |   5 +-
 src/shared/gatt-server.c | 389 ++++++++++++-------
 src/shared/gatt-server.h |   2 +-
 tools/btgatt-client.c    |   2 +-
 tools/btgatt-server.c    |   4 +-
 tools/l2test.c           |  10 +-
 unit/test-gatt.c         |  25 +-
 25 files changed, 1407 insertions(+), 496 deletions(-)

Comments

Marcel Holtmann March 1, 2020, 2:49 a.m. UTC | #1
Hi Luiz,

> This introduces the initial support for Bluetooth 5.2 features:
> 
> * ISO channels:
>        + tools/isotest command line tool to run validation tests
> 
> * L2CAP Enhanced Credit Based Flow Control Mode
>        + tools/l2test has been update to include the new mode

I prefer if we not merge these two just yet. Let this settle a bit first and figure out what the best userspace API is. Otherwise we are stuck with an API that doesn’t work.

> * Enhanced ATT Bearer:
>        + Client and Server support
>        + Include all new procedures
>        + Automaticlly detects and enables channels
>        + Number of channels configurable via main.conf

This looks ok to be merged.

Regards

Marcel
Luiz Augusto von Dentz March 2, 2020, 10:48 p.m. UTC | #2
Hi,

On Sat, Feb 29, 2020 at 6:49 PM Marcel Holtmann <marcel@holtmann.org> wrote:
>
> Hi Luiz,
>
> > This introduces the initial support for Bluetooth 5.2 features:
> >
> > * ISO channels:
> >        + tools/isotest command line tool to run validation tests
> >
> > * L2CAP Enhanced Credit Based Flow Control Mode
> >        + tools/l2test has been update to include the new mode
>
> I prefer if we not merge these two just yet. Let this settle a bit first and figure out what the best userspace API is. Otherwise we are stuck with an API that doesn’t work.
>
> > * Enhanced ATT Bearer:
> >        + Client and Server support
> >        + Include all new procedures
> >        + Automaticlly detects and enables channels
> >        + Number of channels configurable via main.conf
>
> This looks ok to be merged.
>
> Regards
>
> Marcel

Applied, L2CAP changes were excluded since we still need to settle on
the userspace API.