[DESCRIPTION]

遇到Audio/Speech相关问题时,经常需要抓取相关log信息,总结抓取方法如下

[SOLUTION]

1.    通话声音相关的问题:
Case 1: 通话中某一方或者双方都无声音,所需Log:VM Log ;Register info ; Mobile Log ;Modem Log
Case 2: 输出设备routing 错误:Mobile Log;Register info
2.    音乐播放声音相关问题:
Case 1: 某一设备没有声音输出,所需Log: Register info ; Mobile Log
Case 2: 声音卡顿问题, 所需Log:Mobile Log ;ftrace ;PCM data
Case 3:杂音,噪音问题,所需Log:Mobile Log;PCM data
3.    FM声音相关问题:
Common:需要请客户提供FM chip的型号,连接方式(Analog or I2S)
Case 1: 某一设备没有声音输出,所需Log: Register info ; Mobile Log

工模中没有开启mobile log选项,可使用logcat抓取mobile log:

Ex. 

# for the main log

adb wait-for-device logcat -v time > dt_XXX_main_20120727.txt 2>&1

# for the radio log

adb wait-for-device logcat -v time -b radio > dt_XXX_radio_20120727.txt 2>&1

VM Log 抓取方法:

1.    插入sdcard,用来存储所谓的vm log;

2.    进入Engineer Mode;

3.    Enter Engineer Mode\Audio\Speech Enhancement\common parameter的parameter 0设置为6;如果是debug DMNR的话,此处需要设定为13;特别要看AEC的话,要设定成7;

4.    Enter Engineer Mode\Audio\Debug Info\Parameter 0设置为 3;

5.    Enter Engineer Mode\Audio\Speech Logger\单击 Enable.

6.    退出Engineer Mode.

7.    拨打一个电话,或者接听一个电话,通话过程中复现贵司所说的问题。

8.    挂断电话,并将/sdcard/speechlog下的*.vm文档寄过来即可。

After MT6577 VM Log抓取办法:

1.    插入sdcard,用来存储所谓的vm log;

2.    进入Engineer Mode;

3.    Enter Engineer Mode\Audio\Speech Logger\单击 Enable,并选择Enable EPL.

4.    退出Engineer Mode.

5.    拨打一个电话,或者接听一个电话,通话过程中复现贵司所说的问题。

6.    挂断电话,并将/sdcard/VM_Log下的*.vm文档寄过来即可。


Register info抓取方法:

1.    复现问题

2.    从命令行中进入adb shell mode

3.    输入 cat proc/audio

4.    截取register info并保存到txt中

Tips:概率性问题,需要在正常和复现问题时各抓取一次

After MT6577 Register info抓取办法:

1.    打开mobile log中的kernal log

2.    进入工模->Audio->Audio Logger,点击dump audio debug info

3.    将kernal log发给我们即可

Tips:概率性问题,需要在正常和复现问题时各抓取一次

PCM data 抓取方法:

1.    插入sdcard,用来保存PCM data

2.    复现问题

3.    在命令行中输入adb shell setprop streamout.pcm.dump 1

4.    抓取结束后,在命令行输入adb shell setprop streamout.pcm.dump 0还原设定

5.    将sdcard中生成的.pcm文件寄过来即可
After MT6577 PCM Data Dump方法:

1.    插入sdcard,用来保存PCM data

2.    进入工模->Audio->Audio Logger,点选需要抓取的pcm data

3.    复现问题,抓取data dump,再进入工模点掉刚才的选项

5.    将sdcard中生成的.pcm文件寄过来即可
 
Tips:针对PCM Data,我们有很多点可以抓取,对应的Property是不一样的(MT6577以后的平台,只需要点选对应的选项即可)
如果是播放问题,我们需要stream out的pcm data,各点对应的Property如下:
af.track.pcm;af.mixer.pcm;streamout_ori.pcm.dump;streamout.pcm.dump;a2dp.streamout.pcm
 
如果是录音相关问题,我们需要dump stream in的pcm data,各点对应的property如下:
I2S.streamin.pcm;streamin.pcm.dump;af.record.dump.pcm

具体可参考AudioYusuStreamOut.cpp,AudioYusuStreamIn.cpp中对Property的定义.

ftrace:

1.    复现问题

2.    运行ftrace tool下的start_ftrace_short.bat开始

3.  运行ftrace tool下的stop_ftrace_short.bat停止

4.  将抓取到的.vcd文件提供给我们分析

After MT6577 Dump Ftrace方法:

连接ADB,turn OFF and then turn ON:

adb shell setprop dumpftrace_dbg  0

adb shell setprop dumpftrace_dbg  1

How to get Modem log:

针对Audio这个模块来讲,需要设定filter为:MOD_L1SP all classes on.

【[Catcher 3.1133.00]后的Cather来导出“catcher_filter.bin”,可以跳过第1,2两步】 

1:在Cather里的filter設置好后,將filter導出來,生成一個“filter.ini”,這個名字可以自己命名。 

Filter里設置好需要抓取log的filter,點“Export”按提示操作 

 

 


 

2:用Cather工具目錄里的工具log2sdFltrGen.exe將第3步生成的ini文件轉為名稱為“catcher_filter.bin”的文件,請注意必須按這個文件名! 

使用這個工具,“Browse DB”選擇database,“Browse INI”選擇第3步生成的ini文件, 

