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.

[参考译文] WL1831:无法连接到 WH-1000XM3耳机

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1037431/wl1831-unable-to-connect-to-wh-1000xm3-headset

器件型号:WL1831

我们使用 TI (WiLink8 WL1831)控制器尝试连接到 Sony WH-1000XM3耳机。

但是、当尝试协商 BT 音频连接参数时、控制器拒绝建立连接。 这两个器件不能同意 WESCO 参数、即 TI 控制器坚持 要求0x02、但耳机坚持 要求0x00。 其他设备能够无问题地连接到耳机。

我们的产品运行的是 BlueZ 堆栈5.48、Linux 内核3.19和 Murata LBEP5CLWTC-631。

请找到附件、获取 显示连接尝试的空气监听器日志。

如果您需要更多信息、请让我访问 know.e2e.ti.com/.../sonyWH1000XMSConnectionIssue.zip

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

    您好、Jeremy、

    我很快会回来讨论这个问题。

    谢谢、
    Jacob

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

    您好、Jacob、

    感谢您的回复。 我想知道您是否有任何更新?

    此致、
    Jeremy

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

    您好、Jeremy、

    我查看了您的监听器文件、感谢您提供这些文件。 您能不能将我指向您看到 TI 控制器的0x02和耳机的0x00 WeSCO 参数的位置? 我很难找到这种交换。

    此致、
    Jacob

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

    您好、Jacob、

    感谢您的回复。 请参阅下面显示 WESCO 参数协商序列的屏幕截图和跟踪本身的屏幕截图(数据包8318至8372)。

    此致、

    Jeremy

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

    您好、Jeremy、

    感谢您的更新。 我明天将在这里提供一些信息。

    谢谢、
    Jacob

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

    您好、Jeremy、

    为了给您更好的回应、我需要跟进另一位团队成员。 请在下周二之前提供见解。

    谢谢、
    Jacob

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

    您好、Jeremy、

    当我尝试打开您的.CFA 时、我无法在 LMP 选项卡中看到数据包8、318 - 8、372:

    我可以在基带选项卡中看到它们、但那里不存在协商参数:

    您能否验证您是否能够从发送给我的文件中查看这些数据包? 此外、您能否提供 您提到的协商序列中的 no_accepted_ext 数据包的图片? 我想查看与协商相关的错误代码:

    如果我正确理解了您的表、eSCO 集偶尔会在 WL1831上从 S3更改为 S1?

    谢谢、
    Jacob

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

    您好、Jacob、

    感谢您的留言。 我认为问题是您需要输入链接密钥、以便分析仪解码 LMP 数据包(有关原始 zip 文件中的链接密钥、请参阅"resw27200 link key.txt")。

    如果选择“View->Security”查看安全窗口,请将链接密钥粘贴到安全窗口中,然后单击“Analyze”(分析)。 然后、查看器将重新传递日志、并应正确解码 LMP 数据包。

    值得一提的是、我们的 eSCO 协商序列来自我们的 BlueZ Linux 堆栈中编码的参数集值:
    a/net/bluetooth/hci_conn.c
    ++ b/net/bluetooth/hci_conn.c
    @@-39、6 + 39、8 @@ structsco_param{
    };

    静态常量结构 SCO_param ESCO_param_CVSD[]={
    +{EDR_ESCO_MASK &~ESCO_2EV3| ESCO_EV3、
    + 0xFFFF、0x01 }、//可容限:EV3或2EV3*/
    {EDR_ESCO_MASK &~ESCO_2EV3、0x000A、0x01}、/* S3 */
    {EDR_ESCO_MASK &~ESCO_2EV3、0x0007、0x01}、/* S2 */
    {EDR_ESCO_MASK | ESCO_EV3、0x0007、0x01}、// S1 *

    其中:
    struct sco_param{
    U16 pkt_type;
    U16 max_latency;
    U8转接力;
    };

    注意:我们在这里为标准实施添加了一个额外的条目、以便对 EV3/2EV3器件具有更大的耐受性、但在进行这些更改和不进行这些更改的情况下测试了 Sony 耳机。 要汇总我们主机的请求序列、请参阅以下 HCI 日志片段中的"设置同步连接"请求:

    < HCI Command: Setup Synchronous.. (0x01|0x0028) plen 17  #139 [hci0] 51.006369
            Handle: 1
            Transmit bandwidth: 8000
            Receive bandwidth: 8000
            Max latency: 10
            Setting: 0x0060
              Input Coding: Linear
              Input Data Format: 2's complement
              Input Sample Size: 16-bit
              # of bits padding at MSB: 0
              Air Coding Format: CVSD
            Retransmission effort: Optimize for power consumption (0x01)
            Packet type: 0x0380
              3-EV3 may not be used
              2-EV5 may not be used
              3-EV5 may not be used
    > HCI Event: Command Status (0x0f) plen 4                 #140 [hci0] 51.012190
          Setup Synchronous Connection (0x01|0x0028) ncmd 1
            Status: Success (0x00)
    > HCI Event: Synchronous Connect Complete (0x2c) plen 17  #141 [hci0] 51.027346
            Status: SCO Interval Rejected (0x1c)
            Handle: 257
            Address: 94:DB:56:6F:04:34 (OUI 94-DB-56)
            Link type: eSCO (0x02)
            Transmission interval: 0x00
            Retransmission window: 0x00
            RX packet length: 0
            TX packet length: 0
            Air mode: CVSD (0x02)
    < HCI Command: Setup Synchronous.. (0x01|0x0028) plen 17  #142 [hci0] 51.027679
            Handle: 1
            Transmit bandwidth: 8000
            Receive bandwidth: 8000
            Max latency: 7
            Setting: 0x0060
              Input Coding: Linear
              Input Data Format: 2's complement
              Input Sample Size: 16-bit
              # of bits padding at MSB: 0
              Air Coding Format: CVSD
            Retransmission effort: Optimize for power consumption (0x01)
            Packet type: 0x0380
              3-EV3 may not be used
              2-EV5 may not be used
              3-EV5 may not be used
    > HCI Event: Command Status (0x0f) plen 4                 #143 [hci0] 51.031656
          Setup Synchronous Connection (0x01|0x0028) ncmd 1
            Status: Success (0x00)
    > HCI Event: Synchronous Connect Complete (0x2c) plen 17  #144 [hci0] 51.052218
            Status: SCO Interval Rejected (0x1c)
            Handle: 257
            Address: 94:DB:56:6F:04:34 (OUI 94-DB-56)
            Link type: eSCO (0x02)
            Transmission interval: 0x00
            Retransmission window: 0x00
            RX packet length: 0
            TX packet length: 0
            Air mode: CVSD (0x02)
    < HCI Command: Setup Synchronous.. (0x01|0x0028) plen 17  #145 [hci0] 51.075987
            Handle: 1
            Transmit bandwidth: 8000
            Receive bandwidth: 8000
            Max latency: 7
            Setting: 0x0060
              Input Coding: Linear
              Input Data Format: 2's complement
              Input Sample Size: 16-bit
              # of bits padding at MSB: 0
              Air Coding Format: CVSD
            Retransmission effort: Optimize for power consumption (0x01)
            Packet type: 0x03c8
              EV3 may be used
              2-EV3 may not be used
              3-EV3 may not be used
              2-EV5 may not be used
              3-EV5 may not be used
    > HCI Event: Command Status (0x0f) plen 4                 #146 [hci0] 51.079876
          Setup Synchronous Connection (0x01|0x0028) ncmd 1
            Status: Success (0x00)
    > HCI Event: Synchronous Connect Complete (0x2c) plen 17  #147 [hci0] 51.099465
            Status: SCO Interval Rejected (0x1c)
            Handle: 257
            Address: 94:DB:56:6F:04:34 (OUI 94-DB-56)
            Link type: eSCO (0x02)
            Transmission interval: 0x00
            Retransmission window: 0x00
            RX packet length: 0
            TX packet length: 0
            Air mode: CVSD (0x02)
    < HCI Command: Setup Synchronous.. (0x01|0x0028) plen 17  #148 [hci0] 51.099791
            Handle: 1
            Transmit bandwidth: 8000
            Receive bandwidth: 8000
            Max latency: 65535
            Setting: 0x0060
              Input Coding: Linear
              Input Data Format: 2's complement
              Input Sample Size: 16-bit
              # of bits padding at MSB: 0
              Air Coding Format: CVSD
            Retransmission effort: Optimize for power consumption (0x01)
            Packet type: 0x03c4
              HV3 may be used
              2-EV3 may not be used
              3-EV3 may not be used
              2-EV5 may not be used
              3-EV5 may not be used
    > HCI Event: Command Status (0x0f) plen 4                 #149 [hci0] 51.104368
          Setup Synchronous Connection (0x01|0x0028) ncmd 1
            Status: Success (0x00)
    > HCI Event: Synchronous Connect Complete (0x2c) plen 17  #150 [hci0] 51.106716
            Status: Command Disallowed (0x0c)
            Handle: 1
            Address: 94:DB:56:6F:04:34 (OUI 94-DB-56)
            Link type: SCO (0x00)
            Transmission interval: 0x00
            Retransmission window: 0x00
            RX packet length: 0
            TX packet length: 0
            Air mode: u-law log (0x00)

    此致

    Jeremy

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

    感谢 Jeremy、

    我将在下周进行介绍。

    谢谢、
    Jacob

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

    您好、Jeremy、

    很抱歉耽误你的时间、我将在周一在这里跟进。

    最棒的
    Jacob

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

    您好、Jeremy、

    很抱歉耽误你的时间。 我将在本周为您提供更多信息。

    谢谢、

    Jacob

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

    您好、Jeremy、

    感谢您的耐心等待。 现在我可以查看 eSCO_link_req、我看到每次尝试 eSCO 连接时 、连接都不被接受。 正如您在日志中看到的、这是由于延迟违规或不受支持的参数造成的。

    看起来初始协商会尝试使用2-EV3。 如果您将耳机限制为仅支持此数据包类型、会发生什么情况?  

    相关主题 可能对您有用。

    谢谢、
    Jacob  

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

    您好、Jacob、

    感谢你的答复。

    当您说"将耳机限制为仅支持2-EV3"时、您大概是指"限制您的主机"? 很明显、我们使用的是第三方耳机、但无法从设备端控制这种情况。

    我很高兴按照建议收集日志、并应能在本周晚些时候回复您。 我唯一的保留是这可能会产生什么影响? 我们在连接期间发出的前6个请求都是2-EV3数据包类型、因此我想知道此测试是否只会导致现有日志中的一部分尝试? 但很高兴探索这条大道。

    此致、

    Jeremy

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

    您好、Jeremy、

    在您尝试该测试之前、我将联系另一位团队成员、看看我们是否可以尝试任何其他测试。 如果没有其他测试、我们可以尝试将连接协商限制为仅2-EV3。

    谢谢、
    Jacob

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

    您好、Jeremy、

    您是否可以像以前一样获取监听器日志、但使用成功连接 到 Sony WH-1000XM3耳机的控制器? 我认为 WebSCO 和 Tesco 参数需要匹配、但我想了解成功连接是否需要其他参数。

    谢谢、
    Jacob

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

    您好、Jacob、

    请参阅以下内容、了解连接 Sony 耳机的 Ubuntu 笔记本电脑的片段(如果您需要更多详细信息、我可以提供完整日志)。

    这与我们控制器监听器日志中的数据包8318和8321使用相同的参数、接受连接在这种情况下、在下面的屏幕截图中的数据包7816中显然是接受的。

    如果您有任何其他问题、请告诉我。


    Jeremy

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

    您好、Jeremy、

    从您提供的图片中、Desco、Tesco 和 WeSCO 似乎不需要匹配即可成功连接。 您是否还可以提供屏幕截图数据包7、816或日志?

    谢谢、
    Jacob

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

    您好、Jacob、

    当然、 请参阅下面 的数据包7816。 我很难将另 一个 zip 文件重新连接到该线程。

    Jeremy

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

    您好、Jeremy、

    非常抱歉、您需要更多屏幕截图、但您是否还可以包括数据包7、812和7、815的屏幕截图? 我认为最大插槽请求可能会提供成功连接。  

    谢谢、
    Jacob

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

    您好、Jacob、

    没问题、数据包按照下面的屏幕截图显示。  

    为了提供更多的上下文、我 在 此处上传了日志副本:https://insync.druva.com/home/link/browser?ll=AAAENQAej34AAEaJN4BNFCYoq2xwiZ1rWmZmzJghR6M%3D。 您可以使用密码"c^vqpLygd8mj"访问日志。 链接将在几天后过期、但如果您有任何问题、请告知我。  

    在整个会话期间、LMP max_slot_req 请求似乎重复了几次、但似乎被拒绝并显示为"保留插槽违规"。

    Jeremy

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

    感谢 Jeremy、我将查看日志、并尽快返回给您。 奇怪 的是、我没有看到中央设备和外设之间参数(WeSCO、Tesco、Desco、Max Slots 等)匹配的数据包。 我仍在期待成功协商参数的位置。

    谢谢、
    Jacob

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

    您好、Jeremy、

    很抱歉耽误你的时间,我仍在为你寻找答案。 在查看您之前的日志时、我参考了蓝牙 v5.3核心规范。 在一些情况 下、可以生成与 eSCO 逻辑传输相关的 LMP_NOT _ACCEPTED _ext。  

    从第4.6.2.5节中:

    我可以通过这些规则(2、3、4、7和8)来确定问题所在。

    谢谢、
    Jacob

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

    您好、Jeremy、

    经过进一步审查、我认为根本问题是延迟违反、导致 LMP_NOT _ACCEPTED _EXT。 我建议使用 HCI_VS_Write_SCO_Configuration 来增加 TX 最大缓冲区延迟:

    您还可以尝试使用 HCI_VS_READ_SCO_Configuration 命令读取当前的 SCO 配置以了解最大延迟:

    谢谢、
    Jacob

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

    您好、Jacob、

    只是一个快速状态更新、我想在接下来的几天内使用我们的耳机尝试一下。 我下周初会回来。  作为参考、使用 HCO_VS_READ_SCO_Configuration 时、我们的默认配置如下:

    < HCI 命令:ogf 0x3f、ocf 0x0211、PLEN 0

    >HCI 事件:0x0E PLEN 16.

     01 11 FE 00 B4 04 D0 02 01 00 B4 04 D0 02 01

    ==>

     01   = HCI 命令数据包

     11 FE =命令 HCI_VS_READ_SCO_Configuration (0xFE11)

     00   =状态(命令成功)(有效范围00 -> 255)

     00   =通道0连接类型(编解码器连接)(有效范围0 -> 1)

     B4   =通道0 TX 缓冲区大小(180) (有效范围1->255)

     04   =通道0缓冲器数量(04) (有效范围0->255)

     D0 02 =通道0 TX 缓冲器最大延迟(720)(1->720)

     01   =通道0接受具有错误 CRC 的数据包(接受具有错误 CRC 的数据包) 0x00->0x01)

     00   =通道1连接类型(编解码器连接)(有效范围0 -> 1)

     B4   =通道1 TX 缓冲区大小(180) (有效范围1->255)

     04   =通道1缓冲器数量(04) (有效范围0->255)

     D0 02 =通道1 TX 缓冲器最大延迟(720)(1->720)

     01   =通道1接受具有错误 CRC 的数据包(接受具有错误 CRC 的数据包) 0x00->0x01)

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

    您好、Jeremy、

    感谢您的观看。 我认为、了解此处的最大延迟对于耳机和 WiLink 之间的连接尝试而言是最重要的。

    谢谢、
    Jacob

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

    您好、Jacob、

    抱歉回复很慢。 上周我进行了一些进一步测试、请提出一些问题、因为我无法解决不同最大延迟值的问题。

    1. 在上面的 HCI_VS_Write_SCO_Configuration 屏幕截图中、这些值是否已知可用于 Sony 耳机? (我收集的 TI 可能有相同的耳机来帮助调试问题)。
    2. 0xFE10 HCI_VS_Write_SCO_Configuration 命令中的"TX 缓冲区最大延迟"与标准0x0028 HCI_Setup_Synchronous 连接中的"MAX_Latency"参数是否相同? 我们始终调用 HCI_Setup_Synchronous_Connection 来建立连接、我想知道这是否会使用 HCI_VS_Write_SCO_Configuration 覆盖以前的任何设置。

      作为实验、我在 HCI_Setup_Synchronous 连接中尝试了不同的 Max_Latency 值 、但最终得到以下结果:


    3. 我注意到、查看 HCI_VS_Write_SCO_Configuration 文档、只有在禁用流控制的情况下才会应用"TX 缓冲区最大延迟"? 这是延迟测量没有效果的原因吗?

    感谢您的帮助和支持、

    Jeremy

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

    您好、Jeremy、

    1.我不确定您需要指定的确切参数,以确保连接至 Sony 耳机。 TI 确实可以在远程站点上使用此耳机。  

    HCI_SETUP_Synchroned_Connection  可能会覆盖 HCI_VS_Write_SCO_Configuration 中指定的延迟值。 您是否曾尝试先调用一条命令、然后再调用另一条命令? 可能 需要在 HCI_SETUP_Synchroned_Connection 之后调用 HCI_VS_Write_SCO_Configuration 以正确设置最大延迟。

    3.您能否指定如何配置通过 UART 的 WiLink? 您是使用具有流控制功能的4线 UART (H4协议)还是使用3线 UART (H5协议)?

    谢谢、
    Jacob