首先搭建环境我们用板子连接电视设备达到控制,需要可以连接电视设备的蓝牙设备(例:蓝牙音箱)。
软件方面:需要MobaXterm用来控制电视设备进行调试
Ellisys Bluetooth Analyzer来抓取空包
首先在U盘里创建sitalog的文件夹和sitalog.txt的文件,
创建一个tclbtsitalog.txt的空文件(抓取蓝牙HCI日志使用),接下了的命令都在MobaXterm的su下进行:
1、首先查看sitalog下的目录:cd mnt/media_rw/3BAD-1C4E/sitalog
ls查看,如果有其他文件可以先清除U盘中的多余日志,可以直接电脑打开U盘清理也可以用代码清理,代码如下:
rm -r *
2、HCI的激活查看:btsnoop_enable.sh 1
3、picus的激活:picus -f &
在创建蓝牙日志文件后,把U盘插入TV,重启TV(reboot)后开始复现问题,打开Ellisys Bluetooth Analyzer软件并接上抓包工具,排查需要的连接设备进行空包抓取。
打开电视——设置——设配连接——音箱配对
在复现到问题后过1分钟,将U盘拔出(待桌面U盘图标消失),再次插入TV(待TV显示识别到
U盘)后停留10秒(TV端此时会自动拷贝日志到U盘)
得到的日志通过代码:cp -rf /data/misc/bluedroid/ mnt/media/_rw/3BAD-1C4E/sitalog复制到U盘里,然后sync同步一下就大功告成了。将U盘中根目录下的整个sitalog目录上传。
关闭蓝牙HCI日志方法(二选一即可)
1. 创建好带有三个抓log配置文件的U盘拔出后,重启TV
2. 将U盘中的新建的抓log配置文件删除后(U盘可继续插入TV),重启TV
———————————————————————————————————————————
vim代码( MobaXterm )抓取sitalog日志:
1、getprop |grep log ——查看日志抓取权限有没有打开
需要将权限改为V—— setprop persist.sys.logd.level V
logcat -G 30m ——增加日志缓冲区大小
2、ps -A |grep btautotest——查看进程PID(btauto是app的名称)
3、logcat --pid ???? ——抓取当前pid进程的log(????代表进程的pid值)
也可以通过软件名的进程动作抓取 ——logcat |grep -E "btautotest|AutoPair"(btautotest为app的名称,AutoPair为进程动作名称)
4、输出sitalog日志,在要抓取的对象里插入U盘,执行上述操作,最后sync同步就能将日志拷到U盘sitalog目录下。
若之前有日志输出过需先清除实时日志——logcat -c
最后,查看日志时可以通过进程PID来定位自己的问题所在。