阅读:1951回复:11
U盘数据写不进?
各位大侠帮帮忙,这个问题捆扰我很长时间了
我用SL811HS读写U盘,但数据读得出来,却写不进去。 除了写命令,其它命令:read10,inquriy, read capacity ,test unity ready等都能正确执行。 我的write10的CBW是:0x55,0x53,0x42,0x43,0x28,0xE8,0x31,0xFF,0x00,0x02,0x00,0x00, 0x00,0x00,0x0A,0x2A,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x01, 0x00,0x00,0x00,0x00,0x00,0x00,0x00 请问这个CBW是否正确? 我发出CBW后U盘返回ACK,接着发OUT包,向U盘输入512个字节,U盘返回ACK,但我发出IN包读CSW时却返回NAK,我分析原因可能是我的CBW没有被U盘正确解析和执行,我的CBW对吗 |
|
最新喜欢:quicke... |
沙发#
发布于:2003-11-14 02:13
各位大侠帮帮忙,这个问题捆扰我很长时间了 好像应该是: 0x80,0x00,0x0A,0x2A。。。 把u盘接到win2k下用bushound看看就ok了嘛!! ^_^ |
|
板凳#
发布于:2003-11-14 08:49
看来碰到这个问题的人真不少?
没有一位大虾出来为大家指点一下? |
|
地板#
发布于:2003-11-14 10:44
我用SL811HS读写U盘,但数据读得出来,却也写不进去。
除了写命令,其它命令:read10,inquriy, read capacity ,test unity ready等都能正确执行。 我的write10的CBW是: DB 55H,53H,42H,43H,6DH,68H,78H,73H DB 00H,02H,00H,00H,00H,00H,0CH,2AH DB 00H,00H,00H,00H,02H,00H,00H,01H DB 00H,00H,00H,00H,00H,00H,00H 我的read10的CBW是: DB 55H,53H,42H,43H,6DH,68H,78H,73H DB 00H,02H,00H,00H,80H,00H,0CH,28H DB 00H,00H,00H,00H,00H,00H,00H,01H DB 00H,00H,00H,00H,00H,00H,00H 请问这个CBW是否正确? [编辑 - 11/14/03 by mhxsoft] |
|
地下室#
发布于:2003-11-17 14:28
NewTech兄,为何我用BUSHOUND 测时只能显示CBW中的CBWCB,怎样才能显示全部的CBW了
|
|
5楼#
发布于:2003-11-17 15:49
[quote] 各位大侠帮帮忙,这个问题捆扰我很长时间了 好像应该是: 0x80,0x00,0x0A,0x2A。。。 把u盘接到win2k下用bushound看看就ok了嘛!! ^_^ [/quote] 0x00,0x00,0x0A,0x2A 是对的, 用bushound抓一下就看到了。写命令不执行的原因不一定是cbw没有解析出来。 你用inquiry 命令后device返回的值, 不同的usb存储器差别是比较大的。 |
|
6楼#
发布于:2003-11-17 16:11
我碰到过一次数据写不进去,除了写命令外都能实现,解决办法是找个低格程序把U盘格了(最好是U盘厂家提供)。
|
|
7楼#
发布于:2003-11-17 19:36
dopy26 兄:我发inquriy后得到的数据是:
00 00 02 02 1F 00 00 47 65 6E 65 72 69 63 20 55 53 42 20 46 6C 61 73 68 20 44 69 73 6B 20 20 37 2E 37 37 00 有问题吗 |
|
8楼#
发布于:2003-11-19 10:52
dopy26 兄:我发inquriy后得到的数据是: 偶只分析过前面的 ‘00 00 02 02’ , 是对的! 具体意义见 scsi指令集 |
|
9楼#
发布于:2003-11-19 11:18
NewTech兄,为何我用BUSHOUND 测时只能显示CBW中的CBWCB,怎样才能显示全部的CBW了 把BUSHOUND中设置项的勾勾打在高一级 |
|
|
10楼#
发布于:2003-11-19 11:37
我用SL811HS读写U盘,但数据读得出来,却也写不进去。 我监控到的正确的CBW READ10 CBW: 55 53 42 43 - e8 26 5e 81 - 00 02 00 00 - 80 00 0a 28 00 00 00 00 - 00 00 00 01 - 00 00 00 00 - 00 00 00 WRITE CBW: 55 53 42 43 - b8 27 4f 81 - 00 10 00 00 - 00 00 0a 2a 00 00 00 4a - d3 00 00 08 - 00 00 00 00 - 00 00 00 READ10应为 :0A 28而不是0C 28 WRITE10应为:0A 2A而不是0C 2A [编辑 - 11/19/03 by dragon_hn] |
|
|
11楼#
发布于:2003-11-19 12:15
注意延时,大多是延时引起的.欢迎访问我的网站:http://eden.51.net是关于USB开发设计方面的
|
|