This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

CONNECT_REQ missing

Hello, I have a question regarding BLE Connection.

Test Condition:

    - SDK: nRF5_SDK_15.3.0

    - Softdevice: s140_nrf52_6.1.1

    - Target hardware: PCA10040(nRF52832), custom board(nRF52840)

Problem:

    - Connection from Android phone fails from time to time

Notes:

    - Only some phones show the problem

    - nRF52832 shows more error than nRF52840 ( for example 10% in 52832(10 fails on 100 trial),  while 1% in 52840 )

    - I captured the failing and success case but failed to identify difference.

Following capture shows normal case.

nRF5 stops advertising(Orange) as soon as it gets CONNECT_REQ(Purple).

And master and slave meet later when CONNECT_REQ specified. ( Green and Blue packet )

Normal Case

Following 2 captures show failing case.

IFS between orange(ADV_IND) and purple(CONNECT_REQ) is 152us both normal and failing case.

nRF5 keeps adverting and does not respond to master's packet.

Fail 1

fail 2

I don't think it's from interference because of the first failing case.

Here is the zoomed-in picture of the first failing case.

nRF5 has definitely received the purple packet and we know it from the fact that the third ADV_IND is deferred ( 528us + 652 us ).

Usually, the third ADV packet is sent around 874us after the beginning of second ADV packet.

CONNECT_REQ Ignored

I hope it is not an inherent problem of nRF5.

Please give me some measure to get around this problem.

I think it may help if the gap between ADV packets in one event can be widen.

Thank you.

Best regards,

Jake

Parents Reply Children
No Data
Related