abluenight
驱动牛犊
驱动牛犊
  • 注册日期2006-05-12
  • 最后登录2007-12-07
  • 粉丝0
  • 关注0
  • 积分260分
  • 威望27点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
阅读:1772回复:7

问一下版主和大家,CE读取u盘都需要哪些.dll啊

楼主#
更多 发布于:2007-08-07 18:59
我目前在wince4.2下移植sl811hs的驱动,并且要能读取u盘。
加上mass storage和fat文件系统,编译代码,生成了如下.dll:
usbd.dll    
usbmsc.dll
usbdisk6.dll
sl811hcd.dll
这时候我插入u盘,却disk.c报出如下错误:
Not loading a UpperDriver since partition manager exists.
我的问题是:
1.我的.dll是不是都有了?因为我看到有些人说usbmsfn.dll,不知道这个干什么的;
2.我的usbdb.dll是不是有误啊,因为我好像添加mass storage的时候,平台上这边还有ohci和uhci,这个我本来应该不需要吧。
3.我在usb分析仪里看到usb不断的inquiry(连续)eset,不知道是什么问题。
反正最后进入界面,告诉我加载usb驱动错误的对话框。
请大帮忙啊,帮我理清楚结构

最新喜欢:

kb219kb219
sniper167
驱动中牛
驱动中牛
  • 注册日期2006-07-12
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分13分
  • 威望411点
  • 贡献值0点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-08-07 19:37
PB里面加个OHCI和mass storage就可以了

我的插U盘也有这个打印消息
Not loading a UpperDriver since partition manager exists.

U盘插上后能正常使用
[url]http://sniper167.bokee.com[/url]
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-08-07 19:46
这个是正常的,在老版本的系统中(3.0),磁盘设备加载起来以后要调用LoadFSD去加载文件系统,而新版本的系统中,文件系统会被自动加载,不需要调用这个函数,所以打印了那句话,你做个RELEASE版的就没有那个信息了.或者把你注册表中的IOCTL=dword:4去掉.
学海无涯
bbmyc
驱动牛犊
驱动牛犊
  • 注册日期2006-08-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望79点
  • 贡献值0点
  • 好评度38点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-07 20:36
想问一下版主,我们的系统是xscal,系统启动后,接入U盘,有的U盘可以驱动读取,有的U盘却无法读取,这会是怎么回事呢?
abluenight
驱动牛犊
驱动牛犊
  • 注册日期2006-05-12
  • 最后登录2007-12-07
  • 粉丝0
  • 关注0
  • 积分260分
  • 威望27点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-08-07 21:15
谢谢sun和sniper167两位高手,我理清了不少。
另外,sniper167 兄弟,sl811hcd提供的函数里包含了ohci的内容,因此这个好像可以不用选了。
只是不知道msdn里说的usbmsfn.dll和usbmsc.dll有什么区别,是不是仅对u盘外的如扫描仪这些设备有用?
我先再调一下,有什么结果我会再回馈回来!
再次感谢!
sniper167
驱动中牛
驱动中牛
  • 注册日期2006-07-12
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分13分
  • 威望411点
  • 贡献值0点
  • 好评度321点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-08-08 10:03
sun才是高手
我是来凑热闹的

Usbmsfn.dll    USB function mass storage client driver
usbmsc.dll      The USB class driver that supports USB storage class devices
[url]http://sniper167.bokee.com[/url]
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-08-09 08:02
与USB相关的有两个,一个是USB HOST,就是CE做HOST,存取插入的U盘等设备的.
另一个是SLAVE,就是CE做SLAVE,连到PC上以后,PC机会识别到一个USB设备,目前CE只支持 Mass Storage, RNDIS, Serial几种. SLAVE在CE中叫做USB FUNCTION.
理清这两个概念就不会搞混了.
学海无涯
abluenight
驱动牛犊
驱动牛犊
  • 注册日期2006-05-12
  • 最后登录2007-12-07
  • 粉丝0
  • 关注0
  • 积分260分
  • 威望27点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-08-13 11:35
多谢兄弟们支持!
目前我解决了一些问题,是我自己的中断处理上有了些问题。
现在可以进入系统认出u盘,标示硬盘,可以传送操作。
但是也存在一些问题:
1)首先就是有些u盘不能认出来,而且我这里不能认出的盘都停留在GetMediumInfo函数处;
2)有时候认出来了,copy数据时候,进度条框总是不动,没有数据传送。必须把设备dettach然后再attach才能传输,有时候要来回操作几次。
对于第一个问题,我也在找它的解决方法,今天找到了一个讨论这个问题的post,发给大家看一下,希望有帮助,尤其是bbmyc也遇到这种情况 :
http://groups.google.ca/group/microsoft.public.windowsce.platbuilder/browse_frm/thread/17a1efeace3c6e8c/d0c37e467fe483dd?lnk=gst&q=ms+usb+mass+storage+fix&rnum=1#d0c37e467fe483dd
游客

返回顶部