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.

CC2564CMSP432BTBLESW: Can connect to most BT devices but cannot connect to 2 in particular

Part Number: CC2564CMSP432BTBLESW

Hi all,

I am using the CC2564CMSP432BTBLESW Bluetopia SW stack with the development system described here (ti.com/lit/ug/swru497/swru497.pdf) and I am able to connect and Source audio to several devices. However when I try too connect to two devices in particular, I am unable to. There is no indication as to why - just an "Unknown Error".

Device 1 (Sound Logic XT cylindrical speaker tower):

A3DP+SRC>GetRemoteName 2

GAP_Query_Remote_Device_Name success.

A3DP+SRC>
BD_ADDR: 0x115802980238.
Name: SL TOWER SPKR.

A3DP+SRC>OpenStream 2

AUD_Open_Remote_Stream success.

A3DP+SRC>

atLinkKeyRequest requested: 0x115802980238

A3DP+SRC>
atIOCapabilityRequest requested: 0x115802980238. Responding with IO Capabilities & MITM & OOB.

A3DP+SRC>
atIOCapabilityResponse: 0x115802980238
Capabilities: No Input/Output, no MITM, no Out Of Band (OOB) Data

A3DP+SRC>
atUserConfirmationRequest: 0x115802980238

Auto Accepting authentication: 588737

A3DP+SRC>atSecureSimplePairingComplete authentication event notification.

A3DP+SRC>
atLinkKeyCreation: 0x115802980238
Link Key (16 chars): f6a430fd286b156dc7bfab8f9ddc4
Link Key Stored.

A3DP+SRC>
atAuthenticationStatus: 0 (0 is success) for 0x115802980238

A3DP+SRC>
etEncryption_Change_Result for 0x115802980238, Status: 0x00, Mode: Enabled.

A3DP+SRC>
etAUD_Signalling_Channel_Open_Indication
BD_ADDR: 0x115802980238

A3DP+SRC>
etAUD_Stream_Open_Confirmation
Status: 3 (TIMEOUT is 1, REFUSED is 2, UNKNOWN_ERROR is 3)
BD_ADDR: 0x115802980238
Connection to 0x115802980238 failed.

Device 2 (Apple iMac with BT System Preference open ready to pair):

A3DP+SRC>GetRemoteName 3

GAP_Query_Remote_Device_Name success.

A3DP+SRC>
BD_ADDR: 0x38F9D3C1A043.
Name: My iMac.

A3DP+SRC>OpenSink 3

AUD_Open_Remote_Stream success.

A3DP+SRC>
atLinkKeyRequest requested: 0x38F9D3C1A043

A3DP+SRC>
atIOCapabilityRequest requested: 0x38F9D3C1A043. Responding with IO Capabilities & MITM & OOB.

A3DP+SRC>
atIOCapabilityResponse: 0x38F9D3C1A043
Capabilities: Display Yes/No, no MITM, no Out Of Band (OOB) Data

A3DP+SRC>
atUserConfirmationRequest: 0x38F9D3C1A043

Auto Accepting authentication: 862221

A3DP+SRC>atSecureSimplePairingComplete authentication event notification.

A3DP+SRC>
atLinkKeyCreation: 0x38F9D3C1A043
Link Key (16 chars): defe31a171c6366a01a413c6cf67d7c
Link Key Stored.

A3DP+SRC>
atAuthenticationStatus: 0 (0 is success) for 0x38F9D3C1A043

A3DP+SRC>
etEncryption_Change_Result for 0x38F9D3C1A043, Status: 0x00, Mode: Enabled.

A3DP+SRC>
etAUD_Signalling_Channel_Open_Indication
BD_ADDR: 0x38F9D3C1A043

A3DP+SRC>
etAUD_Stream_Open_Confirmation
Status: 3 (TIMEOUT is 1, REFUSED is 2, UNKNOWN_ERROR is 3)
BD_ADDR: 0x38F9D3C1A043
Connection to 0x38F9D3C1A043 failed.

Any idea why these two devices might be failing an audio stream connection?

Thanks

