阅读:3213回复:18
有无usb移动硬盘故障诊断工具
在win2k下,usbstor.sys驱动程序加载正常,能判断主机在发送rbc read(10)命令(而且用windriver仿真返回数据也正确),但资源管理器中无盘符出现,却又无法知道问题出在何处。
不知有没有诊断程序,能报告问题所在。 [编辑 - 6/14/02 by hswqs] |
|
沙发#
发布于:2002-06-14 17:02
除INQUIRY,READ10,WRITE10,READ CAPACITY外,还有哪些命令是必须的。
|
|
板凳#
发布于:2002-06-14 17:11
还有OnOffUnit、Verify、ModeSelect、ModeSense、TestUnit、RequestSense、SyncCache、
|
|
地板#
发布于:2002-06-14 17:16
在 OnOffUnit、Verify、TestUnit、SyncCache 这些命令中,似乎可以不做什么实质性的操作。
RequestSense 好象可以不用 ModeSelect、ModeSense、我不知道在系统完成初始化之前(显示盘符),必须先支持这两个命令吗。 |
|
地下室#
发布于:2002-06-17 13:06
问题解决了一些,现在盘符出来了(可时间过长),同时读取数据的时间太长(写数据还为搞定)。
是不是在读写硬盘时有什么需要注意的地方? 请各位大虾指点一二! [编辑 - 6/17/02 by hswqs] |
|
5楼#
发布于:2002-06-17 15:12
hswqs老兄,能否告知在盘符出来之前,PC和设备之间完成了那些通讯??
|
|
|
6楼#
发布于:2002-06-17 15:35
写数据也同样地慢,比正常速度慢20倍左右。
是否会是读写硬盘的指令造成的? 状态控制程序应该不会使读写慢这么多吧? panda_lu88888888: PC首先读取USB设备配置信息-->0x08,0x06,0x50(相应配置),加载usbstor.sys -->发送Bulk-Only Mass Storage Reset,Get Max LUN 指令 -->PC发送Inquiry得到设备信息,USB设备处理一些杂命令-->PC发送READ_10命令从硬盘读取相关数据 |
|
7楼#
发布于:2002-06-18 14:09
请问usbstor.sys是你们自己写的吗???
|
|
|
8楼#
发布于:2002-06-18 14:34
不是,是2K自带
|
|
9楼#
发布于:2002-06-19 17:32
写数据也同样地慢,比正常速度慢20倍左右。 hswqs老兄,快救命啊。我也在做移动硬盘。我的固件程序中已经完成了你说的前两步操作:PC首先读取USB设备配置信息-->0x08,0x06,0x50(相应配置),加载usbstor.sys。但是第三步却怎么也不过来,即主机不发送Bulk-Only Mass Storage Reset,Get Max LUN 这两个特定类请求过来,而我用USBCHECK工具测试我前面的标准设备请求都已经通过了(实际收到的请求有GET_DESCRIPTOR()、SET_ADDRESS()和SET_CONFIGURATION()三种请求,都做了相应处理)。不知道你以前在开发过程中有没有遇到过类似的问题,根据你的经验,你估计我的固件程序在哪个处理的环节上出了问题?我现在真是寝食难安啊。 |
|
10楼#
发布于:2002-06-19 17:36
补充,我在2000下虽然可以加载usbstor.sys驱动程序,但是有感叹号,提示信息好象是“设备启动失败,代码10”。我基本上可以肯定我送给主机的设备描述符和配置描述符是没有什么问题的。
|
|
11楼#
发布于:2002-06-19 22:01
我的也是,急需回答。
|
|
12楼#
发布于:2002-06-20 08:25
用BUS BOUND临控一下,看看枚举过程停止在何处,然后仔细检查FIRMWARE。
|
|
13楼#
发布于:2002-06-20 08:39
我发现设备描述符中的VID和PID两个值如果修改了会对我装载哪个驱动程序产生影响,从而导致主机发来的命令发生变化。现在描述符部分我唯一吃不准的就是这两个值了。是不是可以随便给两个值,还是有什么限制?你的描述符中用的是什么值?
还有那个crack_bushound工具是不是就是你说的BUS BOUND工具?界面只有button1和确定、取消三个按钮,调试时点了根本都没有响应。这个工具怎么用啊? |
|
14楼#
发布于:2002-06-20 09:32
VID及PID可以随便取
你得先装BUS HOUND,在下载区有,我那只是个破解小程序。 |
|
15楼#
发布于:2002-06-20 11:13
建议大家多看看以前别人的贴,多使用search!!!!
|
|
16楼#
发布于:2002-06-20 13:49
VID及PID可以随便取 谢谢!我再查查我的代码。 |
|
17楼#
发布于:2002-06-20 16:36
hawie:
你是不是用的rbc命令集??? 你有没有rbc命令集的正式版本,如果有的话,能否惠赐一份? luf@unionchip.com |
|
|
18楼#
发布于:2002-06-24 10:42
哈哈,USB标准请求部分和特定类请求部分的处理都PASS了,现在到SCSI命令集的处理部分了,我估计盘符出来之前处理下面几个命令也就够了,大家帮我看看对不对?
Inquiry Command Prevent/Allow Medium Removal Request Sense Read Capacity Read(10) BUS BOUND真的是个好东东!上载的同志真是功德无量啊。我再也不用以前的笨方法进行分析调试了。 |
|