2015-07-28 15:01:53

by dogan yazar

[permalink] [raw]
Subject: Advertising api - local name missing

Advertising api does not have a field to set shortened or complete
local name. Daemon sets the local name (bluetoothd[828]:
src/adapter.c:local_name_changed_callback() Current alias: foo)
but when I run test/example-advertisement the local name is not sent
in the advertisement.
Is this a deliberate design choice, or a bug or just a low priority
feature to be implemented later?

Thanks
Dogan


2015-07-29 13:49:01

by Marcel Holtmann

[permalink] [raw]
Subject: Re: Advertising api - local name missing

Hi Szymon,

>> Advertising api does not have a field to set shortened or complete
>> local name. Daemon sets the local name (bluetoothd[828]:
>> src/adapter.c:local_name_changed_callback() Current alias: foo)
>> but when I run test/example-advertisement the local name is not sent
>> in the advertisement.
>> Is this a deliberate design choice, or a bug or just a low priority
>> feature to be implemented later?
>
> Name and appearance would be placed in scan response. Kernel already allows to
> set flags for this but for some reason this is not exposed in D-Bus.
> This is similar to TX Power which is exposed in D-Bus API so you may look at
> this if you are willing to add support for name.
>
> Also note that first instance controller by kernel should already have local
> name included in scan response.

have you checked the supported advertising flags by the kernel. I think we do not support the name inclusion by the kernel. Meaning bluetoothd would have to do that for us and manually put it in the scan response data.

This is something that could be added to the kernel. It is specified by mgmt-api.txt, but not implemented yet.

Regards

Marcel


2015-07-29 07:14:25

by Szymon Janc

[permalink] [raw]
Subject: Re: Advertising api - local name missing

Hi Dogan,

On Tuesday 28 of July 2015 17:01:53 dogan yazar wrote:
> Advertising api does not have a field to set shortened or complete
> local name. Daemon sets the local name (bluetoothd[828]:
> src/adapter.c:local_name_changed_callback() Current alias: foo)
> but when I run test/example-advertisement the local name is not sent
> in the advertisement.
> Is this a deliberate design choice, or a bug or just a low priority
> feature to be implemented later?

Name and appearance would be placed in scan response. Kernel already allows to
set flags for this but for some reason this is not exposed in D-Bus.
This is similar to TX Power which is exposed in D-Bus API so you may look at
this if you are willing to add support for name.

Also note that first instance controller by kernel should already have local
name included in scan response.

--
BR
Szymon Janc