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.

CC2564 HCI Switch Role Command issue

Other Parts Discussed in Thread: CC2564

Hi:

I'm using CC2564 for a product, and i wanna it can be connected up to 4 Android Phones  simultaneously via SPP profile.

According to the spec, CC2564 must be in Master Role to meet this requirement,so after one  SPP channel connected ,i send a HCI switch role command:


 01 0B 08 07 CA 1A 17 44 0B B4 00 // swith to master,CA 1A 17 44 0B B4 is BT MAC address of phone side

and i recieved:

04 0F 04 00 01 0B 08
then after a few seconds, i got:

04 12 08 22 CA 1A 17 44 0B B4 01 // role remains in slave mode

 04 05 04 00 01 00 22 // hci disconect cause LMP timeout.

In rare case ,the role switch will be success, i'm confused with this,can someone help me?

  • Hi,

    Is it possible to share a sniffer log?
    In the SPPDemo app, can you make the below change and see if it helps (SPPDemo.c , OpenStack function) ?

    From:

    /* Go ahead and allow Master/Slave Role Switch. */
    L2CA_Link_Connect_Params.L2CA_Link_Connect_Request_Config = cqAllowRoleSwitch;
    L2CA_Link_Connect_Params.L2CA_Link_Connect_Response_Config = csMaintainCurrentRole;

    To:

    /* Go ahead and allow Master/Slave Role Switch. */
    L2CA_Link_Connect_Params.L2CA_Link_Connect_Request_Config = cqNoRoleSwitch;
    L2CA_Link_Connect_Params.L2CA_Link_Connect_Response_Config = csRequestRoleSwitch;

    Regards,
    Gigi Joseph.