Realtek蓝牙Android10.0移植结束后的基本测试和常见问题分析

简介: Realtek蓝牙Android10.0移植结束后的基本测试和常见问题分析

基本测试主要包括配置检查和BT测试两大部分
配置检查:
为了进一步确保 porting 没有问题,在测试之前先确认 fw 以及 config 文件是否存在。
adb shell 到测试平台的根目录,检查测试平台的 vendor/firmware/目录中 rtlxxxx_fw 以及 rtlxxxx_config文件是否存在(xxxx 为 BT Chip 型号)。检查 Release 包中的 rtkbt/下的文件是否都已经安装到对应的目录.
BT 测试:
本测试是 porting 结束后对 BT 基本和常用功能的一个快速测试,旨在快速验证一些基本问题,不代表BT完整的测试 , 测试结果也非正式test report 。 如果使用的是非Realtek BT chip ,该项测试可能没有意义。
基本功能测试如下:
1) 打开/关闭 BT 无失败现象。
2) 能够搜索到近处 BT 设备。
3) 和搜索到的蓝牙耳机或其他设备配对。
4) 连接上蓝牙耳机,使用 BT A2DP 听音乐(sdcard 确保存在)。
5) 连接上蓝牙耳机,使用 BT HFP/HSP 打电话(确保用蓝牙时能够正常通话)。
6) 传输文件到远端支持蓝牙 OPP Server 的设备,从远端支持蓝牙 OPP client 的设备传送文件到本地(sdcard 确保存在)。
7) 连接上蓝牙键盘,打开需要输入的应用,通过蓝牙键盘输入。

当发现蓝牙有问题的时候,需要同时提供对应蓝牙问题报告下面的 log,否则可能会因为 log信息不足无法定位问题.所以请务必学会抓取下列蓝牙 log 的方法.
蓝牙 Log 相关的配置文件:
蓝牙相关的配置文件存放在设备的/system/etc/bluetooth/bt_stack.conf .可以通过 adb 方式进行修改.默认的配置文件如下:

# Enable trace level reconfiguration function
# Must be present before any TRC_ trace level settings
TraceConf=true

# Trace level configuration
# BT_TRACE_LEVEL_NONE 0 ( No trace messages to be generated )
# BT_TRACE_LEVEL_ERROR 1 ( Error condition trace messages )
# BT_TRACE_LEVEL_WARNING 2 ( Warning condition trace messages )
# BT_TRACE_LEVEL_API 3 ( API traces )
# BT_TRACE_LEVEL_EVENT 4 ( Debug messages for events )
# BT_TRACE_LEVEL_DEBUG 5 ( Full debug messages )
# BT_TRACE_LEVEL_VERBOSE 6 ( Verbose messages ) - Currently supported for

TRC_BTAPP only.
TRC_BTM=2
TRC_HCI=2
TRC_L2CAP=2
TRC_RFCOMM=2
TRC_OBEX=2
TRC_AVCT=2
TRC_AVDT=2
TRC_AVRC=2
TRC_AVDT_SCB=2
TRC_AVDT_CCB=2
TRC_A2D=2
TRC_SDP=2
TRC_GATT=2
TRC_SMP=2
TRC_BTAPP=2
TRC_BTIF=2
TRC_GAP=2
TRC_BNEP=2
TRC_PAN=2
TRC_HID_HOST=2
TRC_HID_DEV=2

Logcat –v time
在抓取 log 的时候,必须添加”-v time”选项.否则没法将 log 和出现问题的时间点对应起来,给分析 log 会带来很大的麻烦.
测试前,可以打开 log 并将 log 导入到设备的某个分区,待测试完成后再通过 adb, sdcard 等方式导出 log.

BtSnoop
打开 btsnoop 录制 功能 设置 persist.bluetooth.btsnooplogmode 属 性为 full, 设 置保 存路 径persist.bluetooth.btsnooppath。然后开关一次蓝牙生效.
在蓝牙打开时,这个文件会自动被覆盖一次,所以重现到问题后,需要尽快采用 adb 或者 sdcard 将 btsoop文件导出.切勿重新开关蓝牙或者重启设备.

获取 Bluetooth 进程相关信息
输入 adb shell dumpsys bluetooth_manager > xxx.log, 获取 bt 进程相关信息

注意事项
报告蓝牙问题 至少 需要 提供 下列信息:
 logcat –v time
 btsnoop
 Bluetooth 进程信息
 出现问题的时间点( 以设备时间为准)
 重现步骤.

