我正在使用运行Linux内核3.14.18的i.Mx6 Sabre Lite主板,主板应该充当USB设备(USB小工具) . 需要将一个Vendor特定接口添加到CDC / NCM配置中 . 默认情况下,CDC / NCM配置有两个标准接口 - 通信和数据 . 我在CDC / NCM配置中添加了第三个接口(特定于供应商) . 此接口有两个Bulk(IN和OUT) endpoints . 一旦使用“lsusb”将电路板连接到PC,我就可以验证这个新添加的接口 .
问题:
-
我看不到新添加的界面暴露在i.Mx主板或PC上的用户空间,就像标准的NCM接口可以看作i.Mx主板上以及PC上的usb0(以太网设备)而我可以PING到/从董事会使用usb0 .
-
如果我必须将这个新添加的接口与某些g_“driver”连接起来(就像标准NCM接口挂钩到g_ether一样);那么BULK I / O的最佳选择是什么?
-
如何使这个新添加的供应商特定接口可用于i.MX6用户空间,以便从Linux应用程序读取/写入?我开始了解GadgetFS;但任何一个例子都是
希望有人必须在Linux-USB中尝试类似的东西并且可以指导 .
1 回答
特定于供应商的接口不使用标准协议,因此无法使用其中一个标准驱动程序 . (并且批量不是协议,它是实现自己的协议的机制 . )
要访问这样的接口,您必须使用libusb之类的低级函数 .