3499|11

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

大家都进来谈谈U盘安全删除时的一个现象 [复制链接]

现在很多U盘上都带有一个LED灯,在选择安全删除的时候(还没从主机拔出),LED灯可以自动熄灭。在USB协议里面没有这种安全删除处理的数据包呀?他们是怎么做到的呀?

使用BUS HOUND抓包,可以发现,U盘都是配置了3个Endpoint(2个BULK, 1个INTERRUPT,Endpoint0除外)。明明是使用BULK ONLY传输方式,为什么会有一个INTERRUPT Endpoint,干什么用?

不解呀。。。

最新回复

此问题,以解决。 被主机Suspend是正解。 USB设备一般都会以suspend中断的形式通知USB设备应用程序。 网上还真没找到这方面的资料。此贴解之。  详情 回复 发表于 2010-3-30 22:00
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我现在也遇到U盘删除的问题,等待高手解答一下!

顶起来!
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
好贴,MARK,期待 学习下。

帮顶!!

 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

4
 
都半天了,也没见人来解答呀。郁闷中。现在U盘技术已经很开源了吧,怎么了解的人也很少呢。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
因为U盘往往采用微软 自带的驱动,所以可以排除PC和设备之间自定义的协议.

但是简单分析,可能是下面的两个方法:

1. U盘插入之后,PC会一直轮训设备的信息,如果删除之后,驱动被卸载,那么就不会下发这些命令,设备检查到之后,就可以关闭LED.

2. USB上面,驱动被卸载之后,在总线上面,会把设备Suspend,设备在检查到这个状态,也可以关闭LED.很多 采用这个办法.

至于INT的EP,应该是特殊情况吧.
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

6
 
路过~~
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 4 楼 zihan 的回复:

1. U盘插入之后,PC会一直轮训设备的信息,如果删除之后,驱动被卸载,那么就不会下发这些命令,设备检查到之后,就可以关闭LED.


这一点比较像,用BUSHOUND查看,当U盘插入的时候PC会频繁的向U盘发数据,然后U盘再把相同的数据返回,而当删除设备后,PC不再向U盘发数据,U盘也就不再返回。
但是奇怪的是我用WINCE做的USB MASS STORAGE,PC不会一直向设备发数据,不知道问题出在哪里。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 4 楼 zihan 的回复:
因为U盘往往采用微软 自带的驱动,所以可以排除PC和设备之间自定义的协议.

但是简单分析,可能是下面的两个方法:

1. U盘插入之后,PC会一直轮训设备的信息,如果删除之后,驱动被卸载,那么就不会下发这些命令,设备检查到之后,就可以关闭LED.

2. USB上面,驱动被卸载之后,在总线上面,会把设备Suspend,设备在检查到这个状态,也可以关闭LED.很多 采用这个办法.

……


个人觉得,第一种方法其实不怎么现实。因为轮训间隔还是有一段时间的,算上允许的延迟的话,U盘不可能那么快就判断自己已经被删除了。这个时间就很难把握了。所以。。。。
第二种方法倒是有可能。就不晓得怎么检查这个状态了。至少我现在这个板子上,没有看到suspend中断。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

9
 
LED灯熄灭,估计是因为安全删除后USB停止供电导致的,
USB停止供电后再拔出USB设备,才是所谓的安全删除啊。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 sunrain_hjb 的回复:
LED灯熄灭,估计是因为安全删除后USB停止供电导致的,
USB停止供电后再拔出USB设备,才是所谓的安全删除啊。


非此解也。 U盘安全删除后,主机并没有停止供电。 有一个很好的证明:可以找到一些方法,重新将安全删除后的U盘直接重新mount上,不用重新拔插。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

11
 
HOST停止供电肯定不会,因为我们的设备只由USB供电的时候即使点击删除硬件且成功后,机器仍然处于开机状态,说明HOST还在给Device供电。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

12
 
此问题,以解决。 被主机Suspend是正解。 USB设备一般都会以suspend中断的形式通知USB设备应用程序。
网上还真没找到这方面的资料。此贴解之。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表