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/processor-SDK-AM335X:USB BABBLE 问题

Guru**** 2537250 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/810547/linux-processor-sdk-am335x-usb-babble-issue

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:AM3352

工具/软件:Linux

您好!

我们有一个自定义电路板、其中 AM3352运行内核4.9、并在 MUSB 驱动程序初始化期间运行到 BABBLE 状态。 使用我们在这里放置的特定闪存驱动器很容易重现此问题。 重现错误的步骤:

  1. 将闪存驱动器插入 USB 端口;
  2. 打开电源或移除并重新插入 musb_dsp (modprobe -r musb_dsp;modprobe musb_dsp);

然后内核输出以下消息:

[7.582171] USB 1-1:USB 断开连接、器件编号2
[7.857761] USB 1-1:新的高速 USB 器件编号3使用 musb-hdrc
[8.007396]集线器1-1:1.0:找到 USB 集线器
[8.018063]集线器1-1:1.0:检测到4个端口
[8.157908] USB busb-hdr1
:musb-hdrc.0.auto: 使用 musb-hdrc [8.713997]
USB 1-1:USB 断开连接、器件编号3
[8.981754] USB 1-1:使用 musb-hdrc
[9.127157] hub 1-1:1.0:找到 USB 集线器
[9.133984] hub 1-hdrc
1:4c musb-hdrc.0.auto:端口重置高速 USB 器编号3 BABBLE
[9.577751] USB 1-1:使用 MUSB hdrc [9.834020]重置高速 USB 器件编号4
:USB 1-1:USB 断开连接、器件编号4
[10.101755] USB 1-1:使用 MUSB hdrc
[10.251032]集线器1:
USB 集线器1:10.261.0] USB 集线器[10.2003] 4个检测到的端口
[10.401913] musb-hdrc musb-hdrc.0.auto: Babble
[10.705753] USB 1-1:使用 musb-hdrc [10.957992]重置高速 USB 器件编号5
USB 1-1:USB 断开连接、器件编号5
[11.225749] USB 1-1:使用 musb-hdrc
1的新高速 USB 器件编号6:11.37dr1 [11.1005] 找到 USB 集线器
[11.382058]集线器1-1:1.0:检测到4个端口
[11.522113] musb-hdrc musb-hdrc.0.auto: Babble
[11.825752] USB 1-1:使用 musb-hdrc 重置高速 USB 器件编号6
[12.082016] USB 1-1:USB 断开连接、器件编号6
[12.349758] USB 1-1: 使用 musb-hdrc
[12.495010] hub 1-1:1.0:找到 USB hub
[12.501990] hub 1-1:1.0:检测到4个端口
[12.649938] musb-hdrc musb-hdrc.0.auto: Babble
[12.953757] USB 1-1:使用 USB-dr1重置高速 USB 器件编号7
:13.991] USB 断开连接、器件编号7
[13.477749] USB 1-1:使用 Babb-hdrc
[13.623022]集线器1:1.0的新型高速 USB 器件编号8:找到 USB 集线器
[ 13.634002]集线器1:1.0:检测到4个端口
[13.766528] musb_stage0_IRQ 595:us host_bogble](
13.766517] vrble_rb[13.7717] musb-hdrc.0.auto: 

之后、系统无法识别插入 USB 端口的任何内容。 卸载和加载 musb_dsp 模块似乎可以修复检测问题、但如果将该闪存驱动器插入端口、我们将会运行到相同的情况。

一些额外信息:

  • 问题仅发生在该闪存驱动器上。 我们使用的 USB 以太网转换器几乎始终保持插电状态、它从未出现任何问题;
  • 如果我们尝试同时插入闪存驱动器和 USB 以太网转换器(插入同一 USB 集线器的不同端口)、问题就不会发生;

当我们仍在调查此问题的硬件方面时、有一点让我感到奇怪: 尝试从 BABBLE 恢复几次后、驱动程序会发出"假主机恢复"消息、然后进入一种状态、它只保持轮询 devctl (始终读取19)、并且不检测总线中的任何活动。 驾驶员是否应该一直尝试从 Babble 中恢复、直到它消失?

我认为这是硬件问题的影响、但驾驶员只是停止检测任何总线活动的这种行为会使我感到很受指责。

此致、

吉列尔梅

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

    您好、Guilherme、

    请发布原理图的 USB 部分。

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

    您好、DK!

     

    原理图如下:

     


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

    DK、

    为了补充 Adriano 的帖子、我们在 USB0上使用集线器控制器。 连接到集线器控制器的是3G 调制解调器(Cinterion EHS6、以 CELL_USBH1为基准)和2端口 USB 集线器。

    此致、

    吉列尔梅

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

    谢谢。

    那么、我很清楚...当您将特定的拇指驱动器连接到连接到 USB0的下行集线器端口之一时、会出现此问题?

    仅此一个拇指驱动器出现问题、没有其他设备?

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

    到目前为止似乎是这样。 我们担心这会掩盖我们的设计存在的一个更大问题、否则我们无法重现、可能会导致我们在道路上遇到麻烦。

    我们目前正在设置一个测试环境、以便何时可以看到 D+和 D-信号发生了什么情况。

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

    很难将此问题与拓扑中的集线器隔离。

    请向 USB0_VBUS 添加一些电容。 该规范要求>=120uF。 这也适用于集线器的下行端口、因此如果没有、也可以将其添加到此处。

    此外、USB0_VBUS 和集线器 VBUS_DET 的去耦可能会有问题。 有多个 USB 总线时序项目围绕着 VBUS 的存在(或不存在)。 在您的情况下、集线器不知道 USB0_VBUS 的真实状态。

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

    您好、DK、

    这个120 μ F 电容的值、它将被放置在 USB1_VBUS 上、不是吗? 我已经检查了 USB 2.0技术规格、建议下游端口使用该电容值。 无论如何、我已经使用此修改测试了我的器件、但错误仍然存在。

    我发现的是、Babble Message 似乎与高速协商过程中的一些错误有关。 重新插入 MUSB 集线器后、USB 集线器启动握手、但该记忆棒不指示所需的线性调频脉冲 K:

    CH1 = USB0_VBUS;CH2 = D+(下游); CH2 = D-(下游)

    在此握手期间是否会出现 Babble 指示? 它不仅与禁止的(微)帧之后的 USB 流量有关?

    此致、

    亚得里亚诺

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

    您好、Adriano、

    是的、USB1。 很抱歉。

    是的、握手中的错误可能会被视为 Babble。 您可以通过在 DTS 中将主机限制为 USB 全速运行来测试此假设。 这将完全消除 CHIRP 序列。

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

    您好!

    对此进行了任何更新?

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

    DK、

    我们目前正在处理另一个问题,但我认为,我们应该在本周结束前获得最新情况。

    谢谢、

    吉列尔梅

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

    好的、我现在要关闭它。

    如果需要、您可以再次在此处发布以重新打开问题。