0

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

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

我在 USB 文档上阅读了 SET_CONFIGURATION 消息,但找不到任何 Linux 工具可以将此类标准 USB 消息从用户空间发送到 USB 总线。

你们中的一些人(在这个主题上有更多经验)知道一些用户空间 Linux 工具来向连接到 USB 总线的设备发送 SET_CONFIGURATION 消息吗?

提前致谢!:)

4

2 回答 2

1

LibUSBlibusb_set_configuration()中的功能理论上可以做到,但没有必要。

可以使用“接口关联描述符”(IAD )简单地将 HID(用于按钮)和 CDC(串行端口)放入一个配置中。

于 2018-09-06T14:09:41.803 回答
0

这个 github repo 解决了我的问题:

https://github.com/avtolstoy/usbtool
于 2018-09-24T11:10:14.113 回答