最近遇到一个问题,手机和蓝牙耳机配对之后。将手机和蓝牙耳机远离,直到手机和蓝牙耳机断开连接。然后将蓝牙耳机
靠近手机,蓝牙耳机不会回连到手机,蓝牙核心协议中对于回连的定义如下:

从协议的描述来看,remote设备发送连接命令过来后,host才会对controller发HCI_Accept_Connec-
tion_Request命令。
而从测试同事那边抓取的HCI log来看,没有搜索到上述这条命令,但是这个也不能就认为是remote设备没有
发送连接命令过来,也有可能是remote设备发了命令,但是本端没有收到。这个就需要抓取空口log进一步确认。
蓝牙核心协议中关于连接的描述如下,分为3步.



如果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问题。
本文主要探讨了蓝牙回连问题,当手机与蓝牙耳机配对后远离导致断开连接,蓝牙耳机无法自动回连到手机。通过分析蓝牙核心协议和HCI日志,发现可能的原因是远程设备未发送连接命令,需要通过空口日志进一步确认问题是否出在remote设备上。
2681

被折叠的 条评论
为什么被折叠?



