Thread 中讨论的其他器件: BLE-STACK
通过 Android 手机(Samsung Galaxy S6)或 iPad Air 进行配对和绑定的快乐路径可在多个连接/断开连接和断电时正常工作、并且在 LAUNCHXL-CC2640R2开发套件上运行标准简单 BLE 外设演示代码(未修改)。
但是,如果绑定从中央设备(Android 或 iPad)中删除,并且尝试再次与设备配对,则配对失败,并显示 SMP 错误“Pairing DHKey Check”(配对 DHKey 检查)。 我可以找到从这个问题中恢复的唯一方法是重新刷写外设中的代码。
我修改了代码以添加对状态回调和 UART 消息、并可以确定错误代码报告为0x0B、SMP_Pairing_failed_DFHKEY_CHECK_FAILED)。
出现此错误时、我添加了擦除所有绑定的代码(我甚至通过单步执行代码进行检查)、但配对失败、同时出现相同的 DH 密钥检查错误。 接下来、我执行了代码来擦除当前绑定。 同样、绑定会成功擦除(通过单步执行代码进行双次检查)、但配对也会以相同的方式失败。
尝试了另一种情形。 这次我从外设中删除了绑定。 与 Android 手机配对时、它同样失败。 iPad 失败、出现"PIN or Key Missing (PIN 或密钥丢失)"错误。 恢复的唯一方法是重新刷写外设代码。
我在这里错过了什么? 似乎是 BLE 堆栈的问题。 如何解决此问题?
TIA、
SG
SMP_Pairing_failed_DHKEY_CHECK_FAILED