社区
Linux_Kernel
帖子详情
linux下USB设备热插拔如何检测
gql1123
2009-02-11 10:53:32
现在做的项目中想实现USB设备插上以后自动挂载到/mnt/hd目录下。请问大侠们怎么实现。
如果拔出USB设备怎么检测到错误?假如我现在正在写U盘。突然U盘被拔出。我该怎么检测U盘被拔出的消息。我是在嵌入式linux下做的项目。请大家帮帮忙
...全文
9043
23
打赏
收藏
linux下USB设备热插拔如何检测
现在做的项目中想实现USB设备插上以后自动挂载到/mnt/hd目录下。请问大侠们怎么实现。 如果拔出USB设备怎么检测到错误?假如我现在正在写U盘。突然U盘被拔出。我该怎么检测U盘被拔出的消息。我是在嵌入式linux下做的项目。请大家帮帮忙
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yanzi1225627
2012-08-15
打赏
举报
回复
[Quote=引用 8 楼 的回复:]
udevmonitor 的原理也是捕捉 netlink 的 socket 消息,这个消息是内核发出的,打印出来的消息跟我上面的小程序一样,2.6内核支持udev,udev是在用户空间实现的程序,在终端输入 udevmonitor(有的版本或许是 udevadm -monitor) 然后插拔 USB 设备,可以看到提示信息。
[/Quote]
问题是,老大arm板子上没有啊!!!
yanzi1225627
2012-08-15
打赏
举报
回复
http://blog.csdn.net/yanzi1225627/article/details/7855124原来是用qt的dbus实现的,基于hal。但纠结了一个星期,程序到arm上没反应。好像arm不支持hal。文件系统是yaffs2,的所以udev也不支持。最后选择了hotplug。太蛋疼了!绕了一个大弯。。。。。。。。
9527
2012-07-25
打赏
举报
回复
学习了,感谢二楼 Breathomn 的分享
dddegtgtgth
2011-12-19
打赏
举报
回复
当U盘插进去后 出现add@/dev/sda1,当U盘拔了过后是remove@/dev/sda1之类的信息。
ly7969
2011-04-20
打赏
举报
回复
/* USB 设备的插拔会出现字符信息,通过比较不同的信息确定特定设备的插拔,在这添加比较代码 */
怎么对比这些信息,才能识别我的usb设备呢
gattso
2010-09-10
打赏
举报
回复
看看???????????????
jianfei111
2010-08-17
打赏
举报
回复
貌似时间很久,我也关注一下。
gql1123
2010-06-13
打赏
举报
回复
这个我说一下。我用的是二楼的方法。早已经实现功能了。
etrock
2010-05-12
打赏
举报
回复
mark
malajisi01
2009-11-18
打赏
举报
回复
顶一下~
继续讨论
我们也遇到个usb设备读取目录的问题,先检测后mount再读取目录...
yuxinyuan
2009-02-17
打赏
举报
回复
学习一下!
aility
2009-02-16
打赏
举报
回复
学习了。我原来都是写配置文件来实现的。。。
erigido
2009-02-13
打赏
举报
回复
楼上的意思是用户态驱动吧。
无论如何都需要有一个线程来监控设备的状态。比如,插槽上或下位产生的中断,这个型号可以通过很多方式,如netlink、内存映射、软中断等等方式,让用户态线程能够感知是否有USB设备上线,如果有则调用mount函数,否则的话umonut。
Breathomn
2009-02-13
打赏
举报
回复
udevmonitor 的原理也是捕捉 netlink 的 socket 消息,这个消息是内核发出的,打印出来的消息跟我上面的小程序一样,2.6内核支持udev,udev是在用户空间实现的程序,在终端输入 udevmonitor(有的版本或许是 udevadm -monitor) 然后插拔 USB 设备,可以看到提示信息。
gql1123
2009-02-12
打赏
举报
回复
楼上大侠。怎么用啊?能不能说详细点。刚学linux不久。我的内核是linux 2.6.14的。能不能用udev啊?
ddcien
2009-02-12
打赏
举报
回复
为什么不使用udev或mdev???
gql1123
2009-02-12
打赏
举报
回复
这样的话还是要建立一个线程监控它们。有没有中断机制啊。
如果建立一个线程监控的话。浪费的系统资源比较多。如果采用这种方法其实有个简单的方法就是判断U盘的文件夹
是否存在。如果插上U盘的话文件夹就会出现。否则的话没有文件夹。
netsocket
2009-02-12
打赏
举报
回复
mark
huli1516
2009-02-11
打赏
举报
回复
如果是驱动层的话肯定会有拔出来的消息的,那时候将设备删除
一楼的好像说的是网络层的吧
猫已经找不回了
2009-02-11
打赏
举报
回复
..学习
加载更多回复(1)
基于
Linux
的
USB
摄像头
热插拔
状态
检测
使用udev监测
usb
摄像头状态,并在终端进行显示add和remove,add为添加
设备
,remove为移除
设备
。
多平台QT
USB
设备
热插拔
检测
库
一个很好用的跨平台的
USB
设备
(比如
USB
鼠标、U盘等)
热插拔
QT库。兼容
LINUX
(Ubuntu),WINDOWS,WINCE,MAC OS。带有终端以及GUI例子,方便运行测试。
Linux
驱动之
USB
设备
驱动
不管是
USB
设备
还是
USB
接口,都会被注册到同一个bus上,也就是
usb
_bus_type,其之间的区别会在match函数中区分,之后再去绑定不同的driver。当一个
USB
设备
被插入的时候,
USB
设备
驱动,也就是
usb
_generic_driver会跟
USB
设备
交互,得到其所有的各种描述符,并为每个接口都定义成为一个device,之后再加载到
usb
_bus上,让其去匹配其对应的接口驱动程序。
linux
下
usb
热插拔
处理
本文介绍的是
linux
下处理
usb
热插拔
的方法
qt 监测u盘
设备
热插拔
linux
qt 监测U盘
热插拔
,使用netlink底层通信技术,直接与内核进行通信
Linux_Kernel
4,438
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章