自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 一个连接蓝牙耳机听歌过程中的耗电问题分析

最近在项目中遇到了一个连接蓝牙耳机听歌,手机功耗太大的问题,手机的电流大于参考标椎40ma左右。log分析, 出问题的时间点,avrcp一直在更新歌曲的进度,但是是负值,这个值表示的是下一个播放位置减去当前的播放位置,所以这个值不可能是负的。06-17 21:12:30.839735 21887 21997 D Avrcp_ext: sendPlayPosNotificationRsp: ...

2019-07-05 00:34:16 3963

原创 AVDTP之间的信令交互

当手机和蓝牙耳机连接成功之后,会发送一些基本的命令,本文将分析这些基本的命令1 AVDTP_DISCOVER这个命令是SRC发给SNK的,用于发现远端的流节点。2 AVDTP_GET_CAPABILITIES获取远端设备的支持的性能,如那种音频编码,采样频率,bitpool等。3 AVDTP_SET_CONFIGURATION用来设置播放音乐的一些参数,如采样频率...

2019-04-09 15:50:34 936

原创 AVRCP连接的信令交互

AVRCP的连接是建立在L2CAP通道上的,AVRCP分为CT和TG两个角色。当AVRCP连接成功之后,CT和TG之间会进行信令的交互。基本的命令如下;1GetCapabilities这个命令是CT发给TG的,用于获得TG支持哪些event,一般情况下,TG会回复支持下列EVENTEVENT_PLAYBACK_STATUS_CHANGED, EVENT_TRACK_CHANGED,...

2019-04-09 15:10:06 1866

原创 连接蓝牙耳机,概率性出现耳机无声问题的分析

手机和蓝牙耳机配对之后,概率性出现耳机无声问题。分析这个问题,需要抓取AP hci, OTA log从AP log看,耳机已经连接上,并且声音也从未播放变为播放A2DP已经连接上 652 Master 3 0x0001 (Signaling) AVDTP 11 Connection request 0x0049 4 ...

2019-04-09 11:21:00 1736

原创 搜索不到蓝牙鼠标问题的分析

  最近手机的开发中遇到一个问题,具体是很难搜索到一个蓝牙鼠标。  查看该问题的AP log,发现有如下提示:  01-15 10:59:42.837 15710 15753 W bt_btm  : btm_process_inq_results: BDA: 00:1f:20:ac:1b:4001-15 10:59:42.838 15710 15753 W bt_btm  : btm_p...

2019-01-26 22:03:17 5010

原创 蓝牙回连问题的分析

最近遇到一个问题,手机和蓝牙耳机配对之后。将手机和蓝牙耳机远离,直到手机和蓝牙耳机断开连接。然后将蓝牙耳机靠近手机,蓝牙耳机不会回连到手机,蓝牙核心协议中对于回连的定义如下:从协议的描述来看,remote设备发送连接命令过来后,host才会对controller发HCI_Accept_Connec-tion_Request命令。而从测试同事那边抓取的HCI log来看,没有搜索到...

2019-01-26 21:13:47 7274

原创 ActiveDeviceManager文件的分析-一个蓝牙耳机的问题

