我有一个 U9 Telit 调制解调器,起初它显示为 USB 总线上的磁盘驱动器。然后,本机软件在自动运行和安装后,发送几个 IOCTL 来告诉设备重新出现为其他东西。我可以在 procmon 中看到它们。
我想更好地监视这些,确切地知道它们发送了什么以及如何发送,以便以适当的方式做同样的事情。
尝试类似 Systemtap。附加一个从内核转储所有 ioctl 和参数的探针,通过它们 grep。
你可以在 linux 下使用类似 strace 的东西。此处讨论 Windows 等效项 Systrace for Windows。这可能会向您显示发送的 ioctl 命令。
一些公司提供其设备的 linux 内核,可从其官方网页直接下载。在那里您可能会找到有关其工作原理的更多信息。对于某些设备,构建和部署自己的内核很容易。这有助于您添加自定义调试输出。