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.

[参考译文] CC2642R:更改为 PHY2M 后、CC2642 不会触发断开事件

Guru**** 2773145 points

Other Parts Discussed in Thread: BLE-STACK, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1572650/cc2642r-cc2642-does-not-trigger-the-disconnection-event-after-changing-to-phy2m

器件型号: CC2642R
Thread 中讨论的其他器件: BLE-STACKSysConfig

工具/软件:

您好、

我基于 simple_peripheral(适用于 CC2642 的 SimpleLink CC13xx CC26xx SDK)示例开发了一个客户固件。

根据 SDK 版本 7.10.2.23、我们收到客户投诉、即有时在连接智能手机应用程序后无法再访问 CC22642 器件。

根据最新的 SDK 版本 8.31.00.11 设置客户固件后、该行为没有变化。

我发现 CC2642 处于未定义状态、具有高电流消耗(随机 4 或 8mA)。 当 移动到无法触及的位置时、它不会检测到与智能手机的连接。

我可以通过执行以下步骤重现此问题:

-创建 simple_peripheral (CC26x2R Launchpad /BLE-Stack) 示例工程

-向 simple_peripheral.c 添加和初始化定期广播的代码(见附件)

-将 USE_PERIOCY_ADV 和 RTLS_CTE 定义 为预定义符号

-构建并刷新至 Launchpad

-重置固件 (!)

-使用智能手机应用程序连接到 CC2642。 我在 iOS 上使用 BLE Hero 应用

-缓慢移出伸展位置、直至断开连接、然后移回伸展位置并尝试连接。 通常、需要一些尝试 (3 到 10) 才能生成它

-在某些时候,应用程序无法再连接

- CC2642 不在广播、无法再连接。 只有硬复位有用。  

更深入的见解:

-在显示日志中,您可以看到即使移动应用显示断开连接,断开连接事件 (GAP_LINK_TERMINATE_EVENT ) 也不会被触发。

-仅当 PHY 更改为 2M 时才会发生该问题。  

-我对客户固件实施了软件监视程序。 应用任务仍然有效、看门狗被清除。 对讲机核心似乎挂起。

-我实现了检测 未检测到的 与客户固件断开连接。 如果我尝试通过 GapAdv_enable 重新启用广播、则固件会运行到(看门狗触发)复位状态。

-我删除了客户固件中的定期广告。 在第一次测试中、问题似乎消失了。 但我们仍有一些罕见的设备 运行。

目前、我 针对检测问题并触发软件复位的客户固件实施了权变措施。 但我不满意这种情况...

我恳请你的支持,非常感谢!

此致、

Andreas

