我正在使用嵌入式平台。此设备中的典型软件是Linux 2.6 + Busybox,因此资源有限。
每次连接USB设备时,我都需要运行用户空间应用程序。我需要将DeviceID和ProductID作为参数传递给此用户空间应用程序。
我真的不知道应该遵循哪种策略来实现这一目标:
哪一个应该是最好的方式?
感谢您的回答!
答案 0 :(得分:1)
如果您想留在用户空间,则可以使用libudev
。
您有一个示例here。您可以从中提取产品ID和设备ID。
答案 1 :(得分:0)
即使像@aisbaa这样的其他选项提到,修改内核也很有趣且具有挑战性。我建议你修改USB驱动程序。原因是,您需要将参数发送到用户空间应用程序(产品ID,设备ID)。
这些ID将在驱动程序中获得。所以用这些ID调用用户空间应用程序是我的选择。
对于调用用户空间应用程序,可以使用here。
答案 2 :(得分:0)
据我所知,内核中有一个USB热插拔机制。 当发生热插拔事件时,可以通知用户。不幸的是,我对细节不是很熟悉。
也许linux-3.3.5/samples/kobject/kset-example.c
会给你一些想法。