免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7656 | 回复: 5

如何检测usb设备是否连接以及它的用途? [复制链接]

论坛徽章:
0
发表于 2011-05-18 18:30 |显示全部楼层
本帖最后由 把握今天 于 2011-05-18 18:32 编辑

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

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

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

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


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


谢谢

论坛徽章:
0
发表于 2011-05-20 10:41 |显示全部楼层
LZ研究下udev及热插拔,udev可以添加规则来处理U盘,当然你的系统要支持udev

论坛徽章:
0
发表于 2011-05-20 16:54 |显示全部楼层
{:3_191:}{:2_175:}{:2_179:}

论坛徽章:
0
发表于 2011-05-23 19:25 |显示全部楼层
回复 2# whaaat

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

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

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

论坛徽章:
0
发表于 2011-05-23 20:04 |显示全部楼层
LZ什么版本的?新版本好像hotplug废弃了。

论坛徽章:
0
发表于 2011-05-24 09:57 |显示全部楼层
回复 5# whaaat

linux kernel version: 2.6.33

编译的时候加上CONFIG_HOTPLUG了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP