我已经为USB设备开发了一个内核驱动程序。这样的设备有一些引脚,可以提供CDC ACM串行端口或输入按钮的功能。所以为了实现这一点,我必须使用两个不同的USB配置描述符。
驱动程序按预期工作,但在编译固件并将其加载到微控制器之前,我必须对所选的设置进行硬编码。我正在搜索一种机制来从用户空间更改设备配置。
我在USB文档中读到了一个SET\ u配置消息,但是找不到任何Linux工具将这种标准USB消息从userspace发送到USB总线。
提前谢谢!:)
函数 libusb_set_configuration() 在里面 LibUSB
libusb_set_configuration()
只需将HID(按钮)和CDC(串行端口)放入 使用“接口关联描述符”进行配置( IAD ).
这个github repo解决了我的问题:
https://github.com/avtolstoy/usbtool