This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2541: ANCS no more available on stack 1.4.x

Part Number: CC2541

Hello all,

I am using a CC2541 device with a custom firmware based on the TimeApp demo on the 1.3.1 stack. I added the ANCS feature in order to get notification from iPhone. it works perfectly.

Not long ago I was asked to make it work with Android as well (with a custom ANCS on the app). But the CC2541 won't connect to Android 6.0. I found that upgrading the stack to the 1.4 allows my Android to connect. unfortunately, since then, ANCS don't work any more. In fact, the entire bonding process seemed to be different because the CC2541 won't reconnect after a reboot anymore.

I have the following parameters:

uint32 passkey = DEFAULT_PASSCODE;
uint8 pairMode = GAPBOND_PAIRING_MODE_INITIATE;
uint8 mitm = TRUE;
uint8 ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;
uint8 bonding = DEFAULT_BONDING_MODE;

I sniffed the connection process and it is different:

1.3.1:

1.4.1

I did try with 1.4.2 stack and with the demo app "Time app", doesn't do any good.

Have you a solution to be able to bond to the iPhone and to the Android with same firmware ?

Best regards

Matt

  • Hi Matt,

    Besides the LL_Version_IND the two sniffer captures that you posted do not seem to be very different.

    Let's start with the out of the box SDK sample apps, you state:

    I did try with 1.4.2 stack and with the demo app "Time app", doesn't do any good.

    Can you give more information about the failure? Can you provide steps to produce?

  • Hi,

    Thank you for your reply. I agree it is not very different. Also I don't really know what "Security enabled" stands for. It only appears with 1.4.x stack.

    When I use the 1.3.x stack I can bond my device with iOS (through iOS parameters) and the device reconnect by itself after a reboot (either of the phone or the device). Moreover, ANCS is working, I get all the notifications (incoming calls, FB messenger, SMS, ...).

     When I use the 1.4.x stack I can bond my device as well but there is no more reconnection after a reboot and ANCS don't work anymore. I think that this is related, maybe the device is not really bonded. I used the "Time app" example to try the bonding process and I modified it to access ANCS.

    In some other forum I could read that it could come from the advertising data. In order to bond with iOS the device has to broadcast a resolvable random device address. But I guess that the broadcasting type of address did not change from 1.3.x stack to 1.4.x stack.

    I am clueless.

    Best regards

    Matthieu