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.

CC2564B A3DP issue

Hi:

I'm using cc2564B for a BT project , now the a2dp profile have beend added to my project, after that i test some phones and the music streamming routed to the CC2564B I2S output in the right way,but when connected with my iPhone and play a track, there is no pulse on the CC2564B I2S CLK pin at 

all.

can someone help me?

the following is the logcat .

Note:

'<<' means data sent from CC2564B

'>>'means data sent from my MCU.

  --------service pack sent--------

>>01 92 FD 05 01 01 01 00 00 //A3DP CMD:hci_vs_avpr_enable 
<<04 0E 04 01 92 FD 00 

--------l2cap Signal channel opend--------

<<02 01 20 06 00 02 00 41 00 [10] 01 //AVDTP CMD: avdtp_discover
>>02 01 00 08 00 04 00 05 02 [12] 01 04 08 


<<02 01 20 07 00 03 00 41 00 [20] 02 04 //AVDTP CMD: avdtp_get_capabilities
>>02 01 00 10 00 0C 00 05 02 [22] 02 01 00 07 06 00 00 22 15 02 35 


<<02 01 20 12 00 0E 00 41 00 [30] 03 04 08 01 00 07 06 00 00 22 15 02 35 //AVDTP CMD: avdtp_set_configuration
>>02 01 00 06 00 02 00 05 02 [32] 03 


<<02 01 20 07 00 03 00 41 00 [40] 06 04 //AVDTP CMD: avdtp_open
>>02 01 00 06 00 02 00 05 02 [42] 06 

--------l2cap media channel opend--------

>>01 9A FD 0B 01 43 00 00 00 00 00 00 00 00 00 //A3DP CMD:hci_vs_a3dp_sink_open_stream
<<04 0E 04 01 9A FD 00

>>01 06 FD 22 45 08 00 44 AC 00 00 00 00 00 01 00 10 00 01 00 00 10 00 01 00 00 00 10 00 19 00 00 10 00 19 00 00 00 //A3DP CMD:hci_vs_write_codec_config
<<04 0E 04 01 06 FD 00

>>01 9C FD 12 02 02 02 10 08 00 00 00 00 00 00 00 00 00 00 00 00 00 //A3DP CMD:hci_vs_a3dp_sink_codec_configuration
<<04 0E 04 01 9C FD 00

--------music start playing from iPhone--------

<<02 01 20 07 00 03 00 42 00 [C0] 07 04 //AVDTP CMD: avdtp_start

>>01 9D FD 04 00 00 00 00 //A3DP CMD:hci_vs_a3dp_sink_start_stream
<<04 0E 04 01 9D FD 00

