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/AM3359:自定义板不会枚举为串行小工具

Guru**** 2543780 points
Other Parts Discussed in Thread: AM3358, AM3359

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/600544/linux-am3359-custom-board-will-not-enumerate-as-serial-gadget

器件型号:AM3359
主题中讨论的其他器件:AM3358

工具/软件:Linux

我正在使用基于 BeagleBone Black (BBB)的定制板;但是、定制板具有 AM3359处理器、而不是 BBB 上的 AM3358。 USB OTG 接口作为主机的串行小工具进行枚举时出现问题。 我按以下顺序加载内核模块:musb_am335xg_serial

当我使用 BBB 执行此操作时、BBB 将在 Windows 主机和 Linux 主机上枚举为串行小工具。 当我使用定制板执行此操作时、Windows 和 Linux 都无法识别该器件。  当我从定制板查看'dmesg'的输出时、我会看到以下消息:"g_serial gadget:suspend"

当这些器件连接时、侦听 USB 会显示 BBB 的有效产品和供应商 ID、但当连接自定义电路板时显示为零。 这些主板运行相同的软件:MLO、U-Boot、内核、设备树、根文件系统(我正在通过 TFTP/NFS 引导)。

如果您有任何关于如何解决此问题的建议、我们将不胜感激。

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

    尊敬的用户4544632:

    AM3358和 AM3359器件之间的 USB 模块相同。

    在我看来、这似乎是硬件问题。 AM3358 BBB 和 AM3359定制板在 USB 方面是否存在任何硬件设计差异?

    此致、
    帕维尔

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

    我知道的差异:

    • 我们的定制板上的 USB 1未连接任何设备。 我已在设备树源中禁用此功能。
      • USB1是 BBB 中的主机接口
    • USB0的 ID 信号在我们的定制板上浮动。
      • BBB 上 USB0的 ID 引脚连接到 USB PC 连接器(mini USB)
    • PCB 布局

    此外、就在最近、我们在几块电路板上交换了 AM3359和 AM3358、但问题仍然存在。 正如您所说的、Pavel 两个器件之间的 USB 模块是相同的。 此外、正如您所说的、我所阅读的其他所有内容也都指向硬件问题。 我是软件人员、因此我想获得一些额外的确认。

    那么、由于我们在这里只讨论四(4)根导线、那么问题可能出在哪呢?

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

    [引用 user454462"]因此,由于我们在这里只讨论四条(4)线,问题出在哪里?

    是的、在数千页的 USB 规范和控制器手册中、4根导线后面定义了许多协议、因此任何错误都会导致问题。

    首先、在加载 g 串行小工具驱动程序时、只需运行  

    # modprobe g_serial

    如果您必须执行任何额外操作、则无法正确构建或安装内核映像/模块。

    请查看 e2e 线程 https://e2e.ti.com/support/embedded/linux/f/354/t/601618、查看我调试此类 USB 问题的说明。

    另请将原理图的 USB 部分发布以供查看。

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

    嗯、我们的硬件团队发现 连接到连接器的 D+和 D-信号不正确。 不确定这些信号是交换的还是未连接到正确的引脚。 无论采用哪种方式、我想它都归结为这四(4)条简单的线。 我们的定制板会作为串行小工具器件进行正确枚举。

    感谢大家的支持和指导。

    PS:我在原始帖子中提到我正在加载内核模块 musb_AM335x g_serial。 这对于我最初使用的 Timesys Linux 发行版是必需的。 TI Linux SDK 会自动 加载 MUSB AM335x、因此无需手动加载。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴您解决了这个问题。 感谢您的更新。