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: Bluetooth Classic HID Cannot Reconnect on Mobile

Part Number: CC2564


We have problem to reconnect to all HID devices.

If the stack is resetted then the device comes up and all is working fine but if we disconnect the device and tries to reconnect the Open Indication is fired  but nothing more.

HID Device>HID Open Confirmation, HIDID: 0x0005, Status: 0x0003

There is a related forum entry from Jason Gossiaux  with the title "Bluetooth Classic HID Cannot Reconnect on Mobile" and he mentioned that he solved it but he doesnt show us what he has done.

Can anyone help in this point?

  • As suggested can you take FW and BT air logs?

    What is your host platform?

    Thanks

  • My Host plattform is stm32.

    I try to explain a little bit further:

    I save the LinkKey of the HID device with which I have connected and after the Host device  is resetted and up and running and the HID device is coming again I set the saved LinkKey in the Callback at "atLinkKeyRequest" and response with GAP_Authentication_Response. I don't know if that is correct but I thought that the device must now be running.

    It seems that something more must be done but I didn't find in any example more code or information.

    If I enable HCITR Debug the following are printed on the console. This is not a HID device it is a SPP Client:

    > 32
    < 33
    > 04 04 0A FF 16 66 31 DD 4C 0C 02 5A 01
    < 01 09 04 07 FF 16 66 31 DD 4C 01
    > 04
    > 0F 04 00 01 09 04
    > 04 03 0B 00 01 00
    > FF 16 66 31 DD 4C 01 00 04 20 07 FF 16 66 31 DD 4C 01
    > 04 1B 03 01 00 05 04 38 04 01 00 40 1F
    > 02 01 20 0A 00 06 00 01 00 0A 02 02 00 02 00
    < 01 1C 04 03 01 00 01
    > 04
    > 0F 04 00 01 1C 04
    < 02 01 20 10 00 0C 00 01 00 0B 02 08 00 02 00 00 00 80 00 00 00
    > 04 23 0D 00 01 00 01 01 0F 00 00 00 00 00 00 00
    > 04 13 05 01 01 00 01 00 02 01 20 0A 00 06 00 01 00 0A 03 02 00 03 00
    < 02 01 20 14 00 10 00 01 00 0B 03 0C 00 03 00 00 00 02 00 00 00 00 00 00 00
    > 04 13 05 01 01 00 01 00
    > 02 01 20 0C 00 08 00 01 00 02 04 04 00 01 00 41 00
    < 02 01 20 10 00 0C 00 01 00 03 04 08 00 86 00 41 00 00 00 00 00
    < 02 01 20 10 00 0C 00 01 00 04 07 08 00 41 00 00 00 01 02 F9 03
    < 01 37 0C 04 01 00 00 7D
    > 04 13 05 01 01 00 01 00 02 01 20 10 00 0C 00 01 00 04 05 08 00 86 00 00 00 01 02 A0 02 04 13 05 01 01 00 01 00 02 01 20 0E 00 0A 00 01 00 05 07 06 00 86 00 00 00 00 00
    > 04 0E 06 01 37 0C 0C 01 00
    < 02 01 20 12 00 0E 00 01 00 05 05 0A 00 41 00 00 00 00 00 01 02 A0 02
    > 30
    < 31
    > 32
    < 33
    > 04 13 05 01 01 00 01 00 02 01 20 26 00 22 00 86 00 06 00 00 00 1D 35 11 1C 00 00 11 01 00 00 10 00 80 00 00 80 5F 9B 34 FB 02 90 35 05 0A 00 00 FF FF 00
    < 02 01 20 50 00 4C 00 41 00 07 00 00 00 47 00 44 35 42 35 40 09 00 00 0A 00 01 00 00 09 00 01 35 03 19 11 01 09 00 04 35 0C 35 03 19 01 00 35 05 19 00 03 08 16 09 01 00 25 1A 53 65 72 69 61 6C 20 50 6F 72 74 20 53 65 72 76 65 72 20 50 6F 72 74 20 32 32 00
    > 30
    < 31
    > 32
    < 33
    > 04 13 05 01 01 00 01 00 02 01 20 0C 00 08 00 01 00 06 06 04 00 86 00 41 00
    < 02 01 20 0C 00 08 00 01 00 07 06 04 00 86 00 41 00
    > 04 13 05 01 01 00 01 00
    > 04 17 06 FF 16 66 31 DD 4C
    atLinkKeyRequest: 0x4CDD316616FF
    < 01 0B 04 16 FF 16 66 31 DD 4C C0 F0 3C AD 2B 94 9E 4C 4B 07 B0 B7 40 D9 BB 91
    > 04
    > 0E 0A 01 0B 04 00 FF 16 66 31 DD 4C
    GAP_Authentication_Response() Success.

    HID Device>> 30
    < 31
    > 32
    < 33
    > 04 05 04 00 01 00 13
    > 30
    < 31
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • I found the problem and it was that the LinkKey 0xA062F4889D4BCCD7CE73F06B51D56E55 must be reversed added to  ASSIGN_LINK_KEY. This is different from the Macro ASSIGN_BD_ADDR and it is a little bit irretating.