DA14581
5个月前
邮寄人帕金森20分 7答复大家好,我们正在使用DA14581 SDK 5.0.4。
在系统中,DA14581是从机。在利益关系方面,DA14581和Master将配对,然后结合。附加嗅探器文件中的LE数据选项卡-从第37701帧开始(配对完成),然后开始并完成加密(37726-37779),主机发送写入请求的下一个连接间隔(37785)-写入请求包最终与绑定包混合。DA14581然后给出错误响应-写入请求加密不足(37804)。加密完成和绑定完成之间是否有一段时间不允许写入请求?
请注意,在二者将配对但不结合的连接中,当在加密完成后的下一个连接间隔内发送写入请求时,没有问题。
谢谢你的帮助。
附件 | 大小 |
---|---|
iOS_CID_While_Bonding_happyPath 2.xlsx | 161.79 KB |
5个月前
嗨,帕金森,
对耽搁表示歉意。请参阅以下来自我们团队内部的反馈。
根据BLE SIG规范:
“如果客户端未启用加密,并且读/写请求的属性需要加密,则应发送错误响应,错误代码为«加密不足»”。
为了在iOS中克服这一问题,可以以ANCS为例进行以下操作
//如果((param->operation==ANCC_WRITE_CL_CFG_OP_CODE)和&(param->status==ATT_ERR_INSUFF_ENC)){//启动与iOS设备应用程序的配对过程\u easy_security_request(app_env[0].conidx);}
我们根据以下信息提出解决方案:
如果在服务请求时未启用加密,收到错误代码“加密不足”,并且本地设备当前具有LTK,则应启动加密过程。如果启动加密失败(可能表明远程设备已失去连接,不再具有LTK)或本地设备没有正确的LTK,则应启动配对过程。
如果对安全属性的访问需要加密链接,且链接未加密,则应发送错误响应,错误代码为“加密不足”。当客户端收到此错误代码时,它可能会尝试加密链接,如果加密成功,则可以访问安全属性。
谢谢,下午好
5个月前
嗨,帕金森,
谢谢你的评论。这是一个非常特定于应用程序的项目,因为此过程也与iOS相关。
根据BLE规范,没有这样的规则,但是,增加一些延迟可以解决问题。或者在主应用程序的密钥分发之后写入CCCD。
请记住,我们在这里采用的是理论假设,因此请尝试让我们了解系统行为。
谢谢,下午好
5个月前
嗨,帕金森,
谢谢你的在线提问。我已经在内部升级了这个问题以检查它。我很快会给你回复。
谢谢,下午好