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.

SPPLEDemo - master CC2564 connect with 7 SPPCOM devices issue

Other Parts Discussed in Thread: CC2564, CC2564MODNEM, CC2564C

Hi,

In my application I use STM32F4Discovery board with CC2564 as master to connect to 7 SPP COM devices using the SPPLEDemo.

After reconfigure the parameter MAX_SUPPORTED_LINK_KEYS, MAX_LE_CONNECTIONS, MAX_SIMULTANEOUS_SPP_PORTS to 7 and adjust the buffer BTPS_MEMORY_BUFFER_SIZE to (105 * 1024) I am able to connect 6 devices and transfer data without problem. But when I try to connect the 7th device, the connection take a minute or so and then all other connections drop (disconnect) and the master hang, I have to reset it to make it normal again.

I check the log and see this 

57211	17:19:52.649   +0:03:09.525	*** WARNING *** No OSA buffer available, pool id: 0	
57212	17:19:52.649   +0:03:09.525	ERROR: Data Abort !!!, Link Register: 0x184e8	
57213	17:19:52.649   +0:03:09.525	ERROR: Data Abort !!!, Link Register: 0xe10f0004	

it seems like the problem is buffer not enough, but I already increase the buffer to BTPS_MEMORY_BUFFER_SIZE to (105 * 1024), I wonder if 7 connections simutaneously consume that much RAM? I attached the log file for your reference. Please help2564_20161110_1730.zip

  • Hi Shrek,

    Thanks for attaching the logs. The query has been assigned to the relevant experts.

    Best regards,
    Vihang
  • Hello Shrek,

    Can you please send me the bts file you are using?

    I would like to confirm the exact version you are using.

    BR,

    Chen Loewy

  • Hi Loewy,

    Thank you for your reply.

    Since I am new to TI so I dont know where and how to get bts file. I googled it and found that bts file could be acquired by HCITester but since there is no user manual or any guidance how to extract the bts file from it so when I try to save as BTS file, it gets fail.

    To escalate the debug process, so if you need any information, documents, please list it out and dont forget to give me guidance to get it. Many thanks.

    I found this problem already exsited but no answer 

    https://e2e.ti.com/support/wireless_connectivity/bluetooth_cc256x/f/660/t/400516

    Not sure if the below info help

    OpenStack().
    Bluetooth Stack ID: 1
    LOW ENERGY Support initialized.
    Device Chipset: 4.1
    BTPS Version : 4.0.2.1
    Project Type : 6
    FW Version : 7.26
    App Name : SPPLEDemo
    App Version : 0.5
    LOCAL BD_ADDR: 0xB0B4489DB2D9

    I also found this in CC256XB.h

       /* *********************************************************************** */
       /* ************************** Patch RAM Version ************************** */
       /* - Base                                                                  */
       /*   - BL6450B (CC256xB) BT SP 1.2                                         */
       /* - Add Ons                                                               */
       /*   - LE Add-On Pack for SP 1.2 (Official).                               */
       /*   - AVPR Add-On Pack for SP 1.2 (Official).                             */
       /* *********************************************************************** */

    P/S: I try to update the service pack to 1.5 (the latest) from this link 

    http://www.ti.com/tool/cc256xb-bt-sp

    but after create the .h file from bts file I modified CC256XB.h by copy and paste the new array to below position, but the program run and stop at "OpenStack()."

    static BTPSCONST unsigned char BasePatch[] =
    {
    
    #ifdef _MULTIROOM_
    ............
    #else
    /* add array from bts file here*/

    I attach the service packet .h file for your reference V1-5.h

    It will be much helpful if you can send me the .h file for latest service pack to update. Thank you very much.

    Regards,
    Shrek.

  • Hi Loewy,

    After update service pack to 1.5 as mentioned in previous post, and replace new CC2564MODNEM module, now I am able to connect to 7 devices and receive data, but these connections just exsit around 1 minute and automatically drop (disconnect all 7 connections).

    As you can see in log the warning and error appear exactly same as my report in first post

    77260 16:44:15.458 +0:02:18.817 *** WARNING *** No OSA buffer available, pool id: 0 
    77261 16:44:15.458 +0:02:18.817 ERROR: Data Abort !!!, Link Register: 0x184e8 
    77262 16:44:15.458 +0:02:18.817 ERROR: Data Abort !!!, Link Register: 0xe10f0004

    There is no information about this OSA buffer in TI document or internet.

    Attehced log FYR. Please help2564_20161115_1648.zip

    regards,

    Shrek.

  • Hi Shrek,

    Are you setting these links into sniff mode?
    or have them as active channels the whole time?

    Chen
  • Hi Chen,

    It is clearly in the log that all all devices in sniff mode.

    All devices in active mode. I tested 6 devices connection for more than 24 hours and sending data without any problem. The issue only happens when I try to connect the 7th device to the piconet, sometime with good luck, it is able to connect but after a few data transfer, all connections drop. Sometimes drop when trying to connect the 7th devices. But when the issue happens, the log always shows those warning and error. The problem is I cannot find any information to fix those warning and error. Is it a CC2564 bug? 

    BRs,

    Shrek 

  • Hi Shrek,

    Please make sure only to put five of the connections into sniff mode.

    in the meanwhile we will investigate the issue you see.

    BR,

    Chen Loewy

  • Hi Shrek:

    Please have those 2 test cases:

       #1. Prepare 1 CC2564B to be the server side, and making 7 devices with this server.

             That means: 1 CC2564B server vs 7 CC2564B clients.

       #2. Are you using another Bluetooth solution to be the server?

             If yes, if you use the 7 devices (not TI solution for being the clients), is this server able to take 7 connection?

       My doubtness is the "server cabality".

       If the Server is not 100% okay for taking 7 connections, then, the issue should be there.

    BR Rio

  • Hi Rio,

    Thank you for your response.

    #1: I use CC2564B as server, but I dont have 7 CC2564B clients (I dont have so many CC2564 modules like that); therefore I use our own stollman BT modules to work as clients.

    #2: Yes, BTstack (BlueKitchen) are able to connect  to 7 clients.

    Our tests are:

    1. STM32F4 Discovery + CC2564MODNEM function as a server

    2. 7 Stollman Bluetooth modules as 7 clients.

    Any 6 clients connect to server working well. Issue only happens when the seventh client try to connect to the piconet.

    Anddiional information FYR, so far, we porting sucessfully open source BTstack (BlueKitchen) to our STM32F3 system, from there, we are able to connect the above mentioned 7 clients to the system and transfer data without any problem.

    regards,

    Shrek

  • Hi Shrek:

     Thanks for the good news.

     If you replace the BT Stack and it works well, then, 1 thing is be sure that TI CC2564B FW is reliaable. (See the CC2564X / CC2564B.h, this is the CC2564B FW)

     And I think the TI Bluetopia has some weakness that we never observed.

     I will talk with TI AE for syncing this.

     Thanks for using TI parts.

    BR Rio

  • Hello Rio,

    A solution has been suggested over email.
    closing this thread.

    Please update in a new thread if problem still occurs.

    BR,
    Chen Loewy
  • Hi Rio and Chen,

    I think you two get misunderstanding, let me explain again.

    I mean that the system with TI CC2564B do not work with 7 clients.

    We use another CSR Bluetooth chip to do porting BTStack to our system (STM32F3+ CSR Bluetooth chip). Since we evaluate two solutions simutaneously, one is TI solution with CC2564 and Bluetopia stack; another one is CSR Bluetooth chip and BTStack. The latter is working well, but TI solution still have issue with 7 clients connecting simutaneously.

    The TI distributor here in Taiwan replied my email and said that the problem can be solved with CC2564C. Since I am using CC2564B, so I need to wait for TI headquater release a patch to update CC2564B to fix this bug. So I still have been waitting for the patch. I am not sure if you two are aware of this patch?

    regards,
    Shrek.