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.

[参考译文] CC2745R10-Q1:关于 SDK9.10 中的 GAP_UpdateLinkParamReq ()

Guru**** 2538950 points
Other Parts Discussed in Thread: CC2745R10-Q1

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1548997/cc2745r10-q1-about-gap_updatelinkparamreq-in-sdk9-10

器件型号:CC2745R10-Q1


工具/软件:

您好、

螺纹继续低于:

(+) CC2745R10-Q1:关于 GAP_UpdateLinkParamREQ ()- Bluetooth 论坛 — BluetoothRegistered︎ — TI E2E 支持论坛

在 SDK 9.10 环境(simplelink_lowpower_f3_SDK_9_10_00_83)中检查操作后、问题一直存在、返回了 0x1A。

但是、从另一个设备连接时、GAP_UpdateLinkParamReq () 返回成功 (0)。

从特定器件连接时、似乎仅返回 0x1A。

我想再问一次。

您知道为什么返回 0x1A 吗?

这是 SDK 中的错误吗?

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

    您好:

    只是为了确保我理解正确、有些器件能够通过 API 更新其链接参数、但其他器件则不然?

    您是否考虑提供可同时捕获故障和成功设备的 Airtrace? 我在气道中寻找的是,当第一次建立连接时,通常会进行特征交换。 功能交换可能会让人明白为什么它在某些情况下会起作用、以及为什么在其他情况下不起作用。 此外、您要连接的设备是什么? 是手机吗?

    此致、

    Nima Behmanesh

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

    您好、

    当 GAP_UpdateLinkParamReq () 返回 0x1A 和 0 时、我获取了空气迹线。

    导出的 csv 文件如下所示:

    GAP_UpdateLinkParamReq () 返回 0x1A。 它是从 Vector VH4110 连接的。

    →GULPRQ_Ret1A_Con_from_VH4110.csv

    GAP_UpdateLinkParamReq () 返回 0。 这是使用“NRF Connect“应用程序从 OPP 智能手机连接的。

    →GULPRQ_Ret00_Con_from_SmartPhone.csv

    这对您有帮助吗?

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

    您好:

    我将查看这些日志、并在星期二上回复您。

    此致、

    Nima Behmanesh

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

    你好、Nakamura-San、  

    请提供成功和失败案例的监听器日志、而不是 csv 文件。  

     此外、您尝试更新的连接参数是什么? 此外、如果您连接到智能手机、我假设 CC2745R10 器件是外设?  

    我怀疑 VH4110 不支持从 CC2745R10 发送到 VH4110 的参数。 返回的值表示远程器件接收到不受支持的特性、在这种情况下将指示连接参数更新的参数。 您是否知道 VH4110 不支持的任何连接参数?  

    有关特定的返回代码、请参阅 BLE 规范的第 1 卷、F 部分、第 2.26 节。  

    谢谢、
    Isaac

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

    您好、

    我们将在稍后从我们的代表发送监听器日志。

    我使用的远程设备是 VH4110 和智能手机 BLE 加密狗。
    故障日志:我们使用了 VH4110。
    成功日志:我们使用了智能手机和 BLE 加密狗。

    >您尝试更新的连接参数是什么?
    我正在尝试更新 GAP_UpdateLinkParamReq () 的以下参数。
    .intervalMin = 24
    .intervalMax = 48
    .connLatency = 0
    .connTimeout = 100
    .signalIdentifier = 0

    >此外、如果您连接智能手机、我假设 CC2745R10 设备是外围设备?
    CC2745R10 器件是外设。

    >我怀疑 VH4110 不支持从 CC2745R10 发送到 VH4110 的参数。
    >返回的值表示远程设备接收到不受支持的功能、在这种情况下、将指示连接参数更新的参数。
    >是否知道 VH4110 不支持的任何连接参数?
    因此、这意味着 VH4110 无法支持接收 LLCP 从连接参数请求、对吧?
    如果没有、VH4110 应支持哪些功能?

    此致、
    Yukine

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

    您好 Okita-San、  

    我不是说 VH4110 不支持 LLCP 从连接参数请求。 0x1A 错误表示远程器件的链路层不支持来自外设的 LLCP 数据包的功能或参数(BLE 规范的第 1 卷、F 部分、第 2.26 节)。  

    因此、我怀疑 LLCP 连接参数更新中的参数都不受这两个器件的支持。 您能否说明中央器件还是外设发出了此错误代码? 您能否确认看到 0x1A 的控制数据包?  

    请提供监听器日志、因为日志将有助于理解问题。  

    谢谢、
    Isaac

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

    您好、

    在 CC2745 上执行参数更新 (* 1) 时、CC2745 需要从外部设备(例如 VH4110)获取哪些参数?
    请提供必要的参数以及正确的参数值和范围。

    *1. GAP_UpdateLinkParamReq () 中参数结构成员的值将使用以下参数进行更新:
    .intervalMin = 24
    .intervalMax = 48
    .connLatency = 0
    .connTimeout = 100
    .signalIdentifier = 0

    此致、
    Yukine

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

    Okita-San、  

    从 CC2745R10-Q1 的角度来看、提供的参数有效。 我无法说明 VH4110 侧的哪些参数/LL 控制数据包有效、因为我不使用测试仪。 ellisys 日志将非常有助于缩小导致错误的参数范围。  

    请提供 ellisys 日志。  

    谢谢、
    Isaac

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

    尊敬的日本 TI 技术销售部门 Sakashita 先生:
    该信息已在 8/25 (星期一) 上分发给您。

    请在您方便的时候继续获取。

    此致、
    Yukine

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

    您好 Okita-San、  

    在查看 ellisys 日志后、我了解发生了什么。 在三个监听器日志的功能交换中、您可以看到 BLE 加密狗和智能手机支持  连接参数请求程序 。 请注意、在 VH4110 和 CC2745R10-Q1 之间的功能交换中、您可以看到  连接参数请求程序  不在功能集内。  

    本节指示“ 如果外设链路层由于主机启动的连接更新过程而发出 LL_CONNECTION_PARAM_REQ PDU、并且中央不支持该过程、则应通知主机、表明连接更新过程已完成、并将 ErrorCode 设置为 Unsupported Remote Feature (0x1A)“(VoL 6、B 部分、第 5.1.7.1 节)。  

    原因  连接参数请求程序  不在功能集中、VH4110 不支持 GAP 启动的连接参数请求。 因此、CC2745R10-Q1 堆栈将启动 L2CAP 连接参数更新(第 3 卷 A 部分第 4.20 节)。  

    现在、浏览完日志后、我对您为所有器件发送外设连接参数更新的位置感到困惑。 对于 VH4110 日志、我看不到来自中央或外设的任何连接参数更新。 在智能手机中、我只看到中央连接参数更新。 对于 BLE 加密狗、我也看不到任何连接参数更新。 这些日志捕获的时间是否正确?  

    即使看到 0x1A 返回代码、也应从外设发送 L2CAP 连接参数更新、如果与 BLE 兼容、VH4110 将支持该更新。  

    运行此测试时、您是否看到任何 L2CAP 连接参数无线更新? 如果发送了外设连接参数更新、并返回 0x1A、我们应该会在 ellisys 日志中看到 L2CAP 连接参数更新。  

    此外、 在与 VH4110 连接时、您是否可以尝试只调用 L2CAP_ConnParamUpdateReq () 而不是 GAP_UpdateLinkParam ()?  

    请告诉我这是否有效、感谢您的耐心。  

    谢谢、

    Isaac

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

    您好、

    >这些日志捕获是否在正确的时间捕获?  
    是的。

    > 如果发送了外设连接参数更新、并返回 0x1A、我们应该会在 ellisys 日志中看到 L2CAP 连接参数更新。  
    这是否属于 GAP_UpdateLinkParamReq () API 规范、即“如果失败、堆栈将自动尝试 L2CAP 参数更新请求“?

    此致、
    Yukine

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

    您好 Okita-San、  

    我能够在我这边重现这个问题。 如果出现以下情况、堆栈不会发送 L2CAP 连接参数更新  连接参数请求程序 在中央侧禁用。 此外、我发现此问题已被报告。 仅当本地设备不支持 GAP 连接参数更新时、修复才完成。 此修复程序已添加到最新的 SDK 版本 (v9.11.01.19) 中。  

    我正在与我们的研发团队合作、以便在远程器件不支持 GAP 连接参数更新时解决这个问题、但一段时间内这个问题不会发布。 我会推荐两个选项:  

    1.使用 VH4110 时、请始终使用 L2CAP 连接参数更新。 函数在上面链接 (L2CAP_ConnParamUpdateReq ())。  

    2.在您的代码中添加一个支票。 如果 GAP_UpdateLinkParamReq() 没有返回成功、则使用 L2CAP_ConnParamUpdateReq()。  

    请告诉我这是否适合您。  

    谢谢、

    Isaac

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

    您好、

    GAP_UpdateLinkParamReq ()

    在 SDK 9.10 中、对于以下返回值、将出现行为“如果此操作失败、堆栈将自动尝试 L2CAP 参数更新请求。“ 触发?
    ・INVALIDPARAMETER
    μ・bleIncorrectMode
    ・bleAlreadyInRequestedMode
    ・bleNotConnected


    此致、
    Yukine

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

    您好 Okita-San、  

    是的、理解。 如果远程设备不支持 GAP 连接参数更新、则当前该函数存在问题、因为未发送 L2CAP 连接参数更新。 R&D 正在着手解决问题、但我没有解决问题的时间表。  

    请使用上述提供的权变措施之一。  

    第三个选项是查看是否  连接参数请求程序  该位在远程功能交换中启用。 如果是、则使用 GAP_UpdateLinkParamREQ、如果不是、则使用 L2CAP_ConnParamUpdateREQ。  

    谢谢、
    Isaac