<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Neoway0401的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Neoway0401</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Neoway0401]]></copyright><item><title><![CDATA[一个连接蓝牙耳机听歌过程中的耗电问题分析]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/94672889</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/94672889</guid><author>Neoway0401</author><pubDate>Fri, 05 Jul 2019 00:34:16 +0800</pubDate><description><![CDATA[最近在项目中遇到了一个连接蓝牙耳机听歌，手机功耗太大的问题，手机的电流大于参考标椎40ma左右。

log分析， 出问题的时间点，avrcp一直在更新歌曲的进度，但是是负值，这个值表示的是下一个播放位置减去当前的播放位置，所以这个值不可能是负的。

06-17 21:12:30.839735 21887 21997 D Avrcp_ext: sendPlayPosNotificationRsp: ...]]></description><category></category></item><item><title><![CDATA[AVDTP之间的信令交互]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/89151249</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/89151249</guid><author>Neoway0401</author><pubDate>Tue, 09 Apr 2019 15:50:34 +0800</pubDate><description><![CDATA[当手机和蓝牙耳机连接成功之后，会发送一些基本的命令，本文将分析这些基本的命令

1 AVDTP_DISCOVER

这个命令是SRC发给SNK的，用于发现远端的流节点。

2 AVDTP_GET_CAPABILITIES

获取远端设备的支持的性能，如那种音频编码，采样频率，bitpool等。

3 AVDTP_SET_CONFIGURATION

用来设置播放音乐的一些参数，如采样频率...]]></description><category></category></item><item><title><![CDATA[AVRCP连接的信令交互]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/89148061</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/89148061</guid><author>Neoway0401</author><pubDate>Tue, 09 Apr 2019 15:10:06 +0800</pubDate><description><![CDATA[AVRCP的连接是建立在L2CAP通道上的，AVRCP分为CT和TG两个角色。当AVRCP连接成功之后，CT和TG之间会进行信令的交互。基本的命令如下；

1GetCapabilities

这个命令是CT发给TG的，用于获得TG支持哪些event，一般情况下，TG会回复支持下列EVENT

EVENT_PLAYBACK_STATUS_CHANGED, EVENT_TRACK_CHANGED,...]]></description><category></category></item><item><title><![CDATA[连接蓝牙耳机，概率性出现耳机无声问题的分析]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/89139080</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/89139080</guid><author>Neoway0401</author><pubDate>Tue, 09 Apr 2019 11:21:00 +0800</pubDate><description><![CDATA[手机和蓝牙耳机配对之后，概率性出现耳机无声问题。分析这个问题，需要抓取AP hci, OTA log

从AP log看，耳机已经连接上，并且声音也从未播放变为播放

A2DP已经连接上 

652 Master 3 0x0001 (Signaling) AVDTP 11 Connection request 0x0049  4 ...]]></description><category></category></item><item><title><![CDATA[搜索不到蓝牙鼠标问题的分析]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/86661291</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/86661291</guid><author>Neoway0401</author><pubDate>Sat, 26 Jan 2019 22:03:17 +0800</pubDate><description><![CDATA[  最近手机的开发中遇到一个问题，具体是很难搜索到一个蓝牙鼠标。

  查看该问题的AP log,发现有如下提示：

  01-15 10:59:42.837 15710 15753 W bt_btm  : btm_process_inq_results: BDA: 00:1f:20:ac:1b:40
01-15 10:59:42.838 15710 15753 W bt_btm  : btm_p...]]></description><category></category></item><item><title><![CDATA[蓝牙回连问题的分析]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/86661031</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/86661031</guid><author>Neoway0401</author><pubDate>Sat, 26 Jan 2019 21:13:47 +0800</pubDate><description><![CDATA[最近遇到一个问题，手机和蓝牙耳机配对之后。将手机和蓝牙耳机远离，直到手机和蓝牙耳机断开连接。然后将蓝牙耳机

靠近手机，蓝牙耳机不会回连到手机，蓝牙核心协议中对于回连的定义如下：



从协议的描述来看，remote设备发送连接命令过来后，host才会对controller发HCI_Accept_Connec-
tion_Request命令。

而从测试同事那边抓取的HCI log来看，没有搜索到...]]></description><category></category></item><item><title><![CDATA[ActiveDeviceManager文件的分析-一个蓝牙耳机的问题]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/86509455</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/86509455</guid><author>Neoway0401</author><pubDate>Wed, 16 Jan 2019 16:18:11 +0800</pubDate><description><![CDATA[android9.0系统中增加了ActiveDeviceManager文件，该文件负责跟踪连接的A2DP / HFP / AVRCP / HearingAid设备，并选择哪个设备处于活动状态（对于每个配置文件）。
在该文件中注册了以下这些广播：
filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
filter.addAction(Blu...]]></description><category></category></item><item><title><![CDATA[两个设备同时向测试机发送文件，在未超时的情况下，测试机没有收到第二个接受请求]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/84617819</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/84617819</guid><author>Neoway0401</author><pubDate>Thu, 29 Nov 2018 10:37:22 +0800</pubDate><description><![CDATA[最近遇到蓝牙接收文件的一个问题，先有一个手机给测试机发送文件，当快接收完的时候，第二个手机给测试机发送文件。

但是测试机没有收到第二个接收请求

抓取了这个过程中的log。

接受第一个文件：

07-04 15:24:34.528  6957  7052 D ObexServerSockets1: Accepted socket connection from: ServerSocket: T...]]></description><category></category></item><item><title><![CDATA[蓝牙A2DP流程]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/83860459</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/83860459</guid><author>Neoway0401</author><pubDate>Thu, 08 Nov 2018 15:45:10 +0800</pubDate><description><![CDATA[ 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的作用...]]></description><category></category></item><item><title><![CDATA[蓝牙Log中的关键字]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/83750262</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/83750262</guid><author>Neoway0401</author><pubDate>Mon, 05 Nov 2018 15:22:41 +0800</pubDate><description><![CDATA[1  蓝牙搜索

bt_btif : btif_dm_start_discovery : pairing_cb.state: 0x0

bt_btif : bta_sys_event: Event 0x200

bt_btif : bta_dm_search_sm_execute state:0, event:0x200

bt_btif : bta_dm_search_start avoid_s...]]></description><category></category></item><item><title><![CDATA[蓝牙HFP协议AT命令流程]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/83589244</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/83589244</guid><author>Neoway0401</author><pubDate>Wed, 31 Oct 2018 20:23:14 +0800</pubDate><description><![CDATA[蓝牙HFP协议主要是指HF和AG之间的信令交互，我们知道蓝牙耳机和手机配对之后，耳机会发三个最基本的AT命令，分别是

AT+BRSF, AT+CIND=?, AT+CIND?

协议栈接收AT命令的流程

1 BTA层从rfcomn接收蓝牙耳机发送过来的AT命令，在bta_ag_rfc_data里面会运行一个无线循环，调用PORT_ReadData函数不断的读取AT命令，读取到AT指令后，调用b...]]></description><category></category></item><item><title><![CDATA[一个蓝牙native crash问题的分析]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/83544310</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/83544310</guid><author>Neoway0401</author><pubDate>Tue, 30 Oct 2018 16:54:58 +0800</pubDate><description><![CDATA[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...]]></description><category></category></item><item><title><![CDATA[蓝牙HFP协议流程]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/83511811</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/83511811</guid><author>Neoway0401</author><pubDate>Mon, 29 Oct 2018 19:59:33 +0800</pubDate><description><![CDATA[蓝牙HFP协议需要的分析需要蓝牙的HCI log, 本文介绍蓝牙中关于HFP相关的协议

1 当手机和支持HFP协议的蓝牙耳机配对成功之后，耳机会发送AT+BRSF命令给手机，提示耳机支持哪些功能，如下所示。在1423帧耳机发送AT+BRSF命令

 



2 手机会发送+BRSF命令给蓝牙耳机



 

3 然后蓝牙耳机会发送AT+CIND=?命令给手机，获取手机支持哪些功能

 



4...]]></description><category></category></item><item><title><![CDATA[蓝牙打开-bluedroid中的流程（基于android O代码）]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/83505993</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/83505993</guid><author>Neoway0401</author><pubDate>Mon, 29 Oct 2018 15:48:38 +0800</pubDate><description><![CDATA[蓝牙打开从app层到协议栈的跨度太大，仅仅看代码很容易迷失方向，先从log看起。

01-18 18:25:31.570 D/BluetoothAdapterService(21885): onCreate()  // adapterservice启动
01-18 18:25:31.570 I/BluetoothVendorJni(21885): classInitNative: succeeds...]]></description><category></category></item><item><title><![CDATA[蓝牙打开流程-从APP层的分析]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/83378474</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/83378474</guid><author>Neoway0401</author><pubDate>Thu, 25 Oct 2018 15:30:12 +0800</pubDate><description><![CDATA[1 蓝牙服务的启动

  蓝牙服务作为系统服务，启动是从systemserver里面启动的，systemserver里面的main方法被调用，该方法运行run方法，代码如下所示：


public static void main(String[] args) {
        new SystemServer().run();
    }


if (isEmulator) {
       ...]]></description><category></category></item><item><title><![CDATA[蓝牙认证HFP的方法]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/83375395</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/83375395</guid><author>Neoway0401</author><pubDate>Thu, 25 Oct 2018 10:13:54 +0800</pubDate><description><![CDATA[先介绍HFP里面通用的一下方法。

蓝牙认证中的HFP角色需要测试AG的选项，需要在配置文件中加上拨打的手机号码

如下截图：



以一个打电话的例子说明测试过程



1 PTS会弹出上述提示，代表用户进入手机的设置-蓝牙。然后和PTS配对。

在手机蓝牙界面搜索到PTS-HFP-XXXXX的设备进行配对



2 然后打一个电话，主播电话号码一定要是先前设置的号码，如上述的15929***9...]]></description><category></category></item><item><title><![CDATA[蓝牙耳机通话问题调试]]></title><link>https://blog.youkuaiyun.com/Neoway0401/article/details/83374615</link><guid>https://blog.youkuaiyun.com/Neoway0401/article/details/83374615</guid><author>Neoway0401</author><pubDate>Thu, 25 Oct 2018 10:06:04 +0800</pubDate><description><![CDATA[经常会遇到蓝牙通话相关的问题，比如我们用蓝牙耳机拨打电话的时候，可能会遇到蓝牙耳机侧或远程电话侧的一个或两个方向没有声音的问题，或者音频质量不够好。

为了清除发生的事情，可以按照下面的方法来判断这个问题是否是由BT部分引起的。

数据流

上行

BT headset -&amp;gt; WCNSS(BT) -&amp;gt; AUDIO(AFE) -&amp;gt; AUDIO-&amp;gt;MODEM-&amp;gt;Remot...]]></description><category></category></item></channel></rss>