常见问题分析
BT 打开失败(UART)
打开 H5 UART Driver Log, 使用 logcat 抓取 log,看 H5 SYNC 过程时候成功,如果 H5 SYNC 失败,那么需要首先检查硬件电路是否正确(Power Supply, BT Reset PIN, UART TX/RX,CTS/RTS),然后检查卡片 efuse,用示波器量测 UART 波形,看 Host 是否把数据正确的发送到 Controller。
如果 H5 SYNC 成功,那么下一步就是 Change Baudrate,判断 Change Baudrate 是否成功。如果 Change Baudrate 失败,那么需要确定 Host 是否支持该波特率,config 文件是否正确设定了波特率。
如果 Change Baudrate 成功,下一步是下载 fw 以及 config 文件,如果下载完毕之后,收不到 Controller回复的 Command Complete Event,那么需要检查 fw 以及 config 文件是否正确,BT Reset PIN 是否为高电平。
如果下载 fw 以及 config 文件成功,那么下一步就是根据 config 文件的设定修改 HW Flowcontrol 的设置。设置成功之后,bluedroid stack 会下第一个 HCI Comamnd。
如果第一个 HCI Command 一直 H5 重传,那么说明可能 HW flowcontrol 有问题,需要检查 Host 的UART driver 是否支持 HW Flowcontrol。

BT 打开失败(USB)
用 logcat 抓取打开蓝牙打开的 log,搜索“dev/bus/usb”字样看是否有这样的 log:Added device UsbDevice[mName=/dev/bus/usb/002/002,mVendorId=3034,mProductId=46880,mClass=239,mSubclass=2. 如果有,检查下 mVendorId和mProductId是不是对应当前使用的蓝牙芯片。如果没有则是没有识别蓝牙卡片,需要首先检查硬件电路是否正确.
查看 USB 的驱动是否正常加载。登陆到平台里(adb shell),然后使用命令 lsmod 来查看是否有rtk_btusb.ko 的存在。

以上观点请勿随意复制、编辑转用

相关文章
|
3天前
|
Android开发 数据安全/隐私保护 iOS开发
安卓与iOS系统的发展趋势与比较分析
【2月更文挑战第6天】 在移动互联网时代,安卓和iOS系统作为两大主流移动操作系统,各自呈现出不同的发展趋势。本文将从技术角度出发,对安卓和iOS系统的发展方向、特点及未来趋势进行比较分析,以期为读者提供更深入的了解和思考。
13 4
|
2月前
|
人工智能 自然语言处理 安全
【AI 现况分析】AI 如何帮助开发者完成自动化测试
【1月更文挑战第27天】【AI 现况分析】AI 如何帮助开发者完成自动化测试
|
2月前
|
监控 Android开发 C语言
深度解读Android崩溃日志案例分析2:tombstone日志
深度解读Android崩溃日志案例分析2:tombstone日志
30 0
|
2月前
|
数据安全/隐私保护 Android开发
2023安卓逆向 -- 某合伙apk登录加密分析
2023安卓逆向 -- 某合伙apk登录加密分析
15 0
|
22天前
|
计算机视觉
Google Earth Engine(GEE)——使用MODIS数据单点测试SG滤波和harmonics method 滤波的差异分析
Google Earth Engine(GEE)——使用MODIS数据单点测试SG滤波和harmonics method 滤波的差异分析
14 0
|
2月前
|
监控 数据可视化 Java
jvm性能调优实战 - 31从测试到上线_如何分析JVM运行状况及合理优化
jvm性能调优实战 - 31从测试到上线_如何分析JVM运行状况及合理优化
38 1
|
2天前
|
监控 安全 Android开发
【新手必读】Airtest测试Android手机常见的设置问题
【新手必读】Airtest测试Android手机常见的设置问题
|
4天前
|
网络协议 算法 Android开发
安卓逆向 -- 实战某峰窝APP(动态分析)
安卓逆向 -- 实战某峰窝APP(动态分析)
10 4
|
5天前
|
安全 搜索推荐 Android开发
Android 与 iOS 的比较分析
【2月更文挑战第5天】 Android 和 iOS 是目前市场上两种最流行的移动操作系统,它们都拥有自己的特点和优势。本文将会分别从操作系统设计、应用生态、安全性等方面对这两种操作系统进行比较和分析,希望能够帮助读者更好地选择适合自己的移动设备。
|
23天前
岩土工程监测振弦采集仪广泛应用于岩土工程中的土体动力特性的测试和分析
岩土工程监测振弦采集仪广泛应用于岩土工程中的土体动力特性的测试和分析。以下是一些岩土工程监测振弦采集仪的应用案例:

相关产品

  • 物联网平台
  • 物联网络管理平台
  • IoT设备身份认证