2

我正在使用运行 Linux Kernel 3.14.18 的 i.Mx6 Sabre Lite 板,并且板应该充当 USB 设备(USB 小工具)。需要将一个供应商特定接口添加到 CDC/NCM 配置中。CDC/NCM 配置默认有两个标准接口——通信和数据。我在 CDC/NCM 配置中添加了第三个接口(特定于供应商)。该接口有两个 Bulk (IN & OUT) Endpoints。一旦板使用“lsusb”连接到 PC,我就可以验证这个新添加的接口。

问题:

  1. 我看不到新添加的接口暴露在 i.Mx Board 或 PC 上的用户空间,就像标准 NCM 接口可以看作是 i.Mx Board 和 PC 上的 usb0(以太网设备),我可以 PING 到/从板使用usb0。

  2. 如果我必须将这个新添加的接口与一些 g_“驱动程序”连接起来(就像标准 NCM 接口连接到 g_ether);那么 BULK I/O 的最佳选择是什么?

  3. 如何使这个新添加的供应商特定接口可用于 i.MX6 用户空间,以便从 Linux 应用程序对其进行读/写?我开始了解 GadgetFS;但任何例子都是

希望有人在Linux-USB中尝试过类似的事情并可以指导。

4

1 回答 1

2

特定于供应商的接口不使用标准协议,因此无法使用标准驱动程序之一。(而且 bulk 不是协议,它是一种实现你自己协议的机制。)

要访问这样的接口,您必须使用libusb之类的低级函数。

于 2016-05-31T10:42:08.100 回答