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.

CC2650: Service are not displayed after connected

Part Number: CC2650
Other Parts Discussed in Thread: BLE-STACK

Hello,

I am using Keyfob Example of CC2650 with LanchXL Board.

Parameters :

    uint32_t passkey = 123456;
    uint8_t pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;
    uint8_t mitm = FALSE;
    uint8_t ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;
    uint8_t bonding = TRUE;
    uint8_t gapbondSecure = GAPBOND_SECURE_CONNECTION_ALLOW;

1. On some Android version it gets connected and bonded and on some it is not getting connected.Why it is happening?

2. On which Android it is getting connected, i am doing following seq

- Remove all background processes.

- Turn on BT

- Pair with device with passkey

- open BLE Scanner

- connect with device.It show all services after connection done.

--------- > Now , if i disconnect and connect again, status will be connected but will not display any Service

To see all service again i need to follow all steps in above sequence.which is not correct way

Please suggest me why i am getting this issue.

  • Palak,

    Do you have any sniffer logs of the passing and fail cases?

    What android versions are you seeing issues and what phones? Please provide versions for both passing and failing.

    We can't debug this without any sniffer logs to see what is occurring during the connecting/pairing/bonding process.
  • Also, provide what version of the BLE-Stack you are using please.
  • Hello Evan,

    Thanks for response.

    I got something let me share.

    BLE SDK : ble_sdk_2_02_01_18

    Configurations :

    uint32_t passkey = 123456;
        uint8_t pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;
        uint8_t mitm = TRUE;
        uint8_t ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;
        uint8_t bonding = TRUE;
        uint8_t gapbondSecure = GAPBOND_SECURE_CONNECTION_ALLOW; //added chintan
        
        GAPBondMgr_SetParameter(GAPBOND_DEFAULT_PASSCODE, sizeof(uint32_t),&passkey);
        GAPBondMgr_SetParameter(GAPBOND_PAIRING_MODE, sizeof (uint8_t), &pairMode);
        GAPBondMgr_SetParameter(GAPBOND_MITM_PROTECTION, sizeof (uint8_t), &mitm);
        GAPBondMgr_SetParameter(GAPBOND_IO_CAPABILITIES, sizeof (uint8_t), &ioCap);
        GAPBondMgr_SetParameter(GAPBOND_BONDING_ENABLED, sizeof (uint8_t), &bonding);
        GAPBondMgr_SetParameter(GAPBOND_SECURE_CONNECTION, sizeof(uint8_t), &gapbondSecure);

    Now,

    For characteristic :

    1. If i use GATT_PERMIT_AUTHEN_READ

    - Device will be connected, bonded in android App, but it will not display any service'

    2. If i use GATT_PERMIT_READ

    - Device will be connected, bonded in Android App, and all services are displayed.

    - In this case, if device is paired with one device, still other mobile app is able to connect with it.

    - So i guess no bonding security is here.

    Can you mention anything regarding this?

    If i want AUTH . then what else i need to do after changing GATT_PERMIT_READ to GATT_PERMIT_AUTHEN_READ

    3. Phone : Motorola and Nexus(oreo)

    -  Anroid OS : Nougat

    4. Sniffer Log : We are trying for Sniffer log and will update you.

    But it would be great help if you can provide operation sequence that need to be implemented in case of  GATT_PERMIT_AUTHEN_READ.