资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > C/C++/C#

BT调试过程分享(ap6256)

C/C++/C# 更新时间: 发布时间: 计算机考试归档 最新发布

BT调试过程分享(ap6256)

板子:rk3568
模块:ap6256
平台:android11

1.报错:
07-20 03:27:57.288   282   301 I bt_vnd_conf: Attempt to load conf from /vendor/etc/bluetooth/bt_vendor.conf
07-20 03:27:57.288   282   301 D android.hardware.bluetooth@1.0-impl: Open vendor library loaded
07-20 03:27:57.289   282   301 W bt_vendor: NOTE: BT_VND_PWR_ON now forces power-off first
07-20 03:27:57.296     0     0 I [BT_RFKILL]: bt shut off power
07-20 03:27:57.296     0     0 I [BT_RFKILL]: rfkill_rk_set_power: set bt wake_host high!
07-20 03:27:57.348     0     0 I [BT_RFKILL]: ENABLE UART_RTS
07-20 03:27:57.448   282   301 I bt_userial_vendor: userial vendor open: opening /dev/ttyS8
07-20 03:27:57.448   282   301 I bt_userial_vendor: device fd = 7 open
07-20 03:27:57.454     0     0 I [BT_RFKILL]: DISABLE UART_RTS
07-20 03:27:57.454     0     0 I [BT_RFKILL]: bt turn on power
07-20 03:27:57.454     0     0 I [BT_RFKILL]: Request irq for bt wakeup host
07-20 03:27:57.454     0     0 I [BT_RFKILL]: ** disable irq
07-20 03:28:00.183  2174  2203 E bt_hci  : startup_timer_expired
07-20 03:28:00.183  2174  2203 I bt_hci_timeout: 15658734
07-20 03:28:00.183   282   301 I android.hardware.bluetooth@1.0-impl: BluetoothHci::close()
07-20 03:28:00.184   282   301 I bt_userial_vendor: device fd = 7 close
07-20 03:28:00.199   282   301 I android.hardware.bluetooth@1.0-impl: Firmware configured in 2.750s
07-20 03:28:00.199  2174  2203 F libc    : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 2203 (alarm_default_c), pid 2174 (droid.bluetooth)	//这里看网上说的是调用库出了问题,下面也打印出来的库的问题
07-20 03:28:00.205     0     0 I [BT_RFKILL]: bt shut off power
07-20 03:28:00.272  2222  2222 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
07-20 03:28:00.292  2222  2222 F DEBUG   : pid: 2174, tid: 2203, name: alarm_default_c  >>> com.android.bluetooth <<<
07-20 03:28:00.359  2222  2222 F DEBUG   :       #01 pc 00000000002ca328  /system/lib64/libbluetooth.so (startup_timer_expired(void*) (.cfi)+188) (BuildId: 306e172ba933ab28fd3d5cc230269a38)
07-20 03:28:00.359  2222  2222 F DEBUG   :       #02 pc 00000000003a9e50  /system/lib64/libbluetooth.so (alarm_ready_generic(alarm_t*, std::__1::unique_lock&)+388) (BuildId: 306e172ba933ab28fd3d5cc230269a38)
07-20 03:28:00.359  2222  2222 F DEBUG   :       #03 pc 00000000003a9340  /system/lib64/libbluetooth.so (alarm_queue_ready(fixed_queue_t*, void*) (.cfi)+124) (BuildId: 306e172ba933ab28fd3d5cc230269a38)
07-20 03:28:00.360  2222  2222 F DEBUG   :       #04 pc 00000000003af5a0  /system/lib64/libbluetooth.so (internal_dequeue_ready(void*) (.cfi)+108) (BuildId: 306e172ba933ab28fd3d5cc230269a38)
07-20 03:28:00.360  2222  2222 F DEBUG   :       #05 pc 00000000003b0d1c  /system/lib64/libbluetooth.so (run_reactor(reactor_t*, int)+412) (BuildId: 306e172ba933ab28fd3d5cc230269a38)
07-20 03:28:00.360  2222  2222 F DEBUG   :       #06 pc 00000000003b0b50  /system/lib64/libbluetooth.so (reactor_start(reactor_t*)+88) (BuildId: 306e172ba933ab28fd3d5cc230269a38)
07-20 03:28:00.360  2222  2222 F DEBUG   :       #07 pc 00000000003b2758  /system/lib64/libbluetooth.so (run_thread(void*) (.cfi)+188) (BuildId: 306e172ba933ab28fd3d5cc230269a38)

上面是我添加蓝牙报的错误

(1)

07-20 03:28:00.199  2174  2203 F libc    : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 2203 (alarm_default_c), pid 2174 (droid.bluetooth)	

