阅读:2036回复:10
Sl811+U盘
请教:
我用SL811读U盘,可以正确读设备描述符,可是在发送read capacity(bulk only命令码为: 55 53 42 43 80 49 EF 80 08 00 00 00 80 00 0A 25 00 00 00 00 00 00 00 00 00)等SCSI-2命令时bulk-in 端点总是stall或是NAK,不知是什么原因。 那位高手可以指点以下。先谢谢了,songtao_xuan@sohu.com |
|
沙发#
发布于:2003-07-23 10:56
换个U盘试一下...
|
|
板凳#
发布于:2003-07-23 13:09
只要该U盘在公版驱动下可以工作,U盘就该没什么问题.我怀疑您的命令下得不对.
|
|
|
地板#
发布于:2003-07-23 17:14
注意命令中的数据是否都是正确的。
欢迎访问我们的站点:http://eden.51.net |
|
地下室#
发布于:2003-07-25 09:20
执行的SCSI命令是我用BUSHOUND截获的不会有错吧。可端点还是NAK或是STALL,会不会是时序的问题,别外U盘一执行程序后在windows下就用不了了,必须从新格式化一下。请高人指点,
|
|
5楼#
发布于:2003-07-25 09:42
我用BUSHOUND截获的 READ CAPACITY 命令包: 55 53 42 43 - 28 9b 2a 81 - 08 00 00 00 - 80 00 0a 25 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00
跟你的 55 53 42 43 - 80 49 EF 80 - 08 00 00 00 - 80 00 0A 25 - 00 00 00 00 - 00 00 00 00 - 00 不一样吧?谁解释一下? |
|
6楼#
发布于:2003-07-25 09:59
一样的!
可能跟顺序有关,这就要看FIRMARE写得如何了.你可以先下几个0X00,0X12,再下0X25 |
|
|
7楼#
发布于:2003-07-25 15:53
有点起色了,下0x25的时候不是NAK或STALL了,返回来的的55 53 42 53 不知怎么不是所要的数据却把CSW的前面几个字节返回来了。
|
|
8楼#
发布于:2008-06-17 14:47
我今天也发现了这个问题。有些U盘是可以的。有些U盘是不行的。后来看了这个贴,经过测试了下。发现如果
if(!UFI_Inquiry() ) return FALSE; if(!UFI_TestUnit() ) return FALSE; if( !UFI_LockMedia() ) return FALSE; if(!UFI_ReadCapacity() )//获取每个扇区的字节数,测试正确是512字节 return FALSE; 如果我就用Inquiry和ReadCapaticy那有些U盘是正常枚举的。但有些又是不可以的。所以我在ReadCapacity之前再加了TestUnit测试发现,另一个原来不能枚举的就可以枚举了。真奇怪。 ![]() |
|
9楼#
发布于:2008-07-03 16:26
我刚才发了一个关于SL811HS访问u盘的帖子,不知道哪里去了。欢迎大家分享使用SL811HS访问u盘的经验,我的刺头u盘都可以访问了。yjdong@kainuo.com
|
|
10楼#
发布于:2008-07-03 16:28
记得Bulk In stall的时候,进行MassStorageReset,ClearFeature(BulkInEndpoint),ClearFeature(BulkOutEndpoint)。yjdong@kainuo.com
|
|