阅读:2030回复:12
u盘开发求助:已出现盘符,但还有疑惑
枚举已经通过,能响应INQUIRY、READ CAPACITY命令,已经出现盘符。现在有这些疑惑:
1.响应READ(10)命令时,要发送512个字节的数据,是不是每发64个字节都要发CSW,还是等发完全部512个字节后再发CSW。 2.scsi中的23H是什么命令?怎么也找不到,是不是READ LONG命令(3EH),该怎么回答? 3.scsi中的1aH是MODE SENSE(6)命令,该命令怎么回答? |
|
沙发#
发布于:2003-07-17 17:31
哪些做过u盘的兄弟,请帮帮我吧
版主也过来看看啊 |
|
板凳#
发布于:2003-07-17 18:59
This site has a document about SCSI command set for you to download!
|
|
地板#
发布于:2003-07-17 20:05
资料都有了,就是很多不明白的地方
|
|
地下室#
发布于:2003-07-17 20:22
主要是返回的数据不是很清楚
|
|
5楼#
发布于:2003-07-18 18:07
你可以按ufi中的23h指令回答
|
|
|
6楼#
发布于:2003-07-18 22:40
sky412:
能具体说说是怎么返回的吗?我不知道返回几个字节,也不清楚该返回什么数据,资料我有了 |
|
7楼#
发布于:2003-07-19 08:47
UFI的pdf里面有详细说明!如果没有注明返回什么数据的,直接返回csw。
|
|
8楼#
发布于:2003-07-19 10:50
yes, send scw when all the data specified ( 512 ) returned.
|
|
9楼#
发布于:2003-07-19 11:25
为什么用我买回来的u盘就没看到0x23这个该死的命令呢?我用的是scsi-2协议
|
|
10楼#
发布于:2003-07-21 15:19
有些U盘使用UFI协议,而另一些U盘使用SCSI-2协议,没有同时支持这两种协议的U盘,你买错了U盘应属运气不好。
告诉你,我以前测过一个U盘,它能响应0x23命令,回答的数据是:00 00 00 08 00 10 00 00 03 00 02 00。不同的容量结构,会导致其中某些数据的改变。 固件回答HOST传来的CBW命令,都是先把数据返回。如果数据量较大,超过BULK_IN_FIFO的最大值,可以分次回传,最好是每次都“最大值”个,当然最后一次可能不能充满BULK_IN_FIFO,没关系的。在这之后,再附上CSW。 |
|
11楼#
发布于:2003-07-21 15:27
顺便告诉你,这个U盘响应0x1a命令的返回值是:03 00 00 00。
|
|
12楼#
发布于:2003-07-23 18:00
我今天用bus hound捕捉了对0x23命令的响应过程,我是用买的u盘测试的。
系统命令 55 53 42 43 - d8 fb 60 81 - fc 00 00 00 - 80 00 0a 23 00 00 00 00 - 00 00 00 fc - 00 00 00 00 - 00 00 00 返回 00 00 00 10 - 00 01 f4 00 - 02 00 02 00 - 00 01 f4 00 00 00 02 00 可惜我看不懂返回的数据有什么含义,有谁帮忙看看?详细说说每个字节代表什么意思。我看fc表示要返回252个字节的,结果只是返回 20个字节。 |
|