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.

[参考译文] CC2652R:缺少 GAP_LINK_TERMINATED_EVENT (主机测试)

Guru**** 1624230 points
Other Parts Discussed in Thread: CC2652R, CC2652R7, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1117405/cc2652r-missing-gap_link_terminated_event-host-test

器件型号:CC2652R
Thread 中讨论的其他部件: 、SysConfig

主机测试应用程序加载到 CC2651R1芯片上并配置为简单服务器。 Android BLE 应用作为客户端进行连接、永远保持不变。 但是、iPhone 应用程序会连接并保持连接10-12分钟 、然后断开连接。 我们无法访问 iPhone 源代码。  主机测试应用程序(BLE 服务器)不会向主机应用程序发送任何断开事件。

如果我们使用 iPhone 应用手动断开连接、则 Host Test 应用程序会发送断开连接事件、但在10-12分钟后自动断开连接时绝不会发送断开连接事件。 通过使用 CC2440 USB 监听器、我们只能捕获到来自 iPhone 的连接请求。 之后、监听器会丢失跟踪。 主机中的 host_test 服务器应用程序不使用任何加密命令。  

请帮助我们了解该问题

1) 1)  为什么在成功连接10-15分钟后使用 iPhone 应用程序时不会收到断开事件? 在从 iPhone 断开连接之前、我们会收到断开事件。 Android 应用程序始终保持连接。  

2) 2)为什么监听器在收到连接请求(附加日志)后不跟踪 iPhone?  当我们使用 Android 应用连接相同的 host_test 服务器应用程序时、我们可以完全监听。 服务器没有任何加密。 只需一个 GATT_AddService  和几  个 GATT_AddAttributes。  

更新:

在 iPhone 断开连接后、我将命令"HCI_EXT_GetConnInfoCmd"发送到 host_test。  我得到了回复、因为 iPhone 仍处于连接状态。 我关闭了 BLE Form iPhone 设置、但即使在15分钟后、HOST_TEST 会显示、连接也在那里。  

RX: 04 FF 10 20 04 00 20 FC 08 01 00 01 7C 67 5F 30 A0 54 01
事件0xFC20分配控制(8)活动控制(1)

