You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mynewt.apache.org by swapnil kadam <sw...@outlook.com> on 2018/04/24 15:35:48 UTC

extended advertsing with btshell


Hello,
I am using btshell for advertsing with nrf52.

When I use 31 bytes, mfg_data accepts the data with extended advertsing. But when I use more than that, mfg_data doesn’t accept. is 251 byte payload supported in extended advertising?
How could I send more than 251 byte payload on extended advertsing?

Thank you,

Regards,
swapnil


Re: extended advertsing with btshell

Posted by Szymon Janc <sz...@codecoup.pl>.
Hi,

On Thursday, 26 April 2018 13:02:56 CEST swapnil kadam wrote:
> Hello Andrzej,
> 
> i followed the same steps as you suggested. i am configuring tx with
> following settings and data.
> 
> on transmitting end:
> 007092 btshell> set addr_type=public addr=01:02:03:04:05:06
> 009784 btshell> advertise-configure
> 012650 Instance 0 configured (selected tx power: 0)
> 012651 btshell> advertise-set-adv-data
> msg_data=0xff:0x01:0x02:0x03:0x04:0x05:0x06:0x07:0x08:0x09:0x10:0x11:0x12:0
> x13:0x14:0x15:0x16:0x17:0x18:0x19:0x20:0xcb:0x7f:0xfd:0x98:0xb7:0x11:0x00:0x
> 0f:0xdc:0x14:0x52:0xa 017617 btshell> advertise-start

It should be "mfg_data" instead of "msg_data" for manufacturer data :-) so you 
were in fact setting empty data.

I'll send a fix for btshell so that it complains on unknown option instead of 
just ignoring it.

-- 
pozdrawiam
Szymon Janc



RE: extended advertsing with btshell

Posted by swapnil kadam <sw...@outlook.com>.
Hello Andrzej,



i followed the same steps as you suggested. i am configuring tx with following settings and data.



on transmitting end:
007092 btshell> set addr_type=public addr=01:02:03:04:05:06
009784 btshell> advertise-configure
012650 Instance 0 configured (selected tx power: 0)
012651 btshell> advertise-set-adv-data msg_data=0xff:0x01:0x02:0x03:0x04:0x05:0x06:0x07:0x08:0x09:0x10:0x11:0x12:0x13:0x14:0x15:0x16:0x17:0x18:0x19:0x20:0xcb:0x7f:0xfd:0x98:0xb7:0x11:0x00:0x0f:0xdc:0x14:0x52:0xa
017617 btshell> advertise-start


if i dont set address then it throws error saying =  failed to start advertising instance

and if i set the address then at aux packet i recieve addr not a data.



on reciever side:

041586 btshell> scan extended=1M passive=1
042750 btshell> Extended adv: completed rssi=-21 txpower=127, pphy=1, sphy=1, sid=0, addr_type=0 addr=01:02:03:04:05:06
042795 Extended adv: completed rssi=-21 txpower=127, pphy=1, sphy=1, sid=0, addr_type=0 addr=01:02:03:04:05:06





regards,

swapnil

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10



________________________________
From: Andrzej Kaczmarek <an...@codecoup.pl>
Sent: Tuesday, April 24, 2018 9:57:33 PM
To: dev@mynewt.apache.org
Subject: Re: extended advertsing with btshell

Hi,

On Tue, Apr 24, 2018 at 8:57 PM, swapnil kadam <sw...@outlook.com> wrote:
> Thanks Andzrej. As per your suggestions I followed the same steps.
>
>
>
> I am using following commands in btshell:
>
> I have to use extended advertisement so I am keeping legacy = 0 unset
>
> set addr_type=public addr=01:02:03:04:05:06

