BLE 0x3e HCI_ERROR_CODE_CONN_FAILED_TO_ESTABLISH

简介: BLE 0x3e HCI_ERROR_CODE_CONN_FAILED_TO_ESTABLISH
Master> SCAN_REQ:扫描请求
Master> CONNECT_REQ:连接请求
 
接下来Master(ATM)和Slave(按摩仪)连接交互 LL Control PDU主要用于建立连接后的一些参数设置
0x08  LL_FEATURE_REQ 请求交换 Feature 的交互 5次
0x09 LL_FEATURE_RSP  请求交换 Feature 的交互
0x0C  LL_VERSION_IND 交互 Version
0x00  LL_CONNECTION_UPDATE_IND 更新链接参数
 
connect_req其实是在告诉advertiser,手机将在Transmit Window期间发送第一个同步包(P1)给你,
请在这段时间里把你的射频接收窗口打开。设备B收到P1后,T_IFS时间后将给手机回复数据包P2(ACK包)。
一旦手机收到数据包P2,连接即可认为建立成功。
 
遇到“建立失败”(0x3E)错误:
-------------------------------------------------------------
如果主服务器在发送连接请求后的前6个连接事件中无法接收从服务器发来的数据包,则会发生“建立失败”
(0x3E)错误。 这可能是由许多原因造成的。 以下是几种可能性:  
 
在一个或两个设备上的射频性能不是很好,所以在前6个连接事件中,从机从来没有收到连接请求,或者主机
从来没有收到从机发来的任何数据包。 由于CRC失败、碰撞或设备超出范围,射频性能可能会很差。  
这两种设备都可能存在时间问题。 如果任一设备上的链路层时钟没有运行在32.768kHz(在使用HCI_Ext_SetSCACmd函数设置的公差范围内; 默认值是+/-50ppm),那么定时将关闭,从服务器可能没有在
正确的时间监听主服务器的数据包。  
如果从设备在发布时将白名单过滤策略设置为GAP_FILTER_POLICY_WHITE_CONor GAP_FILTER_POLICY_WHITE,
那么从设备将忽略来自主设备的连接,并继续正常发布。 master将得到0x3E错误,因为它在前6个连接事件
期间没有从slave接收任何数据包。  
 
-------------------------------------------------------------
参考:
https://blog.csdn.net/zhoutaopower/article/details/95938674
https://blog.csdn.net/loosen17/article/details/98629421


相关文章
|
存储 安全 算法
【BLE】 BLE配对绑定保姆级介绍
实现蓝牙通信安全,除了paring/bonding这种底层方式,用户也可以在应用层去实现相同功能,两者从功能上和安全性上没有本质区别,只不过应用层自己实现的话,需要自己选择密码算法,密钥生成,密钥交换等,如果你不是这方面的专家,你的应用就有可能会存在安全漏洞。设备跟手机绑定成功后,手机再次重连这个设备时,就会自动跳过service discovery过程,换句话说,配对的时候手机会把设备所有服务和characteristic的handle保存下来,二次重连的时候,直接用以前保存的handle值去操作设备。
4710 1
【BLE】 BLE配对绑定保姆级介绍
|
传感器 网络协议 物联网
手把手教你在 Windows 环境中搭建 MQTT 服务器
手把手教你在 Windows 环境中搭建 MQTT 服务器
1494 0
|
11月前
|
机器学习/深度学习 边缘计算 运维
运维技术深度解析:构建高效、稳定的IT基础设施
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的IT基础设施
282 0
|
开发工具 git 索引
repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
本文描述了在更新AOSP 12源码时遇到的repo同步错误,并提供了通过手动git pull更新repo工具来解决这一问题的方法。
506 1
|
缓存 前端开发 开发者
动态样式问题之@ant-design/cssinjs优化性能如何解决
动态样式问题之@ant-design/cssinjs优化性能如何解决
|
编解码 语音技术
【经典蓝牙】 蓝牙HFP层协议分析
HFP(Hands-Free Profile), 是蓝牙免提协议, 可以让蓝牙设备对对端蓝牙设备的通话进行控制,例如蓝牙耳机控制手机通话的接听、 挂断、 拒接、 语音拨号等。HFP中蓝牙两端的数据交互是通过定义好的AT指令来通讯的
3684 0
【经典蓝牙】 蓝牙HFP层协议分析
|
存储 Ubuntu
Ubuntu查看系统日志的几种方法
Ubuntu查看系统日志的几种方法
|
缓存 Java Android开发
Android 9.0 WiFi 扫描结果上报和获取流程
Android 9.0 WiFi 扫描结果上报和获取流程
618 0
|
Linux 编译器 C语言
QT编译安装QtMqtt子模块,Linux平台
QT编译安装QtMqtt子模块,Linux平台
458 0