Bluetooth IoT (Talon) Audio PCM with WP7702

Hello everybody,
I would like to send audio messages via bluetooth to a Jabra speaker.
I’ve successfully configured the bluetooth IoT card (from Talon Communications) and the pulse server so I after pairing the bt device I can see the Audio Sink/Source exposed:

root@swi-mdm9x28:/data# bluetoothctl
[NEW] Controller 80:30:DC:05:5D:A4 texatest [default]
[NEW] Device 50:1A:A5:9F:A1:16 Jabra SPEAK 510 USB
[Jabra SPEAK 510 USB]# show
Controller 80:30:DC:05:5D:A4
Name: texatest
Alias: texatest
Class: 0x0c041c
Powered: yes
Discoverable: no
Pairable: yes
UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)
UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1D6Bp0246d0529
Discovering: no

But when I try to send a simple audio wav I get this error:

root@swi-mdm9x28:/data# aplay /data/0-to-9.wav
aplay: Playing '/data/0-to-9.wav':Signed 16 bit Little Endian 1420.598416] q6asm_srvc_callback: cmd = 0x10d92 returned error = 0x16 sid:1

[ 1420.608769] q6asm_memory_map_regions DSP returned error for memory_map [ADSP_ERR_MAX]
[ 1420.616402] q6asm_audio_client_buf_alloc_contiguous: CMD Memory_map_regions failed -68 for size 128
[ 1420.625616] q6asm_memory_unmap: Do not send null mem handle to DSP
[ 1420.631610] Audio Start: Buffer Allocation failed rc = -22
[ 1420.636974] msm-pcm-dsp soc:qcom,msm-pcm: ASoC: soc:qcom,msm-pcm hw params failed: -12
[ 1420.645186]  MDM Media1: ASoC: hw_params FE failed -12
Aplay:cannot set hw params
[ 1420.652887] q6asm_callback: cmd = 0x10bcd returned error = 0x16
Aplay:params setting failed
[ 1420.658458] __q6asm_cmd: DSP returned error[ADSP_ERR_MAX] opcode 68557

If I undestand well the schematics the 4 PCM lines are connected to the IOT slot 0, where I plugged the IoT card, but seems that there is something wrong in my mangoh green+wp7702 because in dmesg I see lot of error regarding PCM routing:

[ 18.641336] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for MM_DL5 → MultiMedia5 → TERT_MI2S_RX Audio Mixer
[ 18.641363] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route MM_DL5 → MultiMedia5 → TERT_MI2S_RX Audio Mixer
[ 18.765739] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for MM_DL8 → MultiMedia8 → TERT_MI2S_RX Audio Mixer
[ 18.765766] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route MM_DL8 → MultiMedia8 → TERT_MI2S_RX Audio Mixer
[ 18.904630] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for INT_FM_TX → INTERNAL_FM_TX → SEC_MI2S_RX Port Mixer
[ 18.904658] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route INT_FM_TX → INTERNAL_FM_TX → SEC_MI2S_RX Port Mixer
[ 19.021029] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for MM_UL28
[ 19.028444] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route MultiMedia28 Mixer → direct → MM_UL28
[ 19.066664] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for MM_UL29
[ 19.106123] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route MultiMedia29 Mixer → direct → MM_UL29
[ 19.175651] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for VOICEMMODE1_DL → VoiceMMode1 → SEC_MI2S_RX_Voice Mixer
[ 19.175679] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route VOICEMMODE1_DL → VoiceMMode1 → SEC_MI2S_RX_Voice Mixer
[ 19.220705] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for VOICEMMODE2_DL → VoiceMMode2 → SEC_MI2S_RX_Voice Mixer
[ 19.220734] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route VOICEMMODE2_DL → VoiceMMode2 → SEC_MI2S_RX_Voice Mixer
[ 19.430943] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL28 MUX
[ 19.439574] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route PRI_MI2S_TX → PRI_MI2S_TX → AUDIO_REF_EC_UL28 MUX
[ 19.768447] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL28 MUX
[ 19.920222] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route SEC_MI2S_TX → SEC_MI2S_TX → AUDIO_REF_EC_UL28 MUX
[ 20.034553] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL28 MUX
[ 20.097068] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX → TERT_MI2S_TX → AUDIO_REF_EC_UL28 MUX
[ 20.198391] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL28 MUX
[ 20.243703] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route QUAT_MI2S_TX → QUAT_MI2S_TX → AUDIO_REF_EC_UL28 MUX
[ 20.313217] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL29 MUX
[ 20.458495] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route PRI_MI2S_TX → PRI_MI2S_TX → AUDIO_REF_EC_UL29 MUX
[ 20.516260] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL29 MUX
[ 20.557357] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route SEC_MI2S_TX → SEC_MI2S_TX → AUDIO_REF_EC_UL29 MUX
[ 20.569234] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL29 MUX
[ 20.585904] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route TERT_MI2S_TX → TERT_MI2S_TX → AUDIO_REF_EC_UL29 MUX
[ 20.628248] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for AUDIO_REF_EC_UL29 MUX
[ 20.646303] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route QUAT_MI2S_TX → QUAT_MI2S_TX → AUDIO_REF_EC_UL29 MUX
[ 20.684728] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no source widget found for AUDIO_REF_EC_UL3 MUX
[ 20.723576] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route AUDIO_REF_EC_UL3 MUX → direct → MM_UL3
[ 20.773619] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no source widget found for AUDIO_REF_EC_UL28 MUX
[ 20.810922] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route AUDIO_REF_EC_UL28 MUX → direct → MM_UL28
[ 20.829989] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no source widget found for AUDIO_REF_EC_UL29 MUX
[ 20.845135] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route AUDIO_REF_EC_UL29 MUX → direct → MM_UL29
[ 20.896909] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for SEC_MI2S_TX → SEC_MI2S_TX → SLIMBUS_0_RX Port Mixer
[ 20.896939] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route SEC_MI2S_TX → SEC_MI2S_TX → SLIMBUS_0_RX Port Mixer
[ 20.936409] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no dapm match for VOICE2_STUB_DL → Voice2 Stub → INTERNAL_BT_SCO_RX_Voice Mixer
[ 20.936436] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route VOICE2_STUB_DL → Voice2 Stub → INTERNAL_BT_SCO_RX_Voice Mixer
[ 20.984944] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: no sink widget found for SENARY_MI2S_TX
[ 21.010239] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to add route BE_IN → direct → SENARY_MI2S_TX
[ 21.648829] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: Failed to create SEC_MI2S_RX Port Mixer debugfs file
[ 21.729721] msm-pcm-routing soc:qcom,msm-pcm-routing: ASoC: mux SLIM_0_RX AANC MUX has no paths

Seem that I missed some hardware settings or modem command? Any help?

thanks!

Hi

You will may have to play with the audio mixer “amix” and maybe select manually the correct sound card for the playback by using “aplay -D hw:x,y” (with x=“Card number” and y=“Device number”).

Do you see a new sound card after enabling Bluetooth stuff?

You can check with these commands:
ls -al /sys/class/sound/card*
cat /proc/asound/pcm

Jay