蓝牙回连问题的分析

最近遇到一个问题,手机和蓝牙耳机配对之后。将手机和蓝牙耳机远离,直到手机和蓝牙耳机断开连接。然后将蓝牙耳机

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

蓝牙回连问题的分析_第1张图片

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

而从测试同事那边抓取的HCI log来看,没有搜索到上述这条命令,但是这个也不能就认为是remote设备没有

发送连接命令过来,也有可能是remote设备发了命令,但是本端没有收到。这个就需要抓取空口log进一步确认。

蓝牙核心协议中关于连接的描述如下,分为3步.

蓝牙回连问题的分析_第2张图片

蓝牙回连问题的分析_第3张图片

蓝牙回连问题的分析_第4张图片

如果remote设备发送过来连接,在空口log中会看到如下这些信息

    4,017    2        version_req    Master    master    18        2018/12/28 星期五 16:52:28.844410    
    4,037    2        version_res    Slave    master    18     00:00:00.146877    2018/12/28 星期五 16:52:28.991287    
    4,040    2        features_req    Master    master    21     00:00:00.001873    2018/12/28 星期五 16:52:28.993160    
    4,043    2        features_res    Slave    master    21     00:00:00.001877    2018/12/28 星期五 16:52:28.995037    
    4,046    2        features_req_ext    Master    master    24     00:00:00.001873    2018/12/28 星期五 16:52:28.996910    
    4,049    2        features_res_ext    Slave    master    24     00:00:00.001877    2018/12/28 星期五 16:52:28.998787    
    4,050    2        host_connection_req    Master    master    13     00:00:00.001873    2018/12/28 星期五 16:52:29.000660    
    4,053    2    host_connection_req    accepted    Slave    master    14     00:00:00.001877    2018/12/28 星期五 16:52:29.002537    

而抓取的空口Log却没有看见这些log,进一步的佐证remote设备没有发连接的命令过来,所以这个问题属于remote问题。
 

你可能感兴趣的:(蓝牙回连问题的分析)