Linux 工具,用于向连接到 USB 总线的设备发送 SET_CONFIGURATION 消息

Linux tool to send a SET_CONFIGURATION message to a device connected to the USB bus

我开发了一个USB设备的内核驱动程序。这样的设备有一些引脚可以提供 CDC ACM 串行端口或输入按钮的功能。所以要实现我必须使用两个不同的 USB 配置描述符。

驱动程序按预期工作,但在编译固件并将其加载到微控制器之前,我必须对所选设置进行硬编码。我正在寻找一种机制来从用户空间更改该设备配置。

我读到关于 USB 文档的 SET_CONFIGURATION 消息,但找不到任何 Linux 工具来将此类标准 USB 消息从用户空间发送到 USB 总线。

你们中的一些人(对此主题有更多经验)是否知道一些用户空间 Linux 工具可以向连接到 USB 总线的设备发送 SET_CONFIGURATION 消息?

提前致谢! :)

LibUSB中的函数libusb_set_configuration()理论上可以做到,但没有必要。

可以使用 "Interface association descriptor" (IAD) 将 HID(用于按钮)和 CDC(串行端口)简单地放入 一个 配置中。

这个 github 存储库解决了我的问题:

https://github.com/avtolstoy/usbtool