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.

CC2640R2F: Pairing problem with Android Samsung S7 edge

Part Number: CC2640R2F

Hi

I have some pairing failures that I would like to have some help to analyze. 

I'm running simplelink_cc2640r2_sdk_1_30_00_25

Pairing: Just works.

I have two Samsung S7 edge. With one it works but with the other one pairing doesn't work.

Could someone help me analyze the attached air-sniffer? It shows a connection and pairing try initiated from the phone. Can someone tell me who is waiting for who or what?

Is it the TI stack that should continue the pairing sequence?

Martin_PairingError.zip

  • Hi Martin,

    It doesn't look like pairing gets completed in either connections shown in the sniffer (look at the LE LL tab, you'll see that there's a LL_ENC_REQ with no response).

    In the first connection, the phone attempts to ATT_WRITE to a CCCD, but gets returned an error code saying Insufficient Authentication, so then the central proceeds to send a pairing request. (beginning the encryption process)

    There's isn't a write request in the second connection - explaining why there's no pairing. (You could initiate this on the slave side if you want)

    Anyway, I'm not sure what's going on that's causing you to not respond to the encryption request, it looks like the device is still alive though (it still shows up to events)

    I recommend starting with a simple_peripheral and change it to do justworks pairing, and testing with the phones.

    Regards,
    Rebel
  • Hi

    After studies your simple_peripheral application, line by line I noticed that you have add some functionality (bug fix?)

    "#if !define USE_LL_CONN_PARAM_UPDATE "

    This is something new that comes with the new 1.3 SDK?

    If I defines it, i.e. removing the code your simple_peripheral application will have the same issue as my application and you will have an air sniffer looking like the one I sent you.

    So, can you explain what this code does?

    Is it described in some documents? I can't find it in the release note that this is now needed.

    I guess I need to add it in my code to get it to work?

    Regards,

    Erik
  • Hello Erik,

    The description of this is in the simple_peripheral.c application:

    #if !defined (USE_LL_CONN_PARAM_UPDATE)
    // This code will disable the use of the LL_CONNECTION_PARAM_REQ
    // control procedure (for connection parameter updates, the
    // L2CAP Connection Parameter Update procedure will be used
    // instead). To re-enable the LL_CONNECTION_PARAM_REQ control
    // procedures, define the symbol USE_LL_CONN_PARAM_UPDATE
    // The L2CAP Connection Parameter Update procedure is used to
    // support a delta between the minimum and maximum connection
    // intervals required by some iOS devices.

    It is optional and can be disabled by defining USE_LL_CONN_PARAM_UPDATE in your PP symbols.

    Best wishes
  • Thanks.

    All those comments were not in my release.
    Now I know a little more.
    Still not completely clear what it does but it solved my problem against the samsung s7 edge.


    /Erik