2015-08-12 12:14:30

by Nazmul Alam

[permalink] [raw]
Subject: Inconsistent behavior while getting manufacture data through dbus-api

Hello everybody.
I am seeing inconsistent behavior while fetching manufacture data
through dbus-api.

I have a mobile device reporting adv data and scan response. Both
having manufacture data. which I am trying to get from another device
running bluez-5.31.

The api is working as expected when I am using ubuntu. I can see
manufacture data from adv data and scan response in an interleaved
manner.

But when I change to raspberry pi I can only see scan response. And
seldom get adv data. After checking the issue with btmgmt, I see that
"find -l" command is reporting eir length of 62 (probably they are
aggregated). But dbus-api is reporting only one manufacture data.

What might be the cause of this inconsistency? Also is there any way
to make bluez to not aggregate those two into a single eir?

My kernel version for ubuntu is 3.13.0 and 4.1.4 for raspberry pi
(running raspbian).

Thanks in advance.


2015-08-13 05:55:33

by Nazmul Alam

[permalink] [raw]
Subject: Re: Inconsistent behavior while getting manufacture data through dbus-api

Thanks Augusto for your reply.

I have verified this behavior with 5.33, it is still the same.

Any pointer to look into?

Thanks again.

On Wed, Aug 12, 2015 at 9:10 PM, Luiz Augusto von Dentz
<[email protected]> wrote:
> Hi,
>
> On Wed, Aug 12, 2015 at 3:14 PM, Nazmul Alam <[email protected]> wrote:
>> Hello everybody.
>> I am seeing inconsistent behavior while fetching manufacture data
>> through dbus-api.
>>
>> I have a mobile device reporting adv data and scan response. Both
>> having manufacture data. which I am trying to get from another device
>> running bluez-5.31.
>>
>> The api is working as expected when I am using ubuntu. I can see
>> manufacture data from adv data and scan response in an interleaved
>> manner.
>>
>> But when I change to raspberry pi I can only see scan response. And
>> seldom get adv data. After checking the issue with btmgmt, I see that
>> "find -l" command is reporting eir length of 62 (probably they are
>> aggregated). But dbus-api is reporting only one manufacture data.
>>
>> What might be the cause of this inconsistency? Also is there any way
>> to make bluez to not aggregate those two into a single eir?
>>
>> My kernel version for ubuntu is 3.13.0 and 4.1.4 for raspberry pi
>> (running raspbian).
>
> There have been some fixes recently to AD and manufacturer data,
> please first check if 5.33 had fix the issue.
>
>
> --
> Luiz Augusto von Dentz

2015-08-12 15:10:28

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: Inconsistent behavior while getting manufacture data through dbus-api

Hi,

On Wed, Aug 12, 2015 at 3:14 PM, Nazmul Alam <[email protected]> wrote:
> Hello everybody.
> I am seeing inconsistent behavior while fetching manufacture data
> through dbus-api.
>
> I have a mobile device reporting adv data and scan response. Both
> having manufacture data. which I am trying to get from another device
> running bluez-5.31.
>
> The api is working as expected when I am using ubuntu. I can see
> manufacture data from adv data and scan response in an interleaved
> manner.
>
> But when I change to raspberry pi I can only see scan response. And
> seldom get adv data. After checking the issue with btmgmt, I see that
> "find -l" command is reporting eir length of 62 (probably they are
> aggregated). But dbus-api is reporting only one manufacture data.
>
> What might be the cause of this inconsistency? Also is there any way
> to make bluez to not aggregate those two into a single eir?
>
> My kernel version for ubuntu is 3.13.0 and 4.1.4 for raspberry pi
> (running raspbian).

There have been some fixes recently to AD and manufacturer data,
please first check if 5.33 had fix the issue.


--
Luiz Augusto von Dentz