检测 USB 设备插入/删除,如何实现?
我想捕获 USB 设备 insert/remove 后相应的系统消息,判断是否有设备插入/移除,如何实现呢?
网上搜了一下大概与 udev 有关,但是具体调用什么函数?有相关的实例最好,谢谢了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想捕获 USB 设备 insert/remove 后相应的系统消息,判断是否有设备插入/移除,如何实现呢?
网上搜了一下大概与 udev 有关,但是具体调用什么函数?有相关的实例最好,谢谢了。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
这个应该是和hotplug相关的,你可以看一下热插拔相关的知识及其实现
是不是通过调用驱动程序的probe函数,可以查看相关的驱动例子
热插拔通常来说是这样的,但是硬件电路必须有相应的支持,当检测到一个设备插上或者删除后,内核会采取相应的措施。
LDD3上好像没有详细将hotplub机制,我也对这方面挺感兴趣的。
热插拔涉及到的知识还是比较多的,呵呵,值得花时间去研究一下
原来是内核向用户空间会发送NETLINK类的消息,在用户空间用个NETLINK的socket接收就能捕捉到了。
谢谢大家。
嵌入式的话一般还是需要硬件上支持的
呵呵,你这个是内核通知用户空间的机制吧,关于底层硬件如何捕捉到,以及捕捉到后怎样加载驱动这个过程还是挺复杂的哦
udev机制