e2e.ti.com/.../5340.simple_5F00_peripheral.c

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

    您好 Andreas、

    感谢您联系我们! 是的、我同意、触发软件复位并不是理想的解决方案。 当设备与电话断开连接时、它是否在其他电话上仍然可见、或者广告是否完全停止? 此外、您能否提供数据包监听器日志? 这将有助于我们了解空中发生了什么。

    此致、

    Tarek D

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

    尊敬的 Tarek:

    广播停止、不再可见。

    请查看随附的显示日志:最后的输出是“PHY 更新为 2M“和“MTU 大小:65“。 但是、对于 CC2642 即将断开连接这一点、目前尚无相关信息。

    最后一行“RP Addr:0x5C24B7267A8D“在一段时间后发送。 这意味着应用程序任务可能仍然运行。

    e2e.ti.com/.../display_5F00_connection.log

    作为嗅探器、我只有 NRF Sniffer 和 Wireshark、因此我只能在连接之前看到 Adv 数据包。 数据包正常(见下文)。 在 手机释放连接后、不再看到任何数据包。   

    Andreas

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

    您好 Andreas、

    感谢您提供此信息! 如果您尝试使用 GAPAdv_enable () 重新启动广播、会发生什么情况? 您收到的返回代码是什么(要接收返回代码,您需要处于调试模式或将其打印到终端)

    此致、

    Tarek D

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

    您好 Tarek、

    我添加了 在 CC2642 处于错误状态时触发 GAPAdv_enable () 的代码。

    返回代码为 17 (bleAlreadyInRequestedMode)。 不开始广播。  

    CC2642 持续消耗~μ A 8mA 的高电流。

    如果您按照上面问题帖子中的说明操作、可以重现该行为吗?

    Andreas

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

    您好 Andreas、

    我会调查这个问题。 出于好奇,如果你停止广告然后重新启动会发生什么? 需要明确的是、这只是一种权变措施、同时我们会确定根本原因。

    此致、

    Tarek D

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

    您好 Tarek、

    如果我第一次调用 GapAdv_disable()、则返回代码为 0(成功)。 然后 GapAdv_enable () 也返回 0。

    但没有以物理方式开始广播(在 BLE 扫描仪中看不到广播包)。

    感谢您的关注!

    Andreas

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

    您好 Andreas、

    已注意。 预计明天将更新 (10/9)。

    此致、

    Tarek D

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

    您好 Tarek、

    您对此有更新吗?

    谢谢、

    Andreas

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

    您好:

    您是否会对此问题提供反馈?

    我们如何在不进行复位的情况下防止该问题?

    您是否正在为未来的 SDK 版本修复?  您还有其他问题吗?

    我们的客户正在 寻求解决方案。 可能会对超过 30k 个器件产生影响。

    非常感谢、

    Andreas

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

    您好 Andreas、

    我不知道她是谁,也不知道她是谁。

    我无法在我这边重现问题 使用公共地址而不是 RPA 时是否会出现此问题?  另外、 需要记住的另一件事是、在连接时、您连接到第一个广播集、这是传统广播、因此我们可能会在错误的位置查找导致此问题的原因。

    我还附上了我们的用户指南中关于定期广告的部分的链接:

    https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_8_31_00_11/docs/ble5stack/ble_user_guide/html/ble-stack-5.x/gap-cc13xx_cc26xx.html#periodic-advertising

    此致、

    Tarek D

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

    我通过执行以下步骤重现了这个问题:

    My Environment:IDE CSS 20.3.0.14__1.9.0;TI Arm Clang 3.2.2;BLE Stack Core 8.31.00.11;XDCTools 3.62.01.15;SysConfig 1.21.1

    -创建 simple_peripheral (CC26x2R Launchpad /BLE-Stack) 示例工程、TI Clang 编译器。 我在导入时指定了器件 CC2642R1F、而不是 CC2652R1F。

    -我下载了附加的 c 文件,重命名了它,并用它替换了名为 simple_peripheral.c 的示例 c 文件。

    -在 Project Settings -> Build -> Tools -> Arm Compiler -> Predefined Symbols 中、将 USE_PERIOCY_ADV 和 RTLS_CTE 定义为 Predefined Symbols

    -构建并刷新至 Launchpad

    -通过将上载板拔出并重新插入来重置固件

    -我尝试使用 Android 应用 SimpleLink Connect 和 Si Connect 连接到 CC2642 ,没有问题,因为我不知道如何强制 2M 物理层。

    -我与 ST BLE Toolbox 1.4.4 连接,因为您可以在设置中将初始首选的 Phy 设置为用于 Tx 和 Rx 的 PHY LE 2M。

    -缓慢移出伸展位置、直到断开连接、我在断开连接前看到 RSSI 值低于–100  

    -在某些时候,即使我回到范围内,应用程序也无法连接

    - CC2642 不在广播、无法再连接。 只有硬复位有用。

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

    您好 Tarek、

    两种地址模式都出现该问题。 我们的客户产品使用 ADDRMODE_PUBLIC。 我的示例代码使用 ADDRMODE_RP_with_public_ID。

    只有旧广播处于活动状态。 如您在我的示例中所见、定期广播仅被初始化、回调已注册。 无需启用定期广播即可产生问题。

    Christoph(以下)也能够重现它。 希望他的额外描述可以帮助你...

    Andreas

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

    您好 Andreas、

    我终于能够在我这边重现这个问题了! 我正在研究它背后的潜在原因。

    此致、

    Tarek D

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

    您好 Tarek、

    很棒、很好! 如果需要更多数据、请告诉我!

    谢谢、Andreas

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

    尊敬的 Tarek:

    是否有任何更新?

    谢谢、Andreas

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

    嗨、Andreas、

    我在我这边多做了几个测试 我执行了与您提到的完全相同的步骤、唯一的区别是我使用了 TI SimpleLink Connect 应用 我使用 iPhone 连接、它会自动将 PHY 切换至 2M。 我执行了相同的断开序列、之后器件仍然正常工作。 这让我相信使用 ST BLE 工具箱应用程序会有一些奇怪的事情。

    请使用 SimpleLink 应用尝试该过程、并告诉我它是否有效。 或者、如果您可以附加数据包监听器日志、这也会非常有用。

    此致、

    Tarek D

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

    尊敬的 Andreas:

    您是否找到了问题的根本原因并解决了问题? 我想我遇到过与您相同的问题。 如果您能分享您的解决方案、我将不胜感激。

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

    尊敬的 Tarek:

    我测试了 SimpleLink Connect 应用、也可以轻松重现问题。 行为也一样。

    问题出在退出和进入 BLE 范围后所有使用重新连接的应用上。   我们构建 BLE 连接应用的所有客户都会受到大量器件 (30k+) 的影响。  有些设备在几天后出现故障、有些设备在几周后出现故障、有些设备则处于稳定状态。 相同的客户随机设置中。

    从我的角度来看、似乎只有一个核心(无线电核心?) 导致死区环路。 应用程序仍在运行、认为一切正常、没有看门狗提供帮助。

    因此、如果您能重现此问题、请您更深入地了解堆栈。 我没有工具和实验来做到这一点...  

     内六角盘 

    不幸的是、我发现了根本原因、如前所述。 我只找到一种方法来检测器件是否处于此问题状态:

    -将 GATT_Notification 发送到定义的时间间隔内的自定义特性(例如 60s )。

    -如果 GATT_Notification 返回错误至少 X 次(例如 30 次),则尝试断开连接。

    -如果 未触发断开事件 GAP_LINK_TERMINATE_EVENT、则器件可能处于问题状态=>软复位。

    这只是一个不令人满意的解决方法。 我们需要 Tareks 的帮助! 我希望他能告诉我们更多关于根本原因的 信息、并可能提供一个错误修复。

    谢谢您、

    Andreas

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

    您好 Andreas、

    我已尝试过您和 Christoph 描述的确切流程、但我无法重现问题。 我测试了 Android 和 iOS 设备、并同时使用了 simplelink 连接应用和 ST BLE Toolbox 应用。 您能澄清一下指定 CC2642R1F 时执行了什么操作吗?  SDK 中的示例是 CC26x2

    您使用的是定制硬件还是 cc26x2r1 Launchpad? 另外、您能否给我发送一个.out/.hex 文件、其中包含出现此问题的固件、以便我可以对其进行测试?

    此致、

    Tarek D

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

    尊敬的 Tarek:

    我们的量产器件使用定制硬件上的 CC2642R1F 芯片。

    我将问题解压到了一个基于 SDK CC26x2 的简单工程中。 此演示在 CC2642R1/CC2652R1 开发套件 Launchpad 上运行。

    请找到随附的十六进制和输出文件。

    但是、 9 天前、您告诉我您可以重现此问题。 我想知道您为什么不根据此设置分析问题?! 堆栈/内核中的深度出现问题。 在我看来、器件不能进入 功耗极高的中断 状态。 示例应用程序不包含任何明显的错误。

    您能告诉我们有关此可再生产案例的根本原因的更多信息吗?

    谢谢、

    Andreas

    hardsoftwerk-my.sharepoint.com/.../EdrF_YOtehxPtdkBbhuvcqwBxncMBjvuPGjIjDP5XhCJdQ


    hardsoftwerk-my.sharepoint.com/.../ESVXqpJNdQ9Ml_uSQhn7OusBFePUQVJ1ltQkmiYR9SVfBw

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

    尊敬的 Tarek:

    以上链接不可访问。 抱歉、找不到上传功能。

    请告诉我一个方法,我如何能给你的文件,谢谢

    Andreas

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

    您好 Andreas、

    我原以为我复制了这个问题、但我错了、此时设备仍在广告中、我表示歉意。

    至于根本原因、我不能用我面前的资料来说明究竟是甚么。 我希望得到一个数据包监听器日志、它能解释无线传输的情况。 事实上,我能够正常工作时,我的最后与你提到的设置测试,使我相信问题要么在中央添加(智能手机),或它是边缘情况,仅在特定情况下发生.

    要上传文件、请按插入菜单选择图像/视频/文件选项、然后按上传。 这将弹出一个文件资源管理器窗口、您可以在其中选择要共享的文件。

    希望我们很快就能解决这个问题!

    此致、

    Tarek D

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

    e2e.ti.com/.../simple_5F00_peripheral_5F00_CC26X2R1_5F00_LAUNCHXL_5F00_tirtos7_5F00_ticlang.hex.txte2e.ti.com/.../simple_5F00_peripheral_5F00_CC26X2R1_5F00_LAUNCHXL_5F00_tirtos7_5F00_ticlang.out.txt

    好的、现在我找到了。 “上传“不是作为一个按钮放置...

    我必须添加一个“.txt"扩展“扩展名、否则它被阻止...

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

    嗨、Andreas、

    听起来不错、我得到了它并刷写了器件! 我会运行一些测试、让您知道我找到的内容。

    此致、

    Tarek D

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

    嗨、Andreas、

    我刚运行测试、 几次尝试后就能看到问题。 似乎从未发生过断开连接。  我将进一步研究它、以潜在地找到一个修复或至少是一个解决方法。

    我会随时更新您的最新信息

    此致、

    Tarek D

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

    很棒! 期待您的光临!

    感谢您的更新!

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

    您好 Andreas、

    感谢您的耐心。 我已经向我们的研发团队提交了一个 TT 来解决这个问题。 我会确保您随时更新状态。 我再次表示歉意、这一问题需要很长时间才能取得进展。

    此致、

    Tarek D

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

    您好 Tarek、
    您还能告诉我您是否有发现? 谢谢。

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

    尊敬的 Tarek:

    您的研发团队是否有任何更新?

    谢谢、Andreas

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

    您好 Andreas、

    已就此问题提交了一份 TT。 应在下一个 SDK 版本中将其修复。

    此致、

    Tarek D

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

    尊敬的 Tarek:
    我可以询问何时预计会发布新的 SDK 版本?

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

    尊敬的 Tarek:

    好的、好的!

    准备好 SDK 时、敬请告知我们。 正在等待...

    非常感谢!

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

    您好、Allen、

    很遗憾、我们还没有发布时间表。

    此致、

    Tarek D

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

    尊敬的 Tarek:

    有任何关于时间线的消息吗?