工具/软件:Linux
您好!
目标:AM571X IDK
问题描述:
我想在器件模式下配置 AM571X idk 平台 USB2端口。 是否有人可以建议在设备模式下配置 USB2端口所要遵循的步骤?
谢谢、
Kishore
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
您好!
目标:AM571X IDK
问题描述:
我想在器件模式下配置 AM571X idk 平台 USB2端口。 是否有人可以建议在设备模式下配置 USB2端口所要遵循的步骤?
谢谢、
Kishore
Yordan、您好!
从链接中提供的步骤中、我可以选择配置。 我没有获取我的配置文件、而是采用了默认配置文件"tisdk_am57xx-EVM-rt_defconfig"、因为它具有在器件模式下运行 USB 端口2、端口1所需的所有配置。
无法在设备模式下将 USB 端口1显示为 Linux 主机 PC 的存储设备、以下是所执行的步骤。
对于在器件模式下使用 USB1、USB2端口、遵循以下步骤。
1)内核配置文件为"tisdk_am57xx-EVM-RT_defconfig"。
2) 2)通过在"am571x-idk-common.dtsi"文件中设置"dr_mode"创建了 am571x-idk.dtb、如下所示。
USB1{(&S)
DR_MODE ="外设";
};
USB2{
DR_MODE ="外设";
};
3)我已使用新构建的内核映像 am571x-idk.dTB 文件进行引导,并进行了上述更改。
4) 4)为了测试 USB 端口1的 USB 器件模式功能、我尝试将 AM571X -IDK 平台显示为具有备用器件 SDcard 的大容量存储(Partition0:boot、Partition1:root)。
命令:modprobe g_mass 存储文件=/dev/mmcblk0p2
我已将 USB 电缆从 AM571X-idk 平台的 USB 端口1连接到主机 PC。 但是从主机 PC 中、没有连接大容量存储设备、在主机 PC 的 dmesg 中找不到消息。
附加了 AM571X-idk platform.e2e.ti.com/.../2625.cutecom_5F00_log1.txt 上的 lsmod 输出、dmesg 输出
是否缺少任何模块加载以将 am571x 显示为主机 PC 的 USB 存储设备?
提前感谢。
谢谢、
Kishore
Yordan、您好!
感谢您的支持。
在下面的设置中、USB2端口通过命令"modprobe g_mass _storage file=/dev/mmcblk0p2 "在器件模式下运行。
USB1{(&S)
DR_MODE ="主机";
};
USB2{
DR_MODE ="外设";
};
与最后注释中提供的 cutecom 日志不同、当前引导的电路板 lsmod 在"xhci_plat_hcd 5083 0" xHCI 控制器 driver.e2e.ti.com/.../5001.cutecomlog2.txt 上有所不同
谢谢、
Kishore
[引用 user="Siva Naga Kishore Kampili"]是否还需要加载 xCHI 控制器驱动程序?
DTS 配置 USB1 dr_mode = host、因此需要 xhci 驱动程序作为主机运行。
[引用 user="Siva Naga Kishore Kampili"]如果我在设备模式下配置了 USB1、USB2控制器,并且我想通过 USB1控制器将 SD 卡 mmcblk0p2导出为后备存储,我可以在 g_mass 存储中指定控制器编号?
我的第一个问题是您在定制板或 TI AM571x-IDK EVM 上执行此操作? IDK EVM 的 USB1端口设计为仅主机模式、因此您无法让内核使其在器件模式下工作。
您好、Bin Liu、
- 是否还需要加载 xCHI 控制器驱动程序?
DTS 配置 USB1 dr_mode = host、因此需要 xhci 驱动程序作为主机运行。
是的、我同意 AM571X idk 平台将 USB1端口固定为主机。 我错误地更改了 DTS 文件中的 USB1、USB2 dr_mode ="外设"、并使用 g_mass 存储命令将 USB2端口作为器件连接到主机 PC。 因此、在 AM571X idk 平台上、在器件模式下的 USB1端口应该存在问题、但在将 USB2作为器件连接到主机 PC 时、如果将 xHCI 驱动程序加载到正确的位置、应该不会出现问题?
- 如果我在设备模式下配置了 USB1、USB2控制器,并且我想通过 USB1控制器将 SD 卡 mmcblk0p2导出为后备存储,在这里我可以在 g_mass 存储中指定控制器编号?
我的第一个问题是您在定制板或 TI AM571x-IDK EVM 上执行此操作? IDK EVM 的 USB1端口设计为仅主机模式、因此您无法让内核使其在器件模式下工作。
是的、我使用的是 TI AM571X IDK 平台。 我提出这个问题是为了以后的目的,以确认只为特定设备控制器加载了大容量存储小工具驱动程序。
[引用用户="Siva Naga Kishore Kampili"]
我错误地更改了 DTS 文件中的 USB1、USB2 dr_mode ="外设"、并使用 g_mass 存储命令将 USB2端口作为器件连接到主机 PC。 因此、在 AM571X idk 平台上、器件模式下的 USB1端口应该存在问题、但将 USB2作为器件连接到主机 PC 时、如果将 xHCI 驱动程序加载到右侧、则不应该出现问题?
我从未尝试为仅主机端口设置 dr_mode =外设、因为它无效、 但我相信您看到的 USB2问题是由于这个原因、现在您有两个 UDC 控制器、在使用 modprobe 加载小工具驱动程序时无法指定要使用的 UDC、 但小工具驱动程序绑定到系统找到的第一个小工具驱动程序、我想在您的情况下它是 USB1、因此 USB2没有与关联的小工具驱动程序。 这就是为什么您看到 USB2在器件模式下不工作的原因。
要验证此推测、请检查/sys/class/udc 下每个 UDC 的 uevent 条目内容、以查看哪个 UDC 具有小工具驱动程序。
[引用 user="Siva Naga Kishore Kampili">是的、我使用的是 TI AM571X idk 平台。 我提出这个问题是为了以后的目的,以确认只为特定设备控制器加载了大容量存储小工具驱动程序。
我在上面的评论是否对其进行了解释? 如果您有多个 UDC 并且希望使用特定的 UDC、而不是 modprobe、则可以使用 USB 小工具 configfs 来定义小工具、然后可以指定小工具驱动程序绑定到哪个 UDC。