FYI, "addr_type=public" is default so you can skip this parameter (but
it's perfectly fine to include it).

> advertise-configure scannable=1
>
> when I enter
>
> advertise-set-adv-data name=xyz
>
> it throws error saying: error setting advertisement data; rc=3

You cannot set advertising data for instance configured as scannable.
Either set scan response data using "advertise-set-scan-rsp" command
(parameters are the same as for "advertise-set-adv-data") or configure
instance as non-scannable. For example, "advertise-configure" alone
will configure instance as non-connectable non-scannable which in your
case means you can set advertising data. Also note that if you
continue to use scannable instance you will need to perform active
scanning in order to get scan response data.

> but when I configure with legacy =1 it accepts all advertise-set-adv-data commands.

This is because legacy advertising instances can accept both
advertising and scan response data but since they use legacu PDUs the
limit is still 31 bytes.

> I have to check data (more than 31 byte) on extended advertisement channels which is not possible with legacy.
>
>
>
> I think I am missing something.
>
>
>
> Regards,
>
> Swapnil

Best,
Andrzej


>
> ________________________________
> From: Andrzej Kaczmarek <an...@codecoup.pl>
> Sent: Tuesday, April 24, 2018 5:42:14 PM
> To: dev@mynewt.apache.org
> Subject: Re: extended advertsing with btshell
>
> Hi swapnil,
>
> You need to set BLE_EXT_ADV_MAX_SIZE syscfg to required value, e.g.:
>> newt target amend <your_target> syscfg=BLE_EXT_ADV=1:BLE_EXT_ADV_MAX_SIZE=1650
>
> Default is 31, max is 1650 (as above).
>
> Best,
> Andrzej
>
>
> On Tue, Apr 24, 2018 at 5:35 PM, swapnil kadam <sw...@outlook.com> wrote:
>>
>>
>> Hello,
>> I am using btshell for advertsing with nrf52.
>>
>> When I use 31 bytes, mfg_data accepts the data with extended advertsing. But when I use more than that, mfg_data doesn’t accept. is 251 byte payload supported in extended advertising?
>> How could I send more than 251 byte payload on extended advertsing?
>>
>> Thank you,
>>
>> Regards,
>> swapnil
>>

Re: extended advertsing with btshell

Posted by Andrzej Kaczmarek <an...@codecoup.pl>.
Hi,

On Tue, Apr 24, 2018 at 8:57 PM, swapnil kadam <sw...@outlook.com> wrote:
> Thanks Andzrej. As per your suggestions I followed the same steps.
>
>
>
> I am using following commands in btshell:
>
> I have to use extended advertisement so I am keeping legacy = 0 unset
>
> set addr_type=public addr=01:02:03:04:05:06

FYI, "addr_type=public" is default so you can skip this parameter (but
it's perfectly fine to include it).

> advertise-configure scannable=1
>
> when I enter
>
> advertise-set-adv-data name=xyz
>
> it throws error saying: error setting advertisement data; rc=3

You cannot set advertising data for instance configured as scannable.
Either set scan response data using "advertise-set-scan-rsp" command
(parameters are the same as for "advertise-set-adv-data") or configure
instance as non-scannable. For example, "advertise-configure" alone
will configure instance as non-connectable non-scannable which in your
case means you can set advertising data. Also note that if you
continue to use scannable instance you will need to perform active
scanning in order to get scan response data.

> but when I configure with legacy =1 it accepts all advertise-set-adv-data commands.

This is because legacy advertising instances can accept both
advertising and scan response data but since they use legacu PDUs the
limit is still 31 bytes.

> I have to check data (more than 31 byte) on extended advertisement channels which is not possible with legacy.
>
>
>
> I think I am missing something.
>
>
>
> Regards,
>
> Swapnil

Best,
Andrzej


>
> ________________________________
> From: Andrzej Kaczmarek <an...@codecoup.pl>
> Sent: Tuesday, April 24, 2018 5:42:14 PM
> To: dev@mynewt.apache.org
> Subject: Re: extended advertsing with btshell
>
> Hi swapnil,
>
> You need to set BLE_EXT_ADV_MAX_SIZE syscfg to required value, e.g.:
>> newt target amend <your_target> syscfg=BLE_EXT_ADV=1:BLE_EXT_ADV_MAX_SIZE=1650
>
> Default is 31, max is 1650 (as above).
>
> Best,
> Andrzej
>
>
> On Tue, Apr 24, 2018 at 5:35 PM, swapnil kadam <sw...@outlook.com> wrote:
>>
>>
>> Hello,
>> I am using btshell for advertsing with nrf52.
>>
>> When I use 31 bytes, mfg_data accepts the data with extended advertsing. But when I use more than that, mfg_data doesn’t accept. is 251 byte payload supported in extended advertising?
>> How could I send more than 251 byte payload on extended advertsing?
>>
>> Thank you,
>>
>> Regards,
>> swapnil
>>

RE: extended advertsing with btshell

Posted by swapnil kadam <sw...@outlook.com>.
Thanks Andzrej. As per your suggestions I followed the same steps.



I am using following commands in btshell:

I have to use extended advertisement so I am keeping legacy = 0 unset

set addr_type=public addr=01:02:03:04:05:06

advertise-configure scannable=1

when I enter

advertise-set-adv-data name=xyz

it throws error saying: error setting advertisement data; rc=3



but when I configure with legacy =1 it accepts all advertise-set-adv-data commands.

I have to check data (more than 31 byte) on extended advertisement channels which is not possible with legacy.



I think I am missing something.



Regards,

Swapnil

________________________________
From: Andrzej Kaczmarek <an...@codecoup.pl>
Sent: Tuesday, April 24, 2018 5:42:14 PM
To: dev@mynewt.apache.org
Subject: Re: extended advertsing with btshell

Hi swapnil,

You need to set BLE_EXT_ADV_MAX_SIZE syscfg to required value, e.g.:
> newt target amend <your_target> syscfg=BLE_EXT_ADV=1:BLE_EXT_ADV_MAX_SIZE=1650

Default is 31, max is 1650 (as above).

Best,
Andrzej


On Tue, Apr 24, 2018 at 5:35 PM, swapnil kadam <sw...@outlook.com> wrote:
>
>
> Hello,
> I am using btshell for advertsing with nrf52.
>
> When I use 31 bytes, mfg_data accepts the data with extended advertsing. But when I use more than that, mfg_data doesn’t accept. is 251 byte payload supported in extended advertising?
> How could I send more than 251 byte payload on extended advertsing?
>
> Thank you,
>
> Regards,
> swapnil
>

Re: extended advertsing with btshell

Posted by Andrzej Kaczmarek <an...@codecoup.pl>.
Hi swapnil,

You need to set BLE_EXT_ADV_MAX_SIZE syscfg to required value, e.g.:
> newt target amend <your_target> syscfg=BLE_EXT_ADV=1:BLE_EXT_ADV_MAX_SIZE=1650

Default is 31, max is 1650 (as above).

Best,
Andrzej


On Tue, Apr 24, 2018 at 5:35 PM, swapnil kadam <sw...@outlook.com> wrote:
>
>
> Hello,
> I am using btshell for advertsing with nrf52.
>
> When I use 31 bytes, mfg_data accepts the data with extended advertsing. But when I use more than that, mfg_data doesn’t accept. is 251 byte payload supported in extended advertising?
> How could I send more than 251 byte payload on extended advertsing?
>
> Thank you,
>
> Regards,
> swapnil
>