e2e.ti.com/.../iPhoneConnectsToHostTest.psd  

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

    您好、Tony、

    我尝试了几次使用提供的步骤重现问题、但未成功。 我只能使用最新的 iOS 版本访问 ipad。 我认为、在这个阶段、BLE 监听器日志是导致这种情况的根本原因。 您是否可以通过任何方式获得至少几天的测量结果?

    此致、

    1月

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

    您好、Jan、

    我之前已连接监听器日志。 您检查过吗?  
    因此、您希望我们持续捕获监听器几天。 我可以尝试一下。 TI 数据包监听器是否支持监听这么长的时间。

    谢谢。
    此致、
    Tonye2e.ti.com/.../1122.host_5F00_test_5F00_disconnect_5F00_sdk6.10.x.psd

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

    您好、Tony、

    抱歉。 我指的是获得 Ellisys/Frontline 监听器日志、并尝试至少在几天内获取其中一个监听器。 对于任何混淆、我深表歉意。 我将查看所提供的数据包监听器日志、以查看它是否包含有关可能发生的情况的任何其他提示。

    此致、

    1月

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

    您好、Tony、

    我在 SmartRF 数据包监听器中打开了捕获,但您最新消息中提供的跟踪似乎没有显示正在建立连接。 我只能看到广播,您能否指定与最新日志中的连接相对应的数据包编号范围?

    此致、

    1月

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

    您好、Jan、

    我将尝试获取一线监听器日志。  

    谢谢。
    此致、
    Tony

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

    您好、Jan、

    第一线监听器捕获日志已附加。 我使用了 BPA600进行捕获。
    已附加 btool 日志。
    e2e.ti.com/.../5100.btool.log

    e2e.ti.com/.../ti_5F00_iphone_5F00_lightblue_5F00_random_5F00_disconnect.zip

    谢谢。

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

    您好!

    谢谢! 这将有助于进一步调试。 我还没有机会近距离观察。 您能否指定正在建立连接的数据包编号?

    此致、

    1月

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

    您好、Jan、

    连接请求的编号为8505。 我在 BPA 查找帧软件中使用关键字"connect"进行搜索。

    谢谢。
    Tony

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

    您好、Tony、

    通过查看日志、我发现8015处的连接指示(如下所示):

    我能够跟踪连接、直到 PHY 更改完成。 之后、我看不到任何其他 LL 程序正在发生。 您能否确认监听器是否配置为在 PHY 上记录设备重新配置为的数据包?

    您是否还可以获取一个监听器日志、其中显示 simple_peripheral 已成功连接到 iOS 设备并将其发布在此处? 这将为我们提供一条很好的曲线来进行比较。

    此致、

    1月

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

    您好、Jan、

    我们对一线监听器设置不太熟悉。
    您能否指导我们如何配置监听器以在设备重新配置到的 PHY 上记录数据包?

    谢谢。
    此致、
    Tony

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

    您好、Tony、

    我不太熟悉在一线监听器上录制的内容。 但是、我希望 用户手册中会提供此信息。 同时、您能否提供连接到智能手机的 simple_peripheral 项目的监听器日志、以便我们有一个良好的跟踪可与之进行比较?

    此致、

    1月

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

    您好、Jan、

    随附了简单外设监听器日志。 它由 simplelink_cc13xx_cc26xx_sdk_6_20_00_29构建、与 host_test 相同。
    连接请求帧为#4497。  
    顺便说一下、使用简单外设时、链路也断开了、但持续时间长于 host_test。 未捕获断开连接。
    如果您需要、我可以花一些时间来重新捕获它。

    此外、我在前线找不到任何选项来 配置、以便在 PHY 上记录器件重新配置到的数据包。

    谢谢。
    Tonye2e.ti.com/.../simple_5F00_peripheral_5F00_sniffer.zip

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

    您好、Tony、

    明白了。 感谢您查看前线设置。 是否可以尝试获取显示断开连接的日志? 此外、为了确认您是否能够在讨论发生时看到 simple_peripheral 项目中触发的 GAP_LINK_TERMINATED_EVENT 事件? 您可以通过在 simple_peripheral.c 中的事件中添加断点、在事件中添加 print 语句或切换 LED 来验证这一点。

    此致、

    1月

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

    您好、Jan、

    我在 simple_peripheral.c 中添加了断点
    但是、当随机断开连接发生时、未命中断点。 如前所述、  未生成 GAP_LINK_TERMINATED_EVENT 事件。

    只有当我手动断开连接时、才可以生成事件。
    要手动断开连接、我在应用程序中单击了"后退"按钮。

    我在这里连接了手动断开监听器。 随机断开监听器不容易捕获。 有时需要几个小时才能发生。
    e2e.ti.com/.../simple_5F00_peripheral_5F00_normal_5F00_connect_5F00_terminate_5F00_sniffer.zip
    谢谢。

    此致、
    Tony

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

    您好、Tony、

    明白了! 既然我们也在 simple_peripheral 中出现了该问题、那么调试起来可能会更容易。 我在解决这个问题所需的较长时间内就这样做了。 这是因为我无法访问特定器件和操作系统版本。

    您能否进入 simple_peripheral 项目的 SysConfig 并将监控超时更改为更低的值(例如1秒)并重新测试? 这里的一个潜在解决方法可能是设置一个周期性事件、以检查连接是否仍然真正处于活动状态、如果未处于活动状态、则断开连接。

    此致、

    1月

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

    您好、Jan、

    我们是否可以对 host_test 项目应用相同的修复程序? 我们希望将这个用于我们的产品。

    谢谢。
    此致、
    Tony

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

    您好、Tony、

    我希望相同的(如果不是非常相似)修复(用于检查连接是否仍处于活动状态的定期事件)也适用于 host_test (如果它适用于 simple_peripheral)。

    此致、

    1月