这里看网上说的是调用库出了问题,下面也打印出来的库的问题

(2)

 I am_crash: [437,0,com.android.bluetooth,818462277,Native crash,Aborted,unknown,0]

crash报错的位置

(3)

07-20 03:27:57.448   282   301 I bt_userial_vendor: userial vendor open: opening /dev/ttyS8

表示用的是UART8这里实际上我用的串口1

(4)

07-20 03:28:00.183  2174  2203 E bt_hci  : startup_timer_expired
07-20 03:28:00.183  2174  2203 I bt_hci_timeout: 15658734

这里发现startup超时了,说明驱动部分没成功,那加载库也是不成功的那么,所以下面我们可以从驱动方面去查找原因,看看IO口是否正确,供电是否正常

2.修改: 2.1指定用的哪一个串口

我的板子上AP6256用的是串口1,修改如下:

diff --git a/sbc_rk3568/bt_vendor.conf b/sbc_rk3568/bt_vendor.conf
index d98c62e..e09f556 100644
--- a/sbc_rk3568/bt_vendor.conf
+++ b/sbc_rk3568/bt_vendor.conf
@@ -1,5 +1,5 @@
 # UART device port where Bluetooth controller is attached
-UartPort = /dev/ttyS8
+UartPort = /dev/ttyS1
 
 # Firmware patch file location
 FwPatchFilePath = /vendor/etc/firmware/

这样修改过后发现还是不行,再去查看了一下IO_list和设备树,发现IO口跟GMAC0的复用了,导致io不受控制,更改过后恢复正常

下面是瑞星微官方给的一些调试手法:
驱动部分:

BT 电 源 控 制 驱 动 位 于 : net/rfkill/rfkill-bt.c , 代 码 会 生 成 节 点/sys/class/rfkill/rfkill0/state。
执行 echo 1 > sys/class/rfkill/rfkill0/state 可以手动给蓝牙模块上电;
echo 0 > /sys/class/rfkill/rfkill0/state 可以手动给蓝牙模块下电。
系统在打开蓝牙时候,会自动执行上电过程

Android 注意事项

  1. Libbt
    Libbt 负责蓝牙芯片的初始化,如加载蓝牙 firmware 等操作,不同蓝牙芯片使用不同的 libbt,libbt 一般都由芯片厂家提供。目前主要使用的是 broadcom 和 realtek,源码分别位于 hardware/broadcom/libbt 和 hardware/realtek/rtkbt/code/libbt-vendor。Libbt 一般都不需要做什么修改,只需要配置一下蓝牙模组使用的端口以及蓝牙 firmware 的路径即可,broadco
    m 和 realtek 模组的配置并不相同,分别位于 hardware/broadcom/libbt/conf/rockchip/rksdk/bt_vendor.conf 和 hardware/realtek/rtkbt/code/vendor/etc/bluetooth/rtkbt.conf。
  2. bluedroid
    Bluedroid 源码在 system/bt 下面,从 android9.0 开始,bluedroid 编译出来的库是libbluetooth.so 。 bluedroid 有 些 可 以 配 置 的 宏 可 以 放 在device/rockchip/rk3368/bluetooth/bdroid_buildcfg.h 下面来配置。可以通过修改机器中/system/etc/bt_stack.conf 来修改 bluedroid 中各部分的 log 输出级别。可以通过设置"persist.bluetooth.btsnoopenable"来控制是否输出 snoop log;设置"persist.bluetooth.btsnooppath"修改 snoop log 的保存路径,系统默认为"/data/misc/bluetooth/logs/btsnoop_hci.log";可以修改"persist.bluetooth.btsnoopsize"来设置 snoop log 文件的大小。
  3. pcba bt 测试
    Pcba 的 bt 测试代码默认蓝牙模组使用的端口是/dev/ttyS0,如果有需要修改端口号,可以
    通过修改/system/etc/bt_stack.conf 来配置

2.1 BT 无法打开

  1. 硬件问题
    (1) 测量 bt 上电时序是否正确;
    (2) 测量 32k 时钟是否正常供给;
    (3) 测量串口数据通信是否正常;
  2. 软件问题
    (1) 确认蓝牙模组跟主控 cpu 通信端口是否配置正确;
    (2) 确认内核 dts 配置是否符合硬件设计;
    (3) 确认蓝牙模组使用的 firmware 是否跟模组匹配;

这里附上一个别人的调试手法:
(http://doc.qlqcetc.cn/docs/x2000/x2000-bt)2000/x2000-bt

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/1022420.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【BT调试过程分享(ap6256)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2