Cannot scan extended adv for packets > legacy length in zephyr

I'm trying to send and receive an extended advertisement packet with about 100bytes of payload.

I started with the sample extended_adv example.

I 1st validated that using 2 nrf52840 boards I could send and receieve extended adv data.

I then modified the sender to send more data:

I added "CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=191" to prj.conf

and increased the packet size in main.c:

static struct bt_data ad[] = {

        BT_DATA(BT_DATA_NAME_COMPLETE, CONFIG_BT_DEVICE_NAME, sizeof(CONFIG_BT_DEVICE_NAME) - 1),

        BT_DATA(BT_DATA_SVC_DATA16, NULL, 0)

};

...

        static uint8_t data[30];

        for (int i = 0; i < sizeof(data); i++)

                data[i] = i;

        ad[1].data_len = sizeof(data);

        ad[1].data = data;

Using nrfconnect on my phone, I can see the extended packets being sent by the advertiser with the extended data in the Service Data field

However, the scanner sample cannot see the longer extended packets.

I tried increasing the scan buffer size with 

CONFIG_BT_EXT_SCAN_BUF_SIZE=1600

but it had no effect.

I see the same issue in my application, but figured I'd keep it simple with the example

I'm using zephyr 3.7.0. my main application is already on zephyr 3.7, so it would be a large effor to mirgate to the nordic 2.7 SDK if that is needed.

Related