android9.0系统中增加了ActiveDeviceManager文件,该文件负责跟踪连接的A2DP / HFP / AVRCP / HearingAid设备,并选择哪个设备处于活动状态(对于每个配置文件)。在该文件中注册了以下这些广播:filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);filter.addAction(Blu...

2019-01-16 16:18:11 2112 2

原创 两个设备同时向测试机发送文件,在未超时的情况下,测试机没有收到第二个接受请求

最近遇到蓝牙接收文件的一个问题,先有一个手机给测试机发送文件,当快接收完的时候,第二个手机给测试机发送文件。但是测试机没有收到第二个接收请求抓取了这个过程中的log。接受第一个文件:07-04 15:24:34.528  6957  7052 D ObexServerSockets1: Accepted socket connection from: ServerSocket: T...

2018-11-29 10:37:22 340

原创 蓝牙A2DP流程

 1 蓝牙和AUDIO之间的接口   蓝牙和audio之间的通信是通过socket,管理socket中的文件是UIPC,UIPC管理两条socket.   A2DP_CTRL_PATH  /data/misc/bluedroid/.a2dp_ctrl      A2DP_DATA_PATH /data/misc/bluedroid/.a2dp_data   这两个socket的作用...

2018-11-08 15:45:10 3533

原创 蓝牙Log中的关键字

1  蓝牙搜索bt_btif : btif_dm_start_discovery : pairing_cb.state: 0x0bt_btif : bta_sys_event: Event 0x200bt_btif : bta_dm_search_sm_execute state:0, event:0x200bt_btif : bta_dm_search_start avoid_s...

2018-11-05 15:22:41 2888

原创 蓝牙HFP协议AT命令流程

蓝牙HFP协议主要是指HF和AG之间的信令交互,我们知道蓝牙耳机和手机配对之后,耳机会发三个最基本的AT命令,分别是AT+BRSF, AT+CIND=?, AT+CIND?协议栈接收AT命令的流程1 BTA层从rfcomn接收蓝牙耳机发送过来的AT命令,在bta_ag_rfc_data里面会运行一个无线循环,调用PORT_ReadData函数不断的读取AT命令,读取到AT指令后,调用b...

2018-10-31 20:23:14 4712

原创 一个蓝牙native crash问题的分析

android O平台的项目,最近遇到一个native crash的问题,当连接蓝牙耳机后,点击拨号盘,蓝牙报错。07-31 16:57:16.503 5678 5678 F DEBUG : Revision: '0'07-31 16:57:16.503 5678 5678 F DEBUG : ABI: 'arm64'07-31 16:57:16.503 5678 5...

2018-10-30 16:54:58 1015

原创 蓝牙HFP协议流程

蓝牙HFP协议需要的分析需要蓝牙的HCI log, 本文介绍蓝牙中关于HFP相关的协议1 当手机和支持HFP协议的蓝牙耳机配对成功之后,耳机会发送AT+BRSF命令给手机,提示耳机支持哪些功能,如下所示。在1423帧耳机发送AT+BRSF命令 2 手机会发送+BRSF命令给蓝牙耳机 3 然后蓝牙耳机会发送AT+CIND=?命令给手机,获取手机支持哪些功能 4...

2018-10-29 19:59:33 2802

原创 蓝牙打开-bluedroid中的流程(基于android O代码)

蓝牙打开从app层到协议栈的跨度太大,仅仅看代码很容易迷失方向,先从log看起。01-18 18:25:31.570 D/BluetoothAdapterService(21885): onCreate()  // adapterservice启动01-18 18:25:31.570 I/BluetoothVendorJni(21885): classInitNative: succeeds...

2018-10-29 15:48:38 2280

原创 蓝牙打开流程-从APP层的分析

1 蓝牙服务的启动  蓝牙服务作为系统服务,启动是从systemserver里面启动的,systemserver里面的main方法被调用,该方法运行run方法,代码如下所示:public static void main(String[] args) { new SystemServer().run(); }if (isEmulator) { ...

2018-10-25 15:30:12 1400

原创 蓝牙认证HFP的方法

先介绍HFP里面通用的一下方法。蓝牙认证中的HFP角色需要测试AG的选项,需要在配置文件中加上拨打的手机号码如下截图:以一个打电话的例子说明测试过程1 PTS会弹出上述提示,代表用户进入手机的设置-蓝牙。然后和PTS配对。在手机蓝牙界面搜索到PTS-HFP-XXXXX的设备进行配对2 然后打一个电话,主播电话号码一定要是先前设置的号码,如上述的15929***9...

2018-10-25 10:13:54 4346

原创 蓝牙耳机通话问题调试

经常会遇到蓝牙通话相关的问题,比如我们用蓝牙耳机拨打电话的时候,可能会遇到蓝牙耳机侧或远程电话侧的一个或两个方向没有声音的问题,或者音频质量不够好。为了清除发生的事情,可以按照下面的方法来判断这个问题是否是由BT部分引起的。数据流上行BT headset -> WCNSS(BT) -> AUDIO(AFE) -> AUDIO->MODEM->Remot...

2018-10-25 10:06:04 3163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除