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.

CC2564MODA: SPPLE demo : how to enable pairing

Part Number: CC2564MODA
Other Parts Discussed in Thread: CC256XM4BTBLESW, CC2564

Hi,

My customer is evaluating SPPLE demo with Tiva (CC256XM4BTBLESW).
According to customer, Pairing feature is disabled in SPPLE demo.

Customer wants to use Pairing and tried SetPairabilityMode command, but nothing seems to be changed.
Could you tell us how to enable Paring feature?

Thanks and regards,
Koichiro Tashiro

  • Hi Koichiro,

    In the demo after selecting the configuration they want (e.g. client or server), "SetPairabilitymode 1" will enable pairing. But it's odd they say this because it is initialized pairable by default. What exactly are they trying to do and what are they seeing that makes them believe this?

    Also, here is a helpful wiki that goes through the SPPLE demo.

    Jesu

  • Hi Jesu,

    What customer wants to do is to secure LE connection.

    There seems four levels of security in LE.
    LE Security Mode1:
    Level 1: no security
    Level 2: Unauthenticated paring with encryption
    Level 3: Authenticated paring with encryption
    Level 4: Authenticated LE Secure Connections paring with encryption (I think this is not supported by CC2564)

    Customer wants to use either Level 2 or Level 3 with SPPLE.
    You mentioned SPPLE is configured as pairable by default.
    Is this Level 2 or 3?

    Thanks and regards,
    Koichiro Tashiro

  • Hi Koichiro,

    By default it's level 1. I was doing some testing to increase the levels but there might be a bug in the code. Please give me some time to investigate this and get back to you. 

    Jesu

  • Hi Jesu,

    Could you update status of your investigation?
    Customer is waiting for your reply.

    Thanks and regards,
    Koichiro Tashiro

  • Hi Koichiro,

    To enable higher level security they can change DEFAULT_LE_IO_CAPABILITY in SPPLEDemo.c. By default it's set to licNoInputNoOutput which will be a level 1 connection. If they want authentication and encryption they can change it to something like licDisplayOnly which will generate a pin for the smartphone to enter. 

    Jesu

  • Hi Jesu,

    Thanks for your reply.

    Customer understood using licDisplayOnly is for level3 connection.
    Is this correct?

    If so, which one will be used for Level2?

    typedef enum
    {
       licDisplayOnly,
       licDisplayYesNo,
       licKeyboardOnly,
       licNoInputNoOutput,
       licKeyboardDisplay
    } GAP_LE_IO_Capability_t;


    Thanks and regards,
    Koichiro Tashiro

  • Hi Koichiro,

    Customer understood using licDisplayOnly is for level 3 connection.
    Is this correct?

    I assumed the customer was using a smartphone to connect to the CC2564. If my assumption is correct then yes, licDisplayOnly should give the customer a level 3 connection. To give you some background, it generally depends on the IO capability of the initiator (device initiating the connection) and the responder. Since smartphones have a keyboard and display their IO capability is KeyboardDisplay. Because of this, the level of the security connection typically depends on the responder. Refer to this table for more details. This table represents the key generation method for pairing but generally you can assume if the 2 devices are paired the connection is at least level 2. 

    This leads me to my next point... The default setting for DEFAULT_LE_IO_CAPABILITY (i.e. licNoInputNoOutput) will actually give you a level 2 connection assuming the master is sending pairing request. Please ignore my comment from before:

    By default it's set to licNoInputNoOutput which will be a level 1 connection.

    At the time I was not aware that pairing is used for security. I'm correct to say that connections by default are level 1 but that's simply because that's how they start. It has nothing to do with what IO capability is selected. 

    In other words, if a smartphone is being used to connect to CC2564, it's okay to assume licNoInputNoOutput will give you a level 2 connection and licDisplayOnly will give you a level 3 connection. If not, then it depends on the IO capabilities of the initiator and you can see in the table I linked how that changes things.

    I hope it's clear now please let me know if anything does not make sense. Sorry for any delays or confusion I may have caused.

    Jesu

  • Hi Jesu,

    Thanks for your answer.
    Customer understood it and I close this item.

    Thanks and regards,
    Koichiro Tashiro