>>02 01 00 06 00 02 00 06 07 [C2] 07

  • Hi,

    Can you share the complete snoop or sniffer log, please?
    I could parse the AVDTP Open command:

    <<02 01 20 07 00 03 00 41 00 [40] 06 04 //AVDTP CMD: avdtp_open
    In this, the L2CAP Channel appears to be: 0x41 (41 seems to be the AVDTP signalling channel, as the discover/get_cap/set_conf all happen to be on L2CAP Channel: 41.

    However, with the avdtp_start command, it seems to be on channel 0x42.
    <<02 01 20 07 00 03 00 42 00 [C0] 07 04 //AVDTP CMD: avdtp_start

    Regards,
    Gigi Joseph.
  • Hi Gigi:
    Sorry about the log above,please refer to the following one:

    //l2cap opened,PSM:0x19,local_cid:0x41,remote_cid:0x0205 (signal)

    <<02 01 20 06 00 02 00 41 00 [10] 01 //AVDTP CMD: avdtp_discover
    >>02 01 00 08 00 04 00 05 02 [12] 01 04 08
    <<02 01 20 07 00 03 00 41 00 [20] 02 04 //AVDTP CMD: avdtp_get_capabilities
    >>02 01 00 10 00 0C 00 05 02 [22] 02 01 00 07 06 00 00 22 15 02 35
    <<02 01 20 12 00 0E 00 41 00 [30] 03 04 08 01 00 07 06 00 00 22 15 02 35 //AVDTP CMD: avdtp_set_configuration
    >>02 01 00 06 00 02 00 05 02 [32] 03
    <<02 01 20 07 00 03 00 41 00 [40] 06 04 //AVDTP CMD: avdtp_open
    >>02 01 00 06 00 02 00 05 02 [42] 06

    <<02 01 20 0C 00 08 00 01 00 [02] 0A 04 00 19 00 06 03
    >>02 01 00 10 00 0C 00 01 00 [03] 0A 08 00 42 00 06 03 00 00 00 00
    >>02 01 00 10 00 0C 00 01 00 [04] 03 08 00 06 03 00 00 01 02 F9 03
    <<02 01 20 0C 00 08 00 01 00 [04] 0B 04 00 42 00 00 00
    >>02 01 00 0E 00 0A 00 01 00 [05] 0B 06 00 06 03 00 00 00 00
    <<02 01 20 12 00 0E 00 01 00 [05] 03 0A 00 42 00 00 00 00 00 01 02 F9 03


    //l2cap opened,PSM:0x19,local_cid:0x42,remote_cid:0x0306 (media)
    >>01 9A FD 0B 01 42 00 00 00 00 00 00 00 00 00 //hci_vs_a3dp_sink_open_stream
    <<04 0E 04 01 9A FD 00

    >>01 06 FD 22 45 08 00 44 AC 00 00 00 00 00 01 00 10 00 01 00 00 10 00 01 00 00 00 10 00 19 00 00 10 00 19 00 00 00 //hci_vs_write_codec_config
    <<04 0E 04 01 06 FD 00
    >>01 9C FD 12 02 02 02 10 08 00 00 00 00 00 00 00 00 00 00 00 00 00 //hci_vs_a3dp_sink_codec_configuration
    <<04 0E 04 01 9C FD 00

    >>02 01 00 07 00 03 00 05 02 [00] 02 08 //GetRemoteCapabilities
    <<02 01 20 10 00 0C 00 41 00 [02] 02 01 00 07 06 00 00 22 15 02 35 //AVDTP RSP: avdtp_get_capabilities


    <<02 01 20 07 00 03 00 41 00 [50] 07 04 //AVDTP CMD: avdtp_start

    >>01 9D FD 04 00 00 00 00 //hci_vs_a3dp_sink_start_stream
    <<04 0E 04 01 9D FD 00

    >>02 01 00 06 00 02 00 05 02 [52] 07
  • besides ,the parameter for setting a3dp codec like this:
    hci_vs_write_codec_config:
    2117, //Clock rate
    0x00, //Clock direction:output
    44100, //Frame-sync frequency:44.1k
    0, //Frame-sync duty cycle
    0x00, //Frame-sync edge :rising
    0x01, //Frame-sync polarity:active high
    0x00, //Reserved
    16, //Channel 1 data out size
    1, //Channel 1 data out offset
    0x00, //Channel 1 data out edge
    16, //Channel 1 data in size
    1, //Channel 1 data in offset
    0x00, //Channel 1 data in edge
    0, //Fsynch Multiplier
    16, //Channel 2 data out size
    (16+8+1), //Channel 2 data out offset
    0x00, //Channel 2 data out edge
    16, //Channel 2 data in size
    (16+8+1), //Channel 2 data in offset
    0x00, //Channel 2 data in edge
    0x00 //Reserved
    ===============================
    hci_vs_a3dp_sink_codec_configuration:
    =============================================================
    0x02, //PCM number of channels
    0x02, //SBC input sample frequency:44.1khz
    0x02, //SBC channel mode:STEREO
    0x10, //SBC number of blocks
    0x08, //SBC number of sub-bands
    0x00, //SBC allocation method:Loudness
    0x00, //Reserved
    0x00, //Reserved
    0x00 //Reserved
  • Hi,

    I don't see any obvious problem with the logcat logs... is it possible to share the sniffer logs as I earlier requested?
    Also, just to confirm: Are you also setting the device class (COD) of the A3DP Sink device?

    processors.wiki.ti.com/.../CC256x_TI_Bluetooth_Stack_AssistedA2DPSinkDemo_App

    Regards,
    Gigi Joseph.
  • Hi,
    the COD is right otherwise the iPhone can't list my device ( value is :0x200000 | 0x040000 | 0x000400)
    i can confirm that the av stream is routed to CC2564B because when media channel connected,if i don't send vs_a3dp_sink_open_stream command, the av stream data will sent out via l2cap channel by CC2564B, i can fetch these data but can not decode.
    so, the problem is why the CC2564B's I2S can not start when data recieved ?
    besides , how can i provide the sniffer log ? use the TX_DBG or what?
    thanks.
  • hi,
    the issue has been fixed. it's the matter of L2CAP MTU ,thanks.