1 Reply Latest reply on Sep 27, 2018 12:13 PM by ShawnA_01

    BT classic master-side initiated pair not working

      I need my BT classic master to pair with a slave in a RFCOMM connection.

      The master is a custom board using CYW43907 combo chip.

      The slave is a WICED CYW920719Q40EVB-01 eval board with the WICED 6.2 20719-B1_Bluetooth/apps/snip/bt/spp demo app uploaded.

       

      My Android phone (acting as a master) is able to pair with the slave.

      But I cannot get my board to pair with the slave.

       

      I am able to inquire the device and get the slave bd_addr.

       

      After the inquiry is complete I'm calling wiced_bt_rfcomm_create_connection():

      wiced_result_t result = wiced_bt_rfcomm_create_connection( UUID_SERVCLASS_SERIAL_PORT,

                  BT_RFCOMM_SERVER_APP_SCN,

                  FALSE,  // Master-side is client

                  BT_RFCOMM_SERVER_APP_MTU,

                  bd_addr, // this is the address to the slave.

                  &bt_rfcomm_client_handle,

                  bt_rfcomm_client_conn_cback );

       

       

      result is 0 (WICED_BT_RFCOMM_SUCCESS).

       

      Several questions:

      As the master do I need to set connectivity (wiced_bt_dev_set_connectability())?

      As the master do I need to set discoverability (wiced_bt_dev_set_discoverability())?

      If so, do I need to do this before or after the call to wiced_bt_rfcomm_create_connection()?

       

      After calling wiced_bt_rfcomm_create_connection() the BT management callback function (p_bt_management_cback called from wiced_bt_stack_init())  receives a BTM_LOCAL_IDENTITY_KEYS_UPDATE_EVT event.

      I don't know how to handle this.  Please advise.

       

      The connection callback (bt_rfcomm_client_conn_cback) function gets called after this.

      the result code is 0x10 (WICED_BT_RFCOMM_PEER_CONNECTION_FAILED)