I?ve noticed that since around BlueZ 5.27, GATT client functionality is
enabled for all devices.
>From a LE Peripheral's perspective, this results in unconditional reverse
service discovery of a Central's GATT services.
It seems like this will not always be necessary depending on the use case,
and disabling GATT client functionality should save energy and time. My
iPhone, for example, has about 8 services that my Peripheral doesn?t care
about.
I?m considering making an attempt to disable this, as the BT spec says
GATT clients are optional for LE peripherals. (BT 4.2, Vol 3, Part C,
Table 15.1), but I first would like to ask if anyone has any insight on
why it may be desirable to keep the client functionality enabled.
Thanks!
Adam
Statement of Confidentiality
The contents of this e-mail message and any attachments are confidential and are intended solely for the addressee. The information may also be legally privileged. This transmission is sent in trust, and the sole purpose of delivery to the intended recipient. If you have received this transmission in error, any use, reproduction or dissemination of this transmission is strictly prohibited. If you are not the intended recipient, please immediately notify the sender by reply e-mail or at 508.683.2500 and delete this message and its attachments, if any.
Hi Adam,
On Thu, Jan 14, 2016 at 10:41 PM, Adam Moore
<[email protected]> wrote:
> Iıve noticed that since around BlueZ 5.27, GATT client functionality is
> enabled for all devices.
>
> From a LE Peripheral's perspective, this results in unconditional reverse
> service discovery of a Central's GATT services.
>
> It seems like this will not always be necessary depending on the use case,
> and disabling GATT client functionality should save energy and time. My
> iPhone, for example, has about 8 services that my Peripheral doesnıt care
> about.
This is only considerable for the very first time you connect, after
that Read By Group should return matching cached services so no extra
commands would be needed.
> Iım considering making an attempt to disable this, as the BT spec says
> GATT clients are optional for LE peripherals. (BT 4.2, Vol 3, Part C,
> Table 15.1), but I first would like to ask if anyone has any insight on
> why it may be desirable to keep the client functionality enabled.
There are important services behind GATT, such as GAP and DIS, that
are relevant even for a peripheral. We could perhaps disable the
discovery if there are no drivers available to probe, but currently we
have no means to detect if the driver UUID is GATT or not.
--
Luiz Augusto von Dentz