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.

[参考译文] CC2340R5:更新到 SDK 9.14.00.41 后 BLE 外设在配对期间断开连接(原因 0x08/0x28)

Guru**** 2765615 points

Other Parts Discussed in Thread: CC2340R5

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1596997/cc2340r5-ble-peripheral-disconnects-during-pairing-after-updating-to-sdk-9-14-00-41-reason-0x08-0x28

器件型号: CC2340R5

您好:

我将 CC2340R52E0RGER 与 SimpleLink 低功耗 F3 SDK 配合使用。
我的应用基于基本的 BLE 外设示例。

最近、我从 SDK 9.11.00.18 升级到 9.14.00.35 和 9.14.00.41、之后在配对过程中会频繁断开连接。 建立连接本身没有问题、但在配对阶段、链路通常会终止。  

在 SDK 9.11.00.18 中、未发生此问题。
在 SDK 9.14.00.35 中、该问题偶尔出现(极少数情况)。
在 SDK 9.14.00.41 中、该问题会频繁发生(几乎每次配对尝试)。

观察到的行为
*断开连接 仅在配对期间发生,不在正常连接期间发生。
*终止原因各不相同:
  -先前: 0x08(监督超时)
  -调整连接参数后:0x28(即时通过/ LL 控制超时)

 SDK 9.14.00 中是否存在与配对时序、LL 控制过程或存储器使用相关的任何可能导致 0x08/0x28 终止的已知问题?
版本说明中提到“闪存和 RAM 消耗的增加、将在下一个版本中解决“。
对于 CC2340R5 的 9.14.00.41、是否有任何建议的配置或权变措施来保证配对稳定性?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    感谢您联系我们。 您能否提供更多有关如何重现此行为的详细信息? 您是否在未修改的 basic_ble 工程中看到了这一点?

    此致、

    1 月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    作为其他更新、我们在使用时已验证了相关内容 Android 系统配对 NRF 连接 、配对在 SDK v9.14.00.xx 中正常工作、未发现任何问题。

    目前、我们使用的是 Android 与我们自己的内部测试应用程序 开发和测试。
    之后 测试应用程序 完成连接后、它继续进行服务发现、然后对制造商名称、软件版本和序列号特征执行特征读取操作。

    关键点是这样 从 SDK v7.40 到 v9.11、同一应用从未出现任何配对问题
    不过、从开始 v9.14.00.xx 中找到 、开始出现与配对相关的断开连接问题。

    请注意、我们的内部测试应用有 对外设的某些强制性要求 由于这些要求、事实确实如此 我们无法使用完全未修改的 basic_ble 工程进行测试

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    我懂了。 感谢您提供这些附加详细信息。 您是否可以使用 BLE 监听器? 如果是、那么您能否共享一个成功连接和配对的监听器日志、然后共享一个失败的案例? 我可以分析日志并查看可能存在差异的位置。

    此致、

    1 月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好 我上传了两个失败的监听器日志和一个成功的监听器日志以供您参考。

    所有测试均使用 SDK 版本 9.14.00.41 执行。
    使用 NRF Connect 应用程序时捕获了成功的日志、而使用我们的内部测试应用程序时捕获了两个失败的日志。

    您能否查看日志并告知我们您的调查结果?

    P.S.我们拖放了总共三个日志文件。 请告知我们文件是否已正确上传。

    此致、
    Ari

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    e2e.ti.com/.../6507.sniffer.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ari:

    我查看了日志、但没有找到表明断开连接的数据包。 您能否指定哪个数据包编号显示断开连接事件?

    此致、

    1 月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jan、

    从 MCU 侧 UART 输出捕获了断开原因。
    作为参考、我附上了 CC2340 应用程序源代码的屏幕截图、其中显示了我们打印断开原因的位置 (BLEAPPUTIL_LINK_TERMINATE_EVENT、gapTerminateLinkEvent_t->reason)。

    监听器日志不包含显式断开事件的原因可能是、在我们观察到 MCU/UART 侧断开连接后不久、监听就停止了。

    如果您希望我们使用更长的捕获窗口来捕获另一个监听器日志、以便包含断开连接的数据包、请告知我们。

    此致、
    Ari

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ari:

    我懂了。 是的、请提供包含断开连接数据包的日志、因为这将帮助我们分析连接到断开连接的导联。

    此致、

    1 月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jan、

    很抱歉、延迟的回复。

    我们尝试使用 BLE 嗅探捕获断开事件、并对外设设备应用过滤、但我们无法在监听器日志中观察到断开事件。

    仅通过应用端 MCU 日志确认了断开原因 (0x28 或 0x08)。 从智能手机测试应用程序的角度来看、应用程序似乎继续等待响应、并且没有显式触发断开连接。

    不幸的是、我们无法捕获可清楚显示断开连接行为的其他监听器数据。 很抱歉、我们目前无法提供更多有用信息。

    此致、
    Ari

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ari:

    不用担心! 感谢您对此进行研究。 在这种情况下、由于某种原因、移动设备认为连接仍在保留。 问题是否发生在多个不同的 Android 或 iOS 设备上? 您能否分享哪些设备已经过测试及其对应的操作系统版本?

    此致、

    1 月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jan、

    到目前为止、我们测试的主要器件是 A 运行 Android 9 的 Galaxy Note8
    使用此器件时、问题可重现、大概发生在中 10 次配对尝试中的 3–4 次

    作为附加测试、我们还尝试了以下器件:

    • Galaxy S24 Ultra 运行 Android 16

    • 运行 iOS 26.2 的 iPhone 16

    在这两款器件上、我们都进行了测试 无法观察断开连接问题 和配对在我们的测试中成功完成。

    此致、
    Ari

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ari:

    我懂了。 感谢您的确认。 Android 9 器件很可能存在与 BLE 规范相关的错误或不合规行为、在使用早期 SDK 版本时未公开、但在最新版本中会遇到该错误或不合规行为。 您是否能够将 Note 8 设备更新到更新的 Android 版本?

    此致、

    1 月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jan、

    感谢您的反馈。

    不幸的是、Galaxy Note8 无法更新到更远的位置 安卓 9. 、因为这是该设备支持的最终操作系统版本。

    因为我们正在开发的产品是 B2C 消费类产品 、我们不能要求或假定所有最终用户都将使用较新的移动设备或操作系统版本。 出于这个原因,继续兼容旧的 Android 版本,包括 Android 9,是我们的一个重要考虑因素。

    如果有 CC2340 侧的权变措施、配置建议或最佳实践 能够在使用较旧的 Android BLE 栈时提高互操作性或稳健性、我们非常感谢您的指导。
    或者、如果这是一个已知的限制、预计在中会得到解决或改进 未来的 SDK 版本 、如果需要、我们可以灵活地等待下一个 SDK 版本。

    再次感谢您的支持和分析。

    此致、
    Ari

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ari:

    我懂了。 感谢您提供这些附加详细信息。 在这种情况下、我认为我们应该寻求针对此行为的权变措施。 我没有访问 Android 9 设备的权限、因此我无法在我这边复制此设备。 我认为接下来的步骤将获取以下场景的监听器日志

    1. Android 9 设备在新 SDK 中出现问题

    2. Android 9 设备在较旧的 SDK 中没有显示问题

    3. Android 16 设备在新 SDK 中没有显示问题

    4. Android 16 设备在较旧的 SDK 中没有显示问题

    通过这些日志、我认为我们可以找到差异所在、并尝试找到解决方法。 收集日志时、请尽可能缩短日志、但显示从开始广告到问题表现的所有内容。

    此致、

    1 月