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-DRA7X:EVM 板(PSDK 3.02) USB 器件模式不工作

Guru**** 2577385 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/595753/linux-processor-sdk-dra7x-evm-board-psdk-3-02-usb-device-mode-is-not-working

器件型号:PROCESSOR-SDK-DRA7X

工具/软件:Linux

您好!

我发布了定制板的 USB 器件模式问题。 (" https://e2e.ti.com/support/embedded/linux/f/354/t/594377")

我找不到根本原因。

因此、我测试了 EVM 板的 USB 器件模式(VAYU EVM XC577X)。

目标映像基于处理器 SDK 3.02。 (无修改)

首先、我更改了器件树文件上的"dr_mod"设置。

&USB1{dr_mode ="OTG";};

->&USB1{dr_mode ="外设";};

应用新设备树文件后,我执行了下一条命令。

root@dra7xx-EVM:~# mount -t debugfs debugfs /mnt

root@dra7xx-EVM:~# cat /mnt/48890000.usb/mode

器件

root@dra7xx-EVM:~# modprobe g_multifile=/dev/mmcblk0p1
[315.099163] 使用随机自以太网地址
[315.103797] 使用随机主机以太网地址
[315.108697] 使用随机自以太网地址
[315.113252] 使用随机主机以太网地址
[315.120585] usb0:主机 MAC 32:D5:dd:2a:ee:E1
[315.125550] usb0:Mac 12:2f:f0:91:7a:A9
[315.143142] 大容量存储功能,版本:2009/09/11
[315.149836] LUN:可移动文件:(无介质)
[315.154512] IPv6:ADDRCONF (NETDEV_UP):USB0:链路未就绪
[315.161572(2004) LUN:文件:/dev/mmcblk0p1
[315.165530] LUN 数量=1
[315.169156] g_multigadget:多功能复合小工具
[315.183144] g_multigadget:userspace 无法提供 iSerialNumber
[315.191476] g_multigadget:g_multi-ready

但 连接的主机 Linux PC 上没有外部 USB 存储。

如果有任何帮助,将不胜感激。

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

    您好、JeHun、

    [引用 USER="JeHun Kim]Target 图像基于 Processor SDK 3.02。 (无修改)[/引用]

    您是否使用 Processor SDK Linux Automotive 3.02.00.03 (内核4.4.4.5随附)?

    您是否查看了以下 wiki 页面?

    processors.wiki.ti.com/.../Linux_Core_DWC3_User's_Guide

    另请注意、我们已在外设模式下使用 USB1通过 DFU 进行刷写、另请查看以下链接:

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否使用 Processor SDK Linux Automotive 3.02.00.03 (内核4.4.4.5随附)?
    >是的。 (processors.wiki.ti.com/.../Processor_SDK_Linux_Automotive_Software_Developers_Guide)

    您是否查看了以下 wiki 页面?
    >是的。 我已检查 Processor SDK Linux DWC3 wiki 页面和所有内核配置设置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    JeHun、

    默认情况下、USB1配置为双角色模式。 您能否为我提供设置以在设备/外设/小工具模式下配置它?

    此致、

    帕维尔

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

    我在上面已经提到过这一点。
    我更改了器件树文件上的"dr_mode"设置。
    &USB1{dr_mode ="外设";};

    是否有要检查的配置?

    谢谢你。

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

    您使用的是哪种电缆? 在小工具模式下、应使用具有微型插头的标准 USB 电缆。

    根据我的理解、您在大容量存储模式(也可以是以太网和串行)下使用 g_multi(多功能复合小工具)。 如果是这样、您是否可以首先使用 g_mass 存储器进行测试?

    processors.wiki.ti.com/.../Linux_Core_DWC3_User's_Guide

    您的主机、Linux、Windows 是什么?

    另请参阅以下指针是否将在帮助中:

    Linux-kernel/Documentation/use/gadget_multi.txt
    Linux-kernel/Documentation/use/mass-storage.txt

    kwantam.gitHub.io/BBKNotes1.html

    e2e.ti.com/.../1577098

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

    您好、Pavel、

    您使用的是哪种电缆? 在小工具模式下、应使用具有微型插头的标准 USB 电缆。

    左侧连接器连接到 VAYU EVM 板、另一个连接器连接到 Linux 主机 PC

    您是否可以首先使用 g_mass 存储进行测试?

    我没有提到这一点、但实际上我还对其进行了测试、以执行"modprobe g_mass 存储文件=/dev/mmcblk0p1和"modprobe g_ete"

    您的主机、Linux、Windows 是什么?

    我的主机 PC 操作系统是基于 Ubuntu 16.04的 Linux。

    此 PC 与 glsdk 7.04相同的 EVM 板一起工作。 (仅修改设备树 dr_mode 值。)

    此致、

    JeHun Kim

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

    JeHun、

    [引用 user="JeHun Kim"]我没有提到这一点,但实际上我也对它进行了测试,以执行"modprobe g_mass 存储文件=/dev/mmcblk0p1和"modprobe g_ete"[/quot]

    在 GLSDK 7.04和 PSDKLA 3.02中、G_MUS_STORAGE 是否适合您?

    [引用 USER="JeHun Kim ]This PC 与 glsdk 7.04中的 EVM 板协同工作。 (仅修改设备树 dr_mode 值。)[/quot]

    您是说在 GLSDK 7.04中 g_multie 适合您吗? 您在 GLSDK 7.04中进行了哪些修改(如果有)、使 g_multiTM 正常工作?

    此致、
    帕维尔

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

    您好、Pavel、

    1. Pavel:g_mass 存储在 GLSDK 7.04和 PSDKLA 3.02中是否适合您?

    G_MUST_STORAGE 在 GLSDK 7.04中工作正常。
    基于 GLSDK 7.04的 EVM 板 USB1器件模式工作正常。 (G_MULTI、g_MUS_STORAGE 和 g_乙 醚)
    USB1器件模式不只在 PSDK 3.02中工作。 (G_MULTI、g_MUS_STORAGE 和 g_ethere 不工作)

    2. Pavel:您在 GLSDK 7.04中进行了哪些修改(如果有),使 g_multi.

    我只对器件树文件进行了一次修改。
    &USB1{dr_mode ="外设";};

    此致、
    JeHun Kim

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

    [引用 user="JeHun Kim"]首先,我更改了设备树文件上的"dr_mod"设置。

    PSDK 3.02 dra7-evm.dts、dra7.dtsi 和 dra74x.dtsi 中包含 dr_mode。 请检查所有这3个文件。

    [~用户="JeHun Kim"] root@dra7xx-evm:# cat /mnt/48890000.usb/mode

    您有/mnt/48890000-dwc3/mode 条目吗? 如果是、您可以尝试"#cat /mnt/48890000-dwc3/mode 吗?

    在 modprobe g_multi/或 g_mass 存储之前、尝试使用 libcomposy.ko

    # insmod /lib/modules/4.4-xxx/kernel/drivers/usb/gadget/libcomposite.ko