遇到Audio/Speech相关问题,如何抓取log
遇到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文件寄过来即可
1. 插入sdcard,用来保存PCM data
2. 进入工模->Audio->Audio Logger,点选需要抓取的pcm data
3. 复现问题,抓取data dump,再进入工模点掉刚才的选项
5. 将sdcard中生成的.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:
【[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的更多相关文章
- Android 抓取LOG的几种命令【转】
		通常调试时候需要抓取log信息,下面几种通过ADB命令来抓取log的方法: USB连接上手机,手机需要其他操作:然后运行ADB工具:输入不同的命令即可抓取对应的LOG信息. 抓取radio LOG信息 ... 
- 如何用adb抓取log?
		在Androidclient的測试过程中,有时候我们会遇到闪退等异常情况. 这时我们能够通过adb抓取log.从而给开发提供很多其它信息. 一.下载ADB.exe 在网上搜索"adb ... 
- 怎样用adb抓取log?
		在Android客户端的测试过程中,有时候我们会遇到闪退等异常情况.这时我们可以通过adb抓取log,从而给开发提供更多信息. 一.下载ADB.exe 在网上搜索“adb工具包”就可以找到很多 ... 
- minicom 抓取log
		使用minicom也有很长时间了,只用minicom抓过uart log,但是从来没有去保存过这个log,也不知道有这个功能.后来在超级终端中发现有这个功能(传送->捕获文字),想想minico ... 
- Shell脚本 | 抓取log文件
		在安卓应用的测试过程中,遇到 Crash 或者 ANR 后,想必大家都会通过 adb logcat 命令来抓取日志定位问题.如果直接使用 logcat 命令的话,默认抓取出的 log 文件包含安卓运行 ... 
- 正则表达式相关:C# 抓取网页类(获取网页中所有信息)
		类的代码: using System; using System.Data; using System.Configuration; using System.Net; using System.IO ... 
- [转]正则表达式相关:C# 抓取网页类(获取网页中所有信息)
		using System; using System.Data; using System.Configuration; using System.Net; using System.IO; usin ... 
- 用adb logcat抓取log
		实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志 状态信息的有:adb shell dmesg, ... 
- adb常用命令和抓取log的方法
		一 adb常用的几个命令1. 查看设备adb devices这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 C:\Documents and Settings\ ... 
随机推荐
- ECSHOP常用函数
			lib_time.php gmtime() #获得当前格林威治时间的时间戳 /$0 server_timezone() #获得服务器的时区 /$0 local_mktime($hour = NULL ... 
- activebar的用法
			效果图: 网站页面上弹出消息提示狂,用来提示重大事件. <script src="http://www.ijquery.cn/js/jquery-1.7.2.min.js"& ... 
- java基础之注解
			包含成员变量及方法的注解称之为元数据, 不包含任何成员的注解称之为标记. 用@interface定义注解, 使用类似于接口方法的方式来定义注解的属性,其中返回值成为属性的类型,方法名为属性的名称. p ... 
- iOS 打印日志的保存 (一)
			当我们真机调试app的时候,作为开发人员的我们可以很方便的通过Xcode的debug area查看相关的打印信息.而测试人员在对app进行测试的时候,一旦出现了crash,这时我们就需要把相关的打印信 ... 
- 关于ActionContext.getContext()的使用方法心得
			这个也是我在另外一位仁兄的博客中看到的,原博客的有点长,我把它精简了一下,算看起来比較方便吧. 为了避免与Servlet API耦合在一起,方便Action类做单元測试,Struts 2对HttpSe ... 
- Python学习-使用matplotlib画动态多图
			最近常常使用matplotlib进行数学函数图的绘制,可是怎样使用matplotlib绘制动态图,以及绘制动态多图.直到今天才学会. 1.參考文字 首先感谢几篇文字的作者.帮我学会了怎样绘制.大家也能 ... 
- 动画api说明
			1.Animation的API参考文档:http://blog.csdn.net/harvic880925/article/details/40117115 2.动画插值器的参考: http://bl ... 
- 梳理一下重装sql2008R2sp1步骤
			我的电脑是这样,最早的时候装的是2005,后来公司用到2008,我就手动卸载,但是好像卸载的不够彻底,在装2008的时候,选择升级方式安装. 虽然成功了,但是在运行select @@version 时 ... 
- JS - 按钮倒计时
			效果: html代码: <input type="button" id="btn" value="点击获取效验码" /> js代 ... 
- javascript每日一练(六)——事件一
			一.event对象 var oEvent = ev || event;//获取事件对象 oEvent.clientX oEvent.clientY//获取鼠标坐标 oEvent.cancelBubbl ... 
