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.

[参考译文] Linux:am33xx、musb、cppi41数据包丢失?

Guru**** 2577385 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/629553/linux-am33xx-musb-cppi41-packet-loss

工具/软件:Linux

在 AM33xx 上、我使用 cppi41通过 MUSB 主机使用蓝牙适配器。

我正在使用 USB 适配器执行一些蓝牙音频。 它使用 RFCOMM 和 SCO (前者使用批量传输、后者使用等时传输)、在等时传输停止后、我在批量传输中丢失了一个数据包。

这种情况似乎发生在接收到等时数据包期间、甚至在接收到之后、我可以从蓝牙适配器接收到静止数据、但似乎没有发生第一次发送、即使我看到 TX 已完成。 我的意思是、我期望适配器作出我未看到的响应。 我想适配器没有收到消息。 我还尝试了不同的适配器来排除。

我有一个非常简单的代码、可以以1/3的速率重现此问题。

我注意到、如果我没有建立音频连接、就不会丢失数据包。

此器件上的内核是带有 lkml.org/.../1167的4.9内核

这是已知问题吗?

任何建议都将受到欢迎、谢谢、

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

    您是否使用 AM335x TI 电路板(EVM、SK、BBB)或它是定制电路板?

    您是否使用 AM335x TI PSDK v4?

    software-dl.ti.com/.../index_FDS.html

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

    1.您使用的软件包是 TI 提供的吗?
    2.您是否已确保 MUSB 修补程序(主要类似于链接中提到的 ZLP) 在您的代码中已安装:processors.wiki.ti.com/.../Sitara_Linux_MUSB_Issues?
    3.您是否能够抓住 USB 分析仪并检查数据是否实际输出? 预期要发送的数据大小是多少?
    4.请访问 arago-project.org/.../
    arago-project.org/.../
    arago-project.org/.../

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

    您好、Pavel、

    感谢您的回答。

    我们使用从 Beagle Bone Black 派生的定制板。

    关于内核、我认为这不是 TI SDK、我们有4.9.30的补丁。

    此致、
    Fred

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

    1) 1)我认为我们不使用 TI 封装。
    3) 3)不幸的是、我目前没有 USB 监听器。 我想知道作为代理的 Beagle Bone 是否可以可靠地实现这一点吗?
    2 - 4)我将仔细检查每一项
    感谢您的反馈。

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

    您可以下载 TI SDK 并使用其内核进行快速试用。 BeagleBone 作为代理很难使用、但如果可能、您可以尝试使用。 您希望它是如何作为代理的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Pavel 和 Dwarakesh、

    我安装了带有 BeagleBone Black 的 SDK、并重现了问题。 bbb 内核为4.4.9.ti-r25。

    关于我们的内核、我被告知它与您的内核"非常相似"、但不相等。

    此致、

    Fred

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

    我有更多有用的信息:

     我使用的适配器(我们称之为 a0) 集成了一个集线器。 我意识到使用不使用集成集线器(A1)的适配器根本不会出现此问题。

    如果适配器 A1插入外部集线器、则问题开始出现。

    我尝试降低到全速而不是高速、但它没有帮助。

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

    Fred、

    [引述 user5131608]I 已安装了带有 BeagleBone Black 的 SDK、并再现了该问题。 bbb 内核为4.4.9.ti-r25。[/quot]

    您安装了哪个 SDK? 您是否尝试过 AM335x PSDK 4.01 (内核4.9.41)?

    software-dl.ti.com/.../index_FDS.html

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

    Pavel、

    这是安装在我的计算机上的 SDK:TI-PROCESSOR-SDK-LINUX-AM335x-EVM-04.01.00.06
    我使用 create-sdcard.sh 创建了 sdcard、然后使用 apt 更新/升级。

    它似乎不包含您提到的内核、我如何对其进行测试?

    此致、

    Fred

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

    是否可以提供完整的控制台启动日志?

    ti-processor-sdk-linux-am335x-evm-04.01.00.06-Linux-x86-Install.bin

    TI-PROCESSOR-SDK-LINUX-AM335x-EVM-04.01.00.06/board-support/linux-4.9.41+gitAUTOINC+e3a80a1c5c-ge3a80a1c5c

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

    Ha Pavel、

    谢谢,我刚刚意识到设备实际上是从 eMMC 引导的!

    让我重试

    此致、

    Fred

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

    快速更新:

    它现在启动了正确的内核、但内核(4.9.41)不包含 btusb 模块。

    我重建了它、正在加载、但现在 python3缺少蓝牙支持、这是我用于实施测试的语言。 我现在正在获取 python 来构建。

    此致、

    弗雷德里克