主题中讨论的其他器件:SysConfig、
工具与软件:
您好!
我们的解决方案基于来自 BLE 堆栈的简单外设示例。 以下是我们使用的软件/工具的详细信息:
TI SimpleLink SDK:v7.41.00.17
TI Code Composer Studio:CCS-12.5.0
TI ARM Clang 编译器工具:3.2.0.LTS
XDCTools:3.62.01.15
我们的应用程序正在使用"Just Works"配对模式 以及启用绑定和 过滤器策略配置为"处理来自所有设备的扫描请求和仅来自 AL 中设备的 conn 请求(在 SDK v6.20中为 WL)"。 此外、我们依靠 GAPBondMgr 来处理配对、绑定和白名单连接工作流、并且不在应用程序中执行任何这些操作。
我们最近已将项目从 SDK v6.20迁移到最新的 v7.41.00.17、并且观察到一个与白名单策略相关的问题。 测试步骤如下所示:
- 外设在可配对广播模式下进行广播
- 未绑定的中央设备扫描外设、并尝试连接、配对和绑定。 此外、成功绑定到中央器件、键合正确存储在 NVS 中(使用 GAP API 进行验证以返回绑定器件的数量)
- 外设禁用可配对广播模式并在白名单广播模式下进行广播。
- 已绑定的中央设备尝试连接。
预期结果:已绑定的器件应建立加密的 BLE 连接
结果:已绑定的设备在 Android 上被拒绝连接"GATT ERROR (0x85)"、在 iOS 上则被拒绝连接
以下是突出显示连接尝试失败的监听器屏幕截图:
- 可配对高级模式下的连接
- 白名单广播模式下的连接
问题:
- 筛选器策略设置是否与之前的 SDK 一致、或者是否有我遗漏的其他配置?
- 我们是否需要在应用程序中处理 gapbondmgr.h/.c 更改?