I have been trying to connect phone on the i.MX8QM development board with Bluetooth module Cypress CYW4356. My phone is connected to the board and i am able access the caller app on the board. Using that i made a call to another device and calling is done. But no audio is getting in both devices, which i guess some issues in routing call from the board. The board is connected with a speaker system and we can able able play a music from phone via Bluetooth using an app (media player). I think Bluetooth audio routing has any issue. Could you suggest a method so that i can able to use Bluetooth for telephonic purpose. Thank you.
I think you need to check if HFP or HSP is enabled from imx8 document. I can't find any log for this issue, So I can't judge the reason . if you can enable bt snoop log, it will be better for the analysis.
There is a misunderstanding in defining the Audio issue. Actually if we connect our mobile device with i.MX8 Board using Bluetooth, it's not transferring any audio sources including media sources like music, Video. If we play music, it suddenly gets paused. Same for video also but if we call, the connection gets established. But still audio is not working. But from the i.MX8 Board if we play music that is in its memory using a media player then it comes out from the speaker connected. Thank you.
I think you can try a bluetooth earphone to test i.MX8 board, we always has a source or sink role in bluetooth connection , for the i.MX8 board I do not think they configure the bluetooth to a sink device like earphone .
You can have a try to test audio play first of all with a wireless earphone.
from the log I can see a continuous a2dp data which indicated the playing is on , I do not understand what is the meaning of "it suddenly gets paused" . if it means the playing is ongoing , but you can't here any audio music after a while.
Actually the log i provided includes audio play and telephony call data also. Suddenly gets paused means, the playing(music) gets stopped on the next fraction when i tap play button. Its not playing and audio is not coming. We cant able to play any music or video. If we play anything its not starting. In short if we tap play button, first it will show playing for a half second(0.5s) but no sound and goes to pause state. If we tap again on play same situation. Its like it tried to send but failed. Thank you.
I want to know what is the log from , is it from i.MX8 board ? I can see a continuous ACL data from the log. Do you have any other logs to know the issue .
Actually i am completely new in handling this board and i don't have prior knowledge in configuring these things. As per your suggession i took this log. The log i took from my i.MX8QuadMax board. Can you please tell what is ACL data. If you suggest any other log, i can provide that for your reference. And main thing we can neglect the a2dp profile because playing music and all is not out priority. My priority is to enable the calling and i need route audio to come in my speaker. But now calling is working through bluetooth but not audio. My connection arrangement is explained below.
My i.MX8QUADMAX Board is connected with Murata 1CX modulebased on cypress CYW4356. I am trying to connect my phone to the device using bluetooth. My phone connection is established and i am able to call and call gets connected. But that time i cant able to here my any audio in my speaker which is connected to the board. if we connect the phone to the bluetooth the audio received from the host should come from through the speaker.
Thanks and regards.
I found the audio_policy_configuration.xml from my i.MX8QMMEK board. From my understanding its required to add every device ports and routes of every audio devices in that .xml file in order to enable the audio devices.
But in my audio_policy_configuration.xml file the device ports, sink and source details are not added for telephone call audio sources. AUDIO_DEVICE_OUT_TELEPHONY_TX and AUDIO_DEVICE_IN_TELEPHONY_RX are missing.
I am attaching the file for your reference. So i want to know whether this is the reason why am not getting the audio while calling through Bluetooth. Thank you.
I found a similar issue from NXP forum, I think you need to post a thread in it also.
from the log I think the play is in normal status. but from the issue from NXP forum , maybe bluetooth service is needed necessarily for audio route change. You can have a check..
if system log can be provided , it should be better also.
Thanks for sharing the link and I was following the thread. I already posted a thread in NXP regarding same. But in the thread you provided has some changes from our problem. In our case Music streaming and play audio is working. Only audio while on calling using Bluetooth is not working.
This is the thread i posted in the NXP.
As i requested earlier, in my audio_policy_configuration.xml file the device ports, sink and source details are not added for telephone call audio sources. AUDIO_DEVICE_OUT_TELEPHONY_TX and AUDIO_DEVICE_IN_TELEPHONY_RX are missing. Is that the reason for not getting the audio. Thank you
For the audio policy I think we need to get the suggestions from nxp.
by the way would you please update a log with phone call only ?
the steps should be :
1. open imx , enter broadcast mode.
2. open phone, scan
3. do the pair.
4. build up a phone call, not from imx board.
i think in this time the imx bluetooth is acting like a earphone .
For a phone call, we have headset and hands-free profile supported in 4356 , it has no doubt.
Now your phone is acting as Audio Gateway (AG) -- This is the device that is the gateway of the audio, both for input and output , Typical devices acting as Audio Gateways are cellular Phones and personal computer.
You Imx8+4356 is acting as Headset(HS)-- This is the device acting as Audio Gateway's remote audio input and output mechanism.
Now the log is below:
03-02 19:26:50.590 1611 2115 I Telecom : CallAudioRouteStateMachine: turning speaker phone true: CSW.sDc->CAMSM.pM_1001->CARSM.pM_SWITCH_FOCUS@AG0
03-02 19:26:50.590 1611 2115 I Telecom : Logging.Events: Non-call EVENT: UNMUTE, null: CSW.sDc->CAMSM.pM_1001->CARSM.pM_SWITCH_FOCUS@AG0
03-02 19:26:50.590 1611 1611 I Telecom : WiredHeadsetManager: ACTION_HEADSET_PLUG event, plugged in: true, : WHC.oADA@AHE
03-02 19:26:50.591 1611 2115 I Telecom : Logging.Events: Non-call EVENT: AUDIO_ROUTE, Leaving state ActiveSpeakerRoute: CSW.sDc->CAMSM.pM_1001->CARSM.pM_SWITCH_FOCUS@AG0
03-02 19:26:50.592 1611 2115 I Telecom : Logging.Events: Non-call EVENT: AUDIO_ROUTE, Entering state QuiescentSpeakerRoute: CSW.sDc->CAMSM.pM_1001->CARSM.pM_SWITCH_FOCUS@AG0
03-02 19:26:50.592 1611 2115 I Telecom : BluetoothRouteManager: getBluetoothAudioConnectedDevice: no headset service available.: CSW.sDc->CAMSM.pM_1001->CARSM.pM_SWITCH_FOCUS@AG0
I think you need to check with imx if they can support HS profile as default ..
Hi @Zhengbao_Zhang ,
I discussed as you mentioned above with NXP forum. They are saying, the default of the Bluez Stack it is not act as telephone call. It is like in Hc05 modules, just for data.
Any idea about that Bluez stack and its support for HFP. I checked my Bluez stack version, its 5.3.7.
Thanks and Regards,
sorry, I only can get this from introduction of bluez website
Provided by the oFono project: