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:当 CC2642在连接超时之前连接到同一器件时、不会触发连接事件。

Guru**** 2589280 points
Other Parts Discussed in Thread: CC2642R

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1360512/cc2642r-the-cc2642-when-it-connects-to-the-same-device-before-the-connection-timeout-occurs-does-not-trigger-the-connection-event

器件型号:CC2642R

您好!

CC2642在用作外设时、最多可支持3个连接。 智能手机连接后、如果 CC2642主动请求断开连接、则智能手机将在收到请求并尝试重新连接时立即断开(由于 CC2642支持多个连接、因此它会连续广播)。 如果 CC2642没有收到与智能手机断开连接的确认、它将等待6秒、然后触发 GAP_LINK_TERMIND_EVENT 事件(当前连接超时设置为6秒)。 如果在这6秒内同一智能手机重新连接到 CC2642、则应用层将不会接收 GAP_LINK_ESTABED_EVENT 事件。 6秒后、它将接收到 GAP_LINK_TERMINED_EVENT 事件、但此时智能手机将保持与 CC2642的连接。 但是、应用层会认为没有连接。

SDK:simplelink_cc13xx_cc26xx_sdk_7_10_01_24

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

    您好!

    感谢您的支持、  

    您能否分享有关如何发送断开连接请求的更多详细信息、以及您是否观察到与2个连接相同的行为?

    最后、如果您可以轻松收集它们、如果您可以提供监听器日志、将会很有帮助。

    此致

    Tanguy

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

    您好!

    我正在使用 MULTI_ROLE 项目、它支持作为中央角色连接到外设、作为外设角色连接到3个智能手机。 在压力测试期间、我连接一个外设和一台智能手机、每分钟我都会调用 GAP_TerminateLinkReq 界面来断开所有连接、之后它们将自动重新连接。

    1、当发挥中心作用时、这是主动断开外设。 GAP_LINK_TERMIND_EVENT 事件在此时间之后大约300ms 接收到。

    2、现在需要扮演中心角色并主动断开手机连接。 在这段时间后大约6000ms 会接收到 GAP_LINK_TERMINED_EVENT 事件。

    3、手机断开连接2秒、然后成功重新连接、但这次不触发 GAP_LINK_REQUITED_EVENT 事件。

    e2e.ti.com/.../8836.test.rar

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

    您好!

    感谢您的咨询并提供日志。 您是否能够使用 SDK 示例在只需极少修改的情况下重现此问题? 看来是这样的、但我想确认一下。 如果是这样、那么您可以在最新的 SDK (7.40.00.77)上尝试重现该文件吗?

    此致、

    1月

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

    您好!

    与移动电话连接需要大量与身份验证相关的逻辑、并且移植工程的工作量很高。 我希望能够在发生这种异常时对其进行检测、然后进行复位。 当我添加日志打印时、我发现在发生此问题时、linkDB_NumActive 接口返回0、并且 llDataGetConnPtr 和 linkDB_State 接口也返回无效状态、因此我无法识别异常、是否有其他方法可以检测它、并且我可以在日志中添加验证。

    译文:DeepL.com (免费版)

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

    您好!

    我懂了。 iOS 和 Android 都能实现这一点吗?

    此致、

    1月

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

    您好!

    只有 IOS 存在此问题

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

    您好!

    明白了。 我还有几个问题、我希望这些问题可以向我们指出正确的方向。

    1.您是否使用自定义的 iOS 应用程序来执行连接/断开连接? 如果是、那么、如果在尝试重新连接之前添加延迟、会发生什么情况?

    2.中央设备是否在断开连接后使用新扫描的广告进行扫描?

    3.外围设备是否始终广播?

    此致、

    1月

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

    您好!

    使用自定义 iOS 应用程序。 断开 IO 后、增加延迟并等待 CC2642超时、然后再重新连接、而不会出现任何问题。

    1. 您是否使用自定义 iOS 应用程序来执行连接/断开连接? 如果是、那么、如果在尝试重新连接之前添加延迟、会发生什么情况?

    2. 中央设备在断开连接后是否执行扫描、然后使用新扫描的广播进行连接?

    3. 外围设备是否始终在广播?

    我已移植了最新的 SDK (simplelink_cc13xx_cc26xx_sdk_7_40:00_77)、但在测试过程中仍会出现此问题。

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

    您好!

    感谢您提供所需信息并对最新 SDK 进行测试。 我提交了一个请求单、由 R&D 为其解决 同时、我想尝试找到一种解决方法。 您是否可以尝试将监测超时降低到较小的值、以查看这是否绕过了您所看到的行为?

    此致、

    1月

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

    您好!

    我注意到、有时该应用仅在2秒内连接、因此不能将超时设置得过短。 由于该应用是第三方通用应用、因此目前不支持修改其功能。

    我目前需要尽快找到避免此问题的策略、它可能会重置或任何其他方法、主要是为了避免此问题。

    我想在 LL_ConnectionCompleteCallback 函数中针对此问题添加一些日志检测、但在将 hci_event.c 文件添加到工程后、编译期间重复的函数定义会出现许多问题。 是否有解决此问题的方法?

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

    您好!

    应该可以将 hci_event.c 文件添加到您的项目中并根据需要更改函数。 但是、您可能需要在工程属性中删除链接到 SDK 中原始文件的包含路径。 您能否验证它们不存在并且可以编译项目?

    此致、

    1月

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

    您好!

    我正在使用 IAR 环境、该文件应在 ble_r2.symbols 中定义。 ble_r2.symbols 与库类似吗?

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

    您好!

    抱歉、您以为 hci_event.c 文件包含您需要修改的函数、 如果函数位于符号文件中、我认为这些函数是随 SDK 一起预编译提供的。

    我正在调查此行为是否与 SDK 中已解决的已知问题有关: https://sir.ext.ti.com/jira/browse/EXT_EP-10326

    是否可以将最大连接数设置为1并尝试重现该行为?

    此致、

    1月

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

    您好!

    配置最多一个要连接的设备后、未发生此问题。

    您能否将最大连接数设置为1并尝试重现该行为?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    明白了。 我认为此问题可能与我之前链接的 TT 有关。 我已经和研发人员分享了这些信息、希望在未来几天得到回复。 同时、我希望我们尝试找到一种解决方法。 如果中央设备在发生该行为后在 CC2642R 上执行 GATT 写入或读取、会出现什么情况? CC2642R 是否会收到任何 GATT 回调或应用消息?

    此致、

    1月

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

    您好!

     出现此问题时、手机无法成功检测到服务、因此无法发送数据。

    我还在同一部手机上发现了以下问题:

    1.第一个连接成功、使用连接句柄0触发 GAP_LINK_ENVERSED_EVENT。
    2. CC2642主动请求断开连接。
    3.电话收到连接请求,立即断开连接,然后重新扫描设备,然后再启动连接。
    4. CC2642可能不会收到手机的响应、也不会立即断开连接;它只会触发步骤6中的 GAP_LINK_TERMINED_EVENT。
    5、第二次连接成功、连接句柄为1时触发 GAP_LINK_ESTABED_EVENT、MAC 地址与句柄0相同。
    6.第一个连接断开,以连接句柄0触发 gap_link_termined_event。

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

    您好!

    明白了、我会将此附加信息添加到研发请求单中、看看它是否有帮助。 如果未成功检测到服务、这是否会立即触发断开连接?

    此致、

    1月

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

    您好!

    立即断开

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

    大家好、Wengrli、

    我正在研究如何重现此问题、并尝试在使用 IOS 与 Android 时发现监听器日志之间的差异。 如果你可以帮助我提供日志屏幕截图,显示 IOS 和 Android 行为的差异,这将是有帮助的,以及我知道你正在运行一个服装应用程序。 尽管如此、我们已经和研发团队一起对该问题有了重要的见解、明天我将尽力为您提供后续步骤的最新信息。

    BR、

    David。

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

    您好!

    请问是否有任何更新?

    我通过第三方应用程序打印了日志、当问题发生时、我将其进行了比较、发现我无法订阅通知。 这是 Android 手机的日志。

    e2e.ti.com/.../ble_5F00_log_2800_1_2900_.rar

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

    你好、Wagnelli、

    那么这也是可从 Android 重现的,而不仅仅是 IOS 正确? 我假设在外设上运行的软件的第一次成功日志和第二次(有问题的)日志正确无误?

    在两种情况下、我们能否确保仍然启用了来自中心的通知? 我们需要在移动应用程序端验证这一点。

    BR、

    David。