點“Generate BIN”,然后按提示將生成文件命名為“catcher_filter.bin” 

 

 


3:使用[Catcher 3.1133.00]后的Cather来导出“catcher_filter.bin” 

You can export filter setting to catcher_filter.bin from Catcher directly without using log2sdFltrGen.exe. In Filter dialog, press “Export” button and then select “Export to *.bin” to enable this feature. 

 


4:將“catcher_filter.bin”文件拷貝到T卡的mtklog\mdlog目录下 

 

 

5:进入工程模式->systemlog->modem log->选择存储到T卡,就會有*.dmp的log文件生成,這個文件很小,因為存的是log的簡化信息,需要用catcher和database來還原信息 

 

6:將”*.dmp”文件從T里拷貝出來,用catcher和database來還原信息 

Controls->Open dump file 

 


本例中設定的MOD_BMT log,還原如下: 

 

遇到Audio/Speech相关问题,如何抓取log的更多相关文章

  1. Android 抓取LOG的几种命令【转】

    通常调试时候需要抓取log信息,下面几种通过ADB命令来抓取log的方法: USB连接上手机,手机需要其他操作:然后运行ADB工具:输入不同的命令即可抓取对应的LOG信息. 抓取radio LOG信息 ...

  2. 如何用adb抓取log?

    在Androidclient的測试过程中,有时候我们会遇到闪退等异常情况. 这时我们能够通过adb抓取log.从而给开发提供很多其它信息. 一.下载ADB.exe     在网上搜索"adb ...

  3. 怎样用adb抓取log?

    在Android客户端的测试过程中,有时候我们会遇到闪退等异常情况.这时我们可以通过adb抓取log,从而给开发提供更多信息. 一.下载ADB.exe     在网上搜索“adb工具包”就可以找到很多 ...

  4. minicom 抓取log

    使用minicom也有很长时间了,只用minicom抓过uart log,但是从来没有去保存过这个log,也不知道有这个功能.后来在超级终端中发现有这个功能(传送->捕获文字),想想minico ...

  5. Shell脚本 | 抓取log文件

    在安卓应用的测试过程中,遇到 Crash 或者 ANR 后,想必大家都会通过 adb logcat 命令来抓取日志定位问题.如果直接使用 logcat 命令的话,默认抓取出的 log 文件包含安卓运行 ...

  6. 正则表达式相关:C# 抓取网页类(获取网页中所有信息)

    类的代码: using System; using System.Data; using System.Configuration; using System.Net; using System.IO ...

  7. [转]正则表达式相关:C# 抓取网页类(获取网页中所有信息)

    using System; using System.Data; using System.Configuration; using System.Net; using System.IO; usin ...

  8. 用adb logcat抓取log

    实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志     状态信息的有:adb shell dmesg, ...

  9. adb常用命令和抓取log的方法

    一 adb常用的几个命令1. 查看设备adb devices这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 C:\Documents and Settings\ ...

随机推荐

  1. PHPExcel用法

    <?php //下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include ...

  2. Linux下查看二进制文件命令

    一.在Linux下查看二进制文件的软件: xxd hexdump 二.编辑: 1.biew 2.hexedit 3.vim Vim 来编辑二进制文件.Vim 本非为此而设计的,因而有若干局限.但你能读 ...

  3. linux学习: sudo命令(ubuntu)

    使用 sudo 命令可以提高命令的执行权限,以root权限执行 如 :  sudo vi xxx 但是有些内置命令 如 cd 无法通过 sudo来执行 ,如  sudo cd xxx 这是会报错的. ...

  4. 利用httpclient和多线程刷訪问量代码

    缘起于玩唱吧,由于唱吧好友少,訪问量低,又不想加什么亲友团之类的,主要是太麻烦了,于是我就琢磨唱吧的訪问机制,准备用java的httpclient库来进行刷訪问量,想到动态IP反复使用就想到了用多线程 ...

  5. MVC整个样例的源代码

    以下就是整MVC样例的源代码: #windows应用程序 #开发者:蔡军生(QQ:9073204) 深圳 2014-9-24 #使用类来描写叙述 from ctypes import * from c ...

  6. HFS - 简单的将个人电脑变服务器!

    网络硬盘   HTTP File Server(HFS)是我目前所知道的最简便的P2P文件分享方式,只一个大小为559KB的单文件绿色软件(hfs.exe)就可以在瞬间不经过任何系统设置将一台普通的联 ...

  7. 五、Nginx多Server反向代理配置

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. server_name的匹配顺序 Nginx中的s ...

  8. Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart

    之前都是命令行创建,今天用eclipse装m2eclipse的时候装完后创建项目的时候报错: Could not resolve archetype org.apache.maven.archetyp ...

  9. CCIE路由实验(7) -- MPLS VPN

    1.LDP协议的各种情况2.LDP和BGP交互3.LDP高级部分4.MPLS VPN (RIP和静态)5.MPLS VPN (EIGRP)6.MPLS VPN (OSPF)7.MPLS VPN (EB ...

  10. 用CentOS,fedora等访问局域网中的Windows共享

    来到Linux世界中已有一段时间了,感觉上好像自己的电脑成了一个孤岛.周围的人都还是用Windows系统,能相互共享文件,我用Linux系统,别人的共享文件都还不知道怎么访问?通过网上查资料学习,现在 ...