Part Number: CC2564
Hello there. We designed a combo Bluetooth Classic keyboard/mouse using the CC2564MODN and it has been working well on Windows. Our keyboard/mouse is using SecureSimplePairing as a NoInput/NoOutput device with no Pin code needed.
But testing with Apple and Android mobile products has hit a problem. The keyboard/mouse pairs with the Phone/Tablet and works perfectly fine. We see an Open Indication success in the serial log. But if the Phone/Tablet loses connection, powers off, goes out of range, etc. the Phone/Tablet does not automatically reconnect to the HID device like our Windows computers do.
So, we added a timeout and are attempting to call HID_Connect_Remote_Device(). This call appears to succeed, but we get an Open Confirmation success. This indicates the Phone/Tablet is now the Host. And despite this succeeding, and the Phone/Tablet showing connection, and the Phone/Tablet reporting a connected HID device, the HID reports are not being delivered properly.
Can you think of anything we might be missing or could try to debug this further? I've included a log below illustrating the behavior:
HID Device>OpenStack().
Bluetooth Stack ID: 1.
Device Chipset Version: 4.1
Bluetooth Device Address: 0xA0E6F860A0AE
GAP_Set_Connectability_Mode(cmConnectable).
Loading Devices -
HID_Register_Device_SDP_Record: Function Successful.
HID Device>Local Device Name set to: iKeyBT-87.
GAP_Set_Discoverability_Mode(dmGeneralDiscoverable, 0).
GAP_Set_Pairability_Mode(pmPairableMode_EnableSecureSimplePairing).
atIOCapabilityResponse: 0x10F1F2EA52BC
Remote Capabilities: Display Yes/No, MITM
HID Device>
atIOCapabilityRequest: 0x10F1F2EA52BC
GAP_Authentication_Response() Success.
HID Device>
atUserConfirmationRequest: 0x10F1F2EA52BC
Auto Accepting: 426736
GAP_Authentication_Response() Success.
HID Device>
atSecureSimplePairingComplete.
HID Device>
atLinkKeyCreation: 0x10F1F2EA52BC
Link Key: 0x8E0672525F9EAB070344C381733425E9
Link Key Stored locally.
HID Device>
HID Open Indication, ID: 0x0001, Board: 0x10F1F2EA52BC
HID Device>
HID Set Idle Indication, ID: 0x0001, IdleRate: 0
At this point the keyboard/mouse is working fine on the phone/tablet..... so I turn bluetooth off and back on forcing a connection close.
HID Device>
HID Close Indication, ID: 0x0001
HID re-connection attempt.
Open Remote HID Device(BD_ADDR = 0x10F1F2EA52BC)
Open Remote HID Device Result was
atLinkKeyRequest: 0x10F1F2EA52BC
GAP_Authentication_Response() Success.
HID Device>
HID Open Confirmation, ID: 0x0002, Status: 0x0000
Notice the Confirmation, as our keyboard/mouse opens a connection to the Phone/Tablet. This appears to succeed, except no HID transactions are successfully getting through.
Thank you,
- Jason