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.
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1446052/am625-about-usb
器件型号:AM625工具与软件:
你(们)好
我最近发现在10.0版中有针对 USB 的优化、我想询问是否有针对 SDK 8.6的优化。 因为在调试 USB 2.0时、我发现 Windows 上的 USB 3.0经常出现通信问题。 Windows 将显示消息(CMPROCB_FAILED-POSTSART)。
LCPD-29873 AM62x:主机未检测 USB 小工具
您好、郝
我在互联网上找不到 CMPROCB_FAILED-POSTSART 的任何信息。
[quote userid="590132" url="~/support/processors-group/processors/f/processors-forum/1446052/am625-about-usb 因为在调试 USB 2.0时、我发现 Windows 上的 USB 3.0经常出现通讯问题。 [报价]请提供 AM625 USB 使用案例的详细信息。 您使用的 SDK 版本是什么? AM625上加载了什么 USB 小工具? USB 问题是否在枚举或枚举后发生?
抱歉有关 RNDIS 的问题。 我使用的 AM62-SK、sdk8.6和10都存在此问题。 感觉 dwc3层有问题、因为 RNDIS 应该发送的0x80000004是 RNDIS_msg_parser 函数接收的、导致错误。 在测试 Windows 计算机时、USB2.0不会在插入 USB 3.0时出现此问题、但通过集线器插入 USB 3.0时没有问题。
计算机日志
e2e.ti.com/.../usb_5F00_log.txte2e.ti.com/.../usb_5F00_hub_5F00_log.txt
您好、郝
您的意思是、当将 AM62x USB 端口连接到 PC USB2.0端口时、不会发生问题;但如果连接到 PC USB3.0端口、会发生问题?
我没有 Windows PC 可供测试、但内核消息基本上意味着 AM62x 上的 USB 驱动程序不理解收到的 RNDIS 消息。
您可以先尝试在内核 menuconfig 中的以太网小工具中禁用"RNDIS 支持"、以查看问题是否仍然发生?
你(们)好
虽然这是一个与 RNDIS 有关的问题、但我真的很感谢您的帮助。
您的意思是将 AM62x USB 端口连接到 PC USB2.0端口时、不会发生该问题吗?但如果连接到 PC USB3.0端口、会发生该问题?
是的、这种现象仅在 USB 直接连接到带有 USB3.0或更高版本的计算机时发生。
我没有可供测试的 Windows PC、但内核消息基本上意味着 AM62x 上的 USB 驱动程序不了解收到的 RNDIS 消息。
我检查了 RNDIS.c 驱动程序文件、发现解析开关时驱动程序没有此定义。 根据 RNDIS、此0x800000004消息应从 Linux 发送到 PC、不应出现在 Linux 一方。 我对 RNDIS 应该发送的消息为什么出现在 RNDIS 接收中感到困惑。 dwc3层是否有问题? 当出现图片中的问题时、请检查 USB 状态是否处于挂起状态
您能先尝试在 kernel menuconfig 中的以太网 Gadget 中禁用"RNDIS 支持"以查看问题是否仍然发生吗?
我来试一下、通过 RNDIS 发现了问题、不知道是否有方法在不经过 RNDIS 的情况下测试 USB2.0和 USB3.0。
您好、郝
我对 RNDIS 应该发送的消息为何出现在 RNDIS 接收中感到困惑。 dwc3层是否有问题? 出现图片中的问题时、请检查 USB 状态是否处于挂起状态
消息0x800004似乎位于接收的 USB 数据中。 RNDIS_msg_parser()函数是一个 USB 传输完成调用、调用该调用是为了检查接收到的 USB 包。
我试一下、我通过 RNDIS 发现了这个问题、我不知道是否有办法在不经过 RNDIS 的情况下测试枚举问题 USB2.0和 USB3.0。
是的、请使用小工具驱动程序中删除的 RNDIS 功能进行测试、以查看问题是否仍然发生。
你(们)好
我使用 g_serial 进行测试、没有发现 USB 3.0接口存在此问题。 当使用 g_ether 的 RNDIS 时、仅在直接连接到 USB 3.0设备时发生。
您好、郝
感谢您的更新。
您将在项目中使用哪个 USB 小工具功能?
[报价 userid="7730" url="~/support/processors-group/processors/f/processors-forum/1446052/am625-about-usb/5547589 #5547589"]您可以先尝试在内核 menuconfig 中的以太网小工具中禁用"RNDIS 支持"、以查看问题是否仍然发生?
如果您要使用 g_ether、您是否已按照此说明重新编译 g_ether 驱动程序、并删除了 RNDIS 支持、以查看问题是否仍然发生?
你(们)好
我尝试禁用 RNDIS 并找到 PC 端的以太网 Gadget 设备。 我需要在 PC 端编写类似 RNDIS 的驱动程序来识别以太网小工具吗?
第一张图片显示了在启动期间偶尔发生的现象、但在几次重新启动后恢复正常。
您好、郝
感谢您的测试。 如果没有 RNDIS 小工具功能、Windows 可能无法识别 g_ether。
请运行另一个测试-在您禁用"RNDIS 支持"的内核 menuconfig 中、您能否启用下一个选项"以太网仿真模型(EEM)支持"来查看 Windows 是否可以枚举 g_ether?
如果此测试也失败、您能否在 AM62x 上使用 g_NCM、而不是 g_ether? 根据下面链接的讨论, Windows 11似乎更适合支持 NCM。
https://www.reddit.com/r/embedded/comments/aeqxbl/which_usbethernet_standard_should_i_implement/
你(们)好
非常感谢您的帮助。 测试后、可以使用 modprobe G.NCM 实现该功能。 非常感谢您的支持。 Win10的较低版本没有 NCM 驱动程序,它已被移交给同事尝试和解决。
我在安装时偶尔会遇到图中所示的问题、在发生电源故障并重新启动后将不会出现错误。
您好、郝
测试后、可使用 modprobe G.NCM 实现该功能。
很高兴听到 g_NCM 能很好地与 Windows 一起工作。
我在安装时偶尔会遇到图中所示的问题、并且在发生电源故障并重新启动后不会出现错误。
您能否通过 SDK10.0内核进行测试、看看此问题是否仍然存在? 我看到 dwc3驱动程序自 SDK8.6内核以来有很多变化。
我看到 dwc3驱动程序自 SDK8.6内核以来发生了许多变化。
除了升级 SDK 之外、是否有任何补丁可以实现这些更改。 由于工程已确定 SDK 8.6、升级到10可能需要修改交叉编译器。