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/AM3352:将两个 USB 端口用作串行小工具器件

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/624260/linux-am3352-using-both-the-usb-ports-as-serial-gadgets-devices

器件型号:AM3352

工具/软件:Linux

您好!

我使用的是基于 AM3352的电路板、我希望使用两个 USB 端口、这两个端口都是串行小工具器件。 我已在 DTS 文件中将这两个端口设置为"外设"设备、并启用了 USB 小工具支持。 当我尝试 modprobe g_serial 时、我只获得/dev/ttyGS0文件、我认为它适用于 USB0。 要获取 USB1的/dev/ttyGS1、我还需要做什么其他事情吗? 此外、我是否可以将其中一个端口设置为"OTG"模式并仍将其用作串行小工具?

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

    是否在插入串行驱动程序时尝试使用 n_ports。 例如:modeprobe g_serial n_ports=2
    默认值为1。

    是的、设置为 OTG 应该可以、如果您在连接正确的 Type-B (器件的正确 ID 引脚)电缆时已经小心了、它将充当串行小工具驱动程序。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Dwarakesh、

    使用 n_ports=2会为我提供 ttyGS1文件。 这将是 USB1的文件、对吧? 该端口当前正在使用板上的 OTG 连接器、因此我需要获得正确类型的电缆来测试它。

    是否还有其他事情要做才能使其正常工作? 我能否直接打开"/dev/ttyGS0/1文件、使用"termios"设置 UART 配置、然后使用读写功能进行通信?

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

    尊敬的 ICON Thomas:
    "是否还有其他事情要做才能使其正常工作? "
    我没有亲自尝试过。 请您尝试配置 termios 并告诉我。  一旦 OTG 连接器就绪、您将有兴趣了解这两个端口是如何与主机枚举的。 lsusb -v 您可以在 Linux 计算机中尝试检查如何枚举它们。

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

    您好 Dwarakesh、

    对迟迟不答复表示歉意。

    遗憾的是"n_ports"不能按预期工作。

    当我仅使用 modprobe g_serial 时生成 ttyGS0文件、并且能够在 PC 上使用此文件进行通信。 但是、当我使用 modprobe g_serial n_ports=2时、  同时生成 ttyGS0和 ttyGS1、但两个文件上的通信都失败。 简而言之、如果我不使用 n_ports=2、则至少 ttyGS0按预期工作。 我无法准确地确定错误所在

    此致

    ISON Thomas

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

    如何在 PC 中枚举端口? 您能否在 Linux 计算机中尝试 lsusb -v 并进行检查?