如何检测usb设备是否连接以及它的用途?

发布于 2022-10-15 06:38:21 字数 551 浏览 22 评论 0

本帖最后由 把握今天 于 2011-05-18 18:32 编辑

现在需要在一个终端设备上扩展usb接口的功能
目前至少需要有存储和usb网卡的功能,将来还有可能继续扩展

我想咨询一下,
在应用程序或者系统上如何获知当前usb上是否插着usb设备?
如果插着设备,这个设备是存储功能的U盘还是usb网卡呢?

我能想到的有两种方法,一种是轮训,也就是定时(5s)询问一次,还有就是有没有哪个系统事件能够通知我USB接口设备发生变化

以前只接触过用U盘来和设备交换文件,而且用轮训方式,但感觉USB接口功能多了以后,这样用就不合适了

哪位大侠知道有没有通用的可扩展的方式了监控usb接口,知道它上面的设备插拔以及设备的用途?


谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

倾城°AllureLove 2022-10-22 06:38:21

LZ研究下udev及热插拔,udev可以添加规则来处理U盘,当然你的系统要支持udev

扬花落满肩 2022-10-22 06:38:21

{:3_191:}{:2_175:}{:2_179:}

岛歌少女 2022-10-22 06:38:21

回复 2# whaaat

谢谢你的回复,我今天研究了一下udev

不过我尝试试用hotplug,也就是写了个脚本,在系统初始化时写进/proc/sys/kernel/hotplug

然后运行过程中热插拔u盘,发现我的脚本并没有被调用,请问为什么?

尹雨沫 2022-10-22 06:38:21

LZ什么版本的?新版本好像hotplug废弃了。

终难愈 2022-10-22 06:38:21

回复 5# whaaat

linux kernel version: 2.6.33

编译的时候加上CONFIG_HOTPLUG了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文