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: Custom board cache issues on mobile app

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

I am developing a firmware for CC2650 custom board which is very similiar to the simple peripheral. When the board broadcasts name, it shows different names and services on different mobiles.

For eg

Name "abc" in iphone 8 with services 1,2

xyz on iphone xs with services 1 

What is the best way to resolve this issue? Why am I not able to see the services all the time

Moreover I have introduced OAD service in the application. But I am only able to see the service in one of the Iphone (Xs) [TI simplelink Starter]. Also strangely when I flash the same code on another custom board [I have many custom cc2650 boards] I am only able to see the OAD service on Iphone 8  [TI simplelink Starter].

  • Hi Parth,

    I have assigned your thread to someone internally who will be able to assist. 

    What SDK are you using?

  • I am using the ble stack 2.2

  • Hi Parth,

    Can you clarify your situation so that I may understand your issue better, let us know which of these situations applies to you

    1. You intend to have different advertising names or services exposed depending on the scanning/connected device. E.g. your application changes the scan/adv data
    2. You do not intend to have different services exposed to each device and wish all devices to see the same service and advertising data

    It is worth noting the mobile devices cache the Device Name and service handles with devices that they are bonded to.

    Can you clarify the following:

     - Have you paired or bonded with these phones

     - If you forget the device from the phone and disable/re-enable BLE on the phone, does the behavior change

     - If you use BTool, does the advertising and service data display as expected?

  • Hi Sean,

    do not intend to have different services exposed to each device and wish all devices to see the same service and advertising data

    Have you paired or bonded with these phones?

    I have made earlier connections with these devices, and unfortunately I see their old names only even If I modify the advertisement string!

    If you forget the device from the phone and disable/re-enable BLE on the phone, does the behavior change?

    I am not able to forget these names because being a BLE device, I dont see it on normal Bluetooth settings where I can get a chance to forget them!

     If you use BTool, does the advertising and service data display as expected?

    No I havent been using the BTool/BLE Device Monitor because whenever I program my cc2650 Launchpad with Host test (As given in the guides) It never shows me any bluetooth devices

    Thanks for your help, and let me know your further questions

  • Hi Parth,

    >>  I am not able to forget these names because being a BLE device, I dont see it on normal Bluetooth settings where I can get a chance to forget them!

    If you have bonded to any of the devices, you will see them in your normal Bluetooth settings pane. Have you tried enabling/disabling the bluetooth on your mobile device.

    As you have connected to the devices before, I suspect that the data is being cached. Do you have sniffer capture of the connections?

    >> No I havent been using the BTool/BLE Device Monitor

    BLE device monitor is a deprecated tool and should not be used at all.

    BTool, is installed as part of the BLE-SDK. Can you attach a BTool log in the failure case.

  • Have you tried enabling/disabling the bluetooth on your mobile device

    Yes, But no Success

    Do you have sniffer capture of the connections?

    No I dont have a sniffer tool. Can I use my cc2650 launchpad for sniffing?

    Can you attach a BTool log in the failure case.

    I am using cc2650 Launchpad as a host test ...

  • HI,

    How are you configuring the CC2650 LaunchPad with host_test?  Are you using the hex file in examples/hex/cc2650lp_host_test_rel.hex?

  • Hi Parth,

    From what I know this is a cache issue at the mobile phone side. When this happens you need to clear mobile phone cache by closing mobile phone bluetooth app and turning bluetooth off then on. Also use IOS Lightblue App or Android nRF Connect for testing.

    -kel

  • I have been doing it every time, and I face the same issue on lightblue too!

  • Hi Parth,

    I tested with BTool v 1.41.11 and BLE-Stack ble_sdk_2_02_02_25.

    When flashing the host_test hex file listed at C:\ti\simplelink\ble_sdk_2_02_02_25\examples\hex\cc2650lp_host_test_rel.hex, I was able to initialize BTool.

    Can you confirm that you are using the same versions and can achieve the same result

    [1] : <Info> - 01:53:40.591
    Port opened at 7/22/2019 1:53:40 PM
    --------------------------------------------------------------------
    [2] : <Tx> - 01:53:40.979
    -Type           : 0x01 (Command)
    -OpCode         : 0x0C03 (HCI_Reset)
    -Data Length    : 0x00 (0) byte(s)
    Dump(Tx):
    0000:01 03 0C 00                                     ....
    --------------------------------------------------------------------
    [3] : <Rx> - 01:53:41.074
    -Type           : 0x04 (Event)
    -EventCode      : 0x000E (HCI_CommandCompleteEvent)
    -Data Length    : 0x04 (4) bytes(s)
     Packets        : 0x01 (1)
     OpCode         : 0x0C03 (HCI_Reset)
     Status         : 0x00 (0) (Success)
    Dump(Rx):
    0000:04 0E 04 01 03 0C 00                            .......
    --------------------------------------------------------------------
    [4] : <Tx> - 01:53:41.131
    -Type           : 0x01 (Command)
    -OpCode         : 0xFE00 (GAP_DeviceInit)
    -Data Length    : 0x26 (38) byte(s)
     ProfileRole    : 0x08 (8) (Central)
     MaxScanRsps    : 0x05 (5)
     IRK            : 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
     CSRK           : 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
     SignCounter    : 0x00000001 (1)
    Dump(Tx):
    0000:01 00 FE 26 08 05 00 00 00 00 00 00 00 00 00 00 ...&............
    0010:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0020:00 00 00 00 00 00 01 00 00 00                   ..........
    --------------------------------------------------------------------
    [5] : <Rx> - 01:53:41.188
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x06 (6) bytes(s)
     Event          : 0x067F (1663) (GAP_HCI_ExtentionCommandStatus)
     Status         : 0x00 (0) (Success)
     OpCode         : 0xFE00 (GAP_DeviceInit)
     DataLength     : 0x00 (0)
    Dump(Rx):
    0000:04 FF 06 7F 06 00 00 FE 00                      .........
    --------------------------------------------------------------------
    [6] : <Rx> - 01:53:41.199
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x2C (44) bytes(s)
     Event          : 0x0600 (1536) (GAP_DeviceInitDone)
     Status         : 0x00 (0) (Success)
     DevAddr        : 24:71:89:07:FF:87
     DataPktLen     : 0x001B (27)
     NumDataPkts    : 0x05 (5)
     IRK            : 75:13:2D:98:80:C6:41:C6:22:C0:BF:D3:08:35:2F:82
     CSRK           : FB:64:C9:F1:CD:42:40:A2:3D:1A:45:6A:6A:2B:E8:3A
    Dump(Rx):
    0000:04 FF 2C 00 06 00 87 FF 07 89 71 24 1B 00 05 75 ..,.......q$...u
    0010:13 2D 98 80 C6 41 C6 22 C0 BF D3 08 35 2F 82 FB .-...A."....5/..
    0020:64 C9 F1 CD 42 40 A2 3D 1A 45 6A 6A 2B E8 3A    d...B@.=.Ejj+.:
    --------------------------------------------------------------------
    [7] : <Tx> - 01:53:41.363
    -Type           : 0x01 (Command)
    -OpCode         : 0xFE31 (GAP_GetParam)
    -Data Length    : 0x01 (1) byte(s)
     ParamID        : 0x15 (21) (TGAP_CONN_EST_INT_MIN)
    Dump(Tx):
    0000:01 31 FE 01 15                                  .1...
    --------------------------------------------------------------------
    [8] : <Tx> - 01:53:41.374
    -Type           : 0x01 (Command)
    -OpCode         : 0xFE31 (GAP_GetParam)
    -Data Length    : 0x01 (1) byte(s)
     ParamID        : 0x16 (22) (TGAP_CONN_EST_INT_MAX)
    Dump(Tx):
    0000:01 31 FE 01 16                                  .1...
    --------------------------------------------------------------------
    [9] : <Tx> - 01:53:41.397
    -Type           : 0x01 (Command)
    -OpCode         : 0xFE31 (GAP_GetParam)
    -Data Length    : 0x01 (1) byte(s)
     ParamID        : 0x1A (26) (TGAP_CONN_EST_LATENCY)
    Dump(Tx):
    0000:01 31 FE 01 1A                                  .1...
    --------------------------------------------------------------------
    [10] : <Rx> - 01:53:41.407
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x08 (8) bytes(s)
     Event          : 0x067F (1663) (GAP_HCI_ExtentionCommandStatus)
     Status         : 0x00 (0) (Success)
     OpCode         : 0xFE31 (GAP_GetParam)
     DataLength     : 0x02 (2)
     ParamValue     : 0x0050 (80)
    Dump(Rx):
    0000:04 FF 08 7F 06 00 31 FE 02 50 00                ......1..P.
    --------------------------------------------------------------------
    [11] : <Tx> - 01:53:41.408
    -Type           : 0x01 (Command)
    -OpCode         : 0xFE31 (GAP_GetParam)
    -Data Length    : 0x01 (1) byte(s)
     ParamID        : 0x19 (25) (TGAP_CONN_EST_SUPERV_TIMEOUT)
    Dump(Tx):
    0000:01 31 FE 01 19                                  .1...
    --------------------------------------------------------------------
    [12] : <Rx> - 01:53:41.418
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x08 (8) bytes(s)
     Event          : 0x067F (1663) (GAP_HCI_ExtentionCommandStatus)
     Status         : 0x00 (0) (Success)
     OpCode         : 0xFE31 (GAP_GetParam)
     DataLength     : 0x02 (2)
     ParamValue     : 0x0050 (80)
    Dump(Rx):
    0000:04 FF 08 7F 06 00 31 FE 02 50 00                ......1..P.
    --------------------------------------------------------------------
    [13] : <Rx> - 01:53:41.429
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x08 (8) bytes(s)
     Event          : 0x067F (1663) (GAP_HCI_ExtentionCommandStatus)
     Status         : 0x00 (0) (Success)
     OpCode         : 0xFE31 (GAP_GetParam)
     DataLength     : 0x02 (2)
     ParamValue     : 0x0000 (0)
    Dump(Rx):
    0000:04 FF 08 7F 06 00 31 FE 02 00 00                ......1....
    --------------------------------------------------------------------
    [14] : <Rx> - 01:53:41.441
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x08 (8) bytes(s)
     Event          : 0x067F (1663) (GAP_HCI_ExtentionCommandStatus)
     Status         : 0x00 (0) (Success)
     OpCode         : 0xFE31 (GAP_GetParam)
     DataLength     : 0x02 (2)
     ParamValue     : 0x07D0 (2000)
    Dump(Rx):
    0000:04 FF 08 7F 06 00 31 FE 02 D0 07                ......1....
    --------------------------------------------------------------------
    

    After connecting and setting up BTool, use it to connect to your device and list the UUIDs, they should display as expected.

    This can help us verify that the GATT server is set up as expected.

  • As you can see in the screenshot, I tried with the same versions

  • Hello,

    My apologies that this is not working for you. I will ask some followup questions to help you verify further.

    Can you verify that you are using a CC2650 LaunchPad? What is the version or revision number?

    Can you confirm that you are not using the CC2640R2F? Have you attached BTool to the user/UART COM port of the LaunchPad?

  • Can you verify that you are using a CC2650 LaunchPad? What is the version or revision number?

    Yes. Revision no is Rev:1.2

     Have you attached BTool to the user/UART COM port of the LaunchPad?

    Yaa Its at com 3.