经常会遇到蓝牙通话相关的问题,比如我们用蓝牙耳机拨打电话的时候,可能会遇到蓝牙耳机侧或远程电话侧的一个或两个方向没有声音的问题,或者音频质量不够好。
为了清除发生的事情,可以按照下面的方法来判断这个问题是否是由BT部分引起的。
数据流
上行
BT headset -> WCNSS(BT) -> AUDIO(AFE) -> AUDIO->MODEM->Remote phone
下行
BT headset<- WCNSS(BT)<- AUDIO(AFE) <-AUDIO<-MODEM<-Remote phone
调试方法
我们需要获取QXDM日志来检查WCNSS或音频侧的语音PCM数据,以确定音频质量在这些点上是否是好的
对于上行数据,如果PCM的音频数据在WCNSS侧是好的,远程电话处的音频质量不好,那么这个就应该不是BT的问题.
相反的,如果PCM的音频数据在WCNSS测的音频质量不好,在远程电话处的音频质量也不好,那么这个就应该是BT的问题
对于下行数据,如果PCM的音频数据在“蓝牙耳机”测得音频质量不好,而远程电话处的音频质量也不好,那么这个问题就应该不是BT的问题
相反的情况,如果PCM的音频数据在“蓝牙耳机”侧的音频质量不好,而在WCNSS侧的音频质量是好的,那么这个问题就是BT的问题。
我们同事可能还需要获取BT耳机和DUT之间的OTA日志,一检查发送到蓝牙芯片或者从蓝牙芯片发送过来的语音PCM数据,已确认是由蓝牙耳机还是由我们的控制器或者是固件段引起的问题。
抓获兵提起音频数据的QXDM日志
这个需要专门抓取蓝牙的logmask,这个logmask会将PCM口0x1558和0x1