-Kevin

  • Kevin,

    Most phones and computers (like iMac) only support the A2DP source role for Bluetooth. So it is expected that you will not be able to connect another A2DP source (e.g. A3DPDemo_SRC) to the remote source only device. The remote side is most likely refusing the profile level connection.

    Regarding the Sound Logic speaker, we will need to examine host stack logs or the air sniffer logs to find out the cause of this interoperability issue. If you have access to a classic BT sniffer (e.g. frontline or ellisys), please provide an air capture of this issue. If not, you can capture the host side logs using some of the methods mentioned in the following app note.

    For the SDK and hardware EVM that you are using, I think the custom HCI sniffer method mentioned in section 4.2.1 of this app note would be the easiest. The UART baud rate in the CC2564CMSP432BTBLESW demos is 2000000 by default.

    Best regards,

    Vihang

  • Thanks for the air sniffer idea. I will take a look at this document and see if there is a way to have Bluetopia's stack more robustly report what is going wrong.

    As for connecting to the iMac from a source device: I assumed exactly what you said - that you can not connect a source device to the iMac. But then I tried my Bose headphones with built in Mic. Sure enough, I can connect to both the headphone for audio output AND to the microphone for audio input. I just tried it again and I am able to record audio on the iMac through Bluetooth on this headsets microphone. So perhaps once I figure out why the Sound Logic speaker does not work and fix that, the Mac Audio Sinking will work???

    Have you ever heard of the Ubertooth One? It is a completely affordable (not $13,000!) unit for only like $130 that apparently captures and displays BT communications. Do you know of a more affordable external BT sniffer that the Ellisys?

    Thanks!

    -Kevin

  • Hi Vihang,

    After looking at the document above (section 3.1), it seems like there is a logging function built within Bluetopia. Wouldn't that be an easy way to capture more information to see why the BT link is being discarded after it is established? If that is easier, how do you expose those DEVM_ functions? I searched the Audio Source sample and don't see anything labeled "*DEVM*".

    Alternatively, instead of using the method in section 4.1.2, isn't there something off-the-shelf that can be purchased for a reasonable price? I hate to have to debug the debug tools all for the purpose of trying to find why just one or two devices don't maintain a link with the SDK/EVM that I am using.

    Thoughts?

    Thanks,

    Kevin

  • Kevin,

    Kevyk said:
    As for connecting to the iMac from a source device: I assumed exactly what you said - that you can not connect a source device to the iMac. But then I tried my Bose headphones with built in Mic. Sure enough, I can connect to both the headphone for audio output AND to the microphone for audio input. I just tried it again and I am able to record audio on the iMac through Bluetooth on this headsets microphone. So perhaps once I figure out why the Sound Logic speaker does not work and fix that, the Mac Audio Sinking will work???

    Most likely the microphone functionality is using some profile other than A2DP. From the iMac side, it does not support A2DP Sink functionality for sure.

    Source- BT lising : https://launchstudio.bluetooth.com/ListingDetails/48348 (see the ICS details for the profile subsystem)

    Kevyk said:
    Have you ever heard of the Ubertooth One? It is a completely affordable (not $13,000!) unit for only like $130 that apparently captures and displays BT communications. Do you know of a more affordable external BT sniffer that the Ellisys?

    I have not worked with Ubertooth and I am not quite familiar with its ability to reliably capture the Bluetooth protocol and profile level traffic. So, I cannot comment much on this.

    Kevyk said:
    After looking at the document above (section 3.1), it seems like there is a logging function built within Bluetopia. Wouldn't that be an easy way to capture more information to see why the BT link is being discarded after it is established? If that is easier, how do you expose those DEVM_ functions? I searched the Audio Source sample and don't see anything labeled "*DEVM*".

    As mentioned in the app note, the DEVM_ functions for stack level debugs are part of the TI dual-mode Bluetooth stack for Linux. The stack for Linux includes an abstraction layer (daemon and client) on top of the regular Bluetopia stack. The debug capabilities are built into this layer.

    This debug method is not available for microcontroller based solutions like the CC2564CMSP432BTBLESW. 

    Kevyk said:
    Alternatively, instead of using the method in section 4.1.2, isn't there something off-the-shelf that can be purchased for a reasonable price? I hate to have to debug the debug tools all for the purpose of trying to find why just one or two devices don't maintain a link with the SDK/EVM that I am using.

    There are several off-the-shelf protocol analyzer devices (e.g. Frontline HSU) that sniff the HCI uart lines and, in principal, work the same way as the custom HCI sniffer described in the sectrion 4.1.2. Maybe that could be a cost-effective yet off-the-shelf sniffer that works for you. 

    Best regards,

    Vihang

  • Thanks for your clarifications Vihang. Most helpful.