This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Linux、WL1831MODGBMOCR、使用 PM。
连接到 iPhone 5 (10.3.3)或 iPhone 5S (11.2.1)时、主器件在绑定时关闭第三个连接。 使用 Samsung S5和 S6 (操作系统版本未知)时、配对后的后续连接也会失败。
我使用的是具有以下设置的固定密钥:
pAuthRspInfo->AuthenticationAction |= DEVM_authentication_action_low_energy_operation_mask;
pAuthRspInfo->AuthenticationDataLength = sizeof (AuthenticationResponseInformation.AuthenticationData.LEIOCapCapabilities);
pAuthRspInfo->AuthenticationData.LEIOCapability。io_Capabilities = licDisplayOnly;
pAuthRspInfo->AuthenticationData.LEIOCapabilities。bonding_Type = lbtbond;
pAuthRspInfo->AuthenticationData.LEIOCapcapications.MIPTM = false;
pAuthRspInfo->AuthenticationData.LEIOCapcapizations.SC = false;
pAuthRspInfo->AuthenticationData.LEIOCapCapabilities。P256DebugMode = false;
pAuthRspInfo->AuthenticationData.LEIOCapcapications.OOB_Present = false;
pAuthRspInfo->AuthenticationData.LEIOCapcapizations.Keypress = false;
服务中的特征需要 GATM_SECURITY_PROPERTIFY_UNAUTHICATE_encryption_write 和 read。
这些日志似乎表明由于密钥交换过程中发生的 MIC 故障而终止连接。 为什么会发生这种情况? 我是否配置不正确?
e2e.ti.com/.../wilink8_5F00_connectionfailure_5F00_when_5F00_bonded.zip
Andrew、
断开连接的"由于 MIC 故障(0x3D)而终止连接"原因将在以下任一条件下发生。
-如果远程设备发送 LL_TERMINATE_IND,并将 MIC 故障作为原因代码。
-如果在加密事务挂起时存在链路层(LL)事务冲突。
从描述和 btssnoop 日志中可以看出,此错误主要是由于上述冲突造成的。 为了进一步确认和调试此问题、我们需要使用 BT Logger 工具(用户指南)从 BT_UART_DBG 引脚获取 WL183x FW 日志。
此致、
Vihang
尊敬的 Andrew:
我在0763.logs.zip 文件中未看到断开连接事件、该事件将"由于 MIC 故障而终止连接"(0x3D)显示为错误代码。 您在捕获这些日志时是否观察到原始问题?
此外、固件日志(*。lgr)仅包含来自"BT Logger 1"端口的信息、而不包含"HCI/LMP Viewer 1"端口的信息。 因此、我无法确认导致此错误的条件之一、因为它未覆盖整个图片。 尽管从这些布线中的有限信息来看、我看不到远程设备发送 LL_TERMINATE_IND 的指示。 因此、我们现在可以排除第一个条件。 (如果您捕获下一个实例的完整日志、我们可以得到确认)。
关于第二个条件、请参阅 BT 规格中的以下内容。
"如果在加密启动过程中的任何时候、主站或从站的链路层从对等链路层接收到意外的数据通道 PDU、则应立即退出连接状态、并转换到待机状态。 应通知主机链路已断开、并显示错误代码"连接因 MIC 故障而终止"(0x3D)。
因此、在这种情况下预计会出现 MIC 故障错误。 解决方案是确保远程设备在加密连接之前不发送任何数据。
此致、
Vihang
Vihang、您好!
我一直在与 Andrew 合作解决此问题、并生成了他提交的上一个日志文件。
目前、我无法让 Logger 从"HCI/LMP Viewer 1"端口捕获日志。 随附 BT Logger 和 HCI/LMP 查看器设置。 我还单击了 View -> Show All Items、但仍未在 Logger 中看到 HCI/LMP 消息。 我使用的是 WirelessTools 安装程序版本4.0.0.2中的 Logger 5.0。 Logger 是否还需要执行其他操作才能记录 HCI/LMP?
您好、Hieu、
您的记录器版本是最新版本、但 TIInit_11.8.32.ili 和 TIInit_11.8.32.xml 文件似乎已损坏。 您可以从 WL18XX-BT-SP 页面下载这些文件。
如需参考、完整的日志将如下所示。
此致、
Vihang
Vihang、您好!
感谢您提供指向*。ili 和*。xml 的链接。 Logger 按预期工作 now.e2e.ti.com/.../bonding_5F00_debug_5F00_20180213.zip
请参阅随附的、了解包含 HCI/LMP 消息的日志文件。 我将向您提供两个日志文件:一个是在使用 LightBlue iOS 应用时捕获的、另一个是使用 BTool 捕获的。 zip 文件中还包含 BTool 日志。
BTool 无法绑定到第三个(与 iOS 类似)。 请注意、BTool 在对链接进行加密之前不会发送任何数据。
Vihang、您好!
我们将使用 BTPMSRVR 内部的 GAP_LE_Set_Fixed_Passkey 函数调用通过 InitializationDoneCallBack 设置固定密钥。
根据您的建议、我在 LinuxGATM_SRV (未修改)应用程序上重复了绑定测试。 第三次尝试时加密请求仍然失败。 有关日志、请参阅随附的。 LinuxGATM_SRV 在开发硬件上运行、我将 BTool 与 CC2540 USB BLE 软件狗一起用作客户端。
下面是我执行的步骤:
GATM:1 1
GATM:10 1
GATM:RegisterAuthentication
GATM:RegisterGATTcallback
GATM:StartAdvertising 0x5 100
BTool:扫描并建立连接
BTool:发送配对请求(已选中绑定启用和 MIPTM)
BTool:发送密钥
BTool:将 LTK 保存到文件中
BTool:从文件加载 LTK
BTool:加密链接
BTool:终止连接
GATM: StartAdvertising 0x5 100
BTool:扫描并建立连接
BTool:加密链接
BTool:终止连接
GATM: StartAdvertising 0x5 100
BTool:扫描并建立连接
BTool:加密链接(状态为"无效事件 ID"的 GAP_Bond 失败)请注意、即使在绑定失败后、连接仍处于活动状态。
Vihang、您好!
在 iOS 设备上使用 LightBlue 时、iOS 设备已成功连接、但从未要求输入密钥(即 iOS 设备未发送验证请求)。
此致、
Hieu
您好 Dale、
当我使用 iOS 或 Android 设备时、我会观察到不同的行为。 请参阅我对 Vihang 的最后一个回复、了解我在 iOS 上使用 LightBlue 应用时会发生什么情况。 当我在 Android 上使用 NRF Connect 时、绑定第一次尝试失败。 遗憾的是、我目前没有 CC256x 器件尝试重复您的实验。
为您提供我们的 BTPM 应用程序源文件以便您尝试重现我们在 WiLink 设置中看到的问题的最佳方式(在此论坛之外)是什么?
此致、
Hieu