阅读:3843回复:7
bus reset问题,求教,附带bushound数据
使用bulk only协议的mass storage 开发,当收到read10命令时发送512字节后收到bus reset命令复位,如果只发508个,则不会reset,虽然主机报错data overrun,请教各位有没有遇到这种情况。
主机尚未收到csw信息就已经产生reset。 数据如下: 12 CDB 25 00 00 00 - 00 00 00 00 - 00 00 READ CAPACITY 98us 31.1.0 11 DO 55 53 42 43 - 28 4d 7e 81 - 08 00 00 00 - 80 00 0a 25 USBC(M.........% 1.1ms 32.1.0 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 ............... 32.1.16 11 DI 00 00 f7 ff - 00 00 02 00 ........ 1.6sc 33.1.0 11 DI 55 53 42 53 - 28 4d 7e 81 - 00 00 00 00 - 00 USBS(M....... 1.4sc 34.1.0 12 DI 00 00 f7 ff - 00 00 02 00 ........ 13us 31.2.0 12 SSTS 01 ok 2us 31.3.0 12 CDB 28 00 00 00 - 00 00 00 00 - 01 00 READ10 33us 35.1.0 11 DO 55 53 42 43 - 28 4d 7e 81 - 00 02 00 00 - 80 00 0a 28 USBC(M.........( 1.9ms 36.1.0 00 00 00 00 - 00 00 00 01 - 00 00 00 00 - 00 00 00 ............... 36.1.16 11 DI 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 4.8sc 37.1.0 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.16 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.32 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.48 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.64 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.80 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.96 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.112 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.128 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.144 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.160 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.176 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.192 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.208 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.224 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.240 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.256 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.272 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.288 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.304 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.320 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.336 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.352 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.368 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.384 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.400 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.416 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 02 ................ 37.1.432 04 00 01 07 - 50 f3 23 00 - 00 00 dd f7 - 00 00 00 00 ....P.#......... 37.1.448 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.464 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 37.1.480 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 55 aa ..............U. 37.1.496 12 DI 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 974us 35.2.0 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.16 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.32 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.48 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.64 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.80 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.96 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.112 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.128 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.144 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.160 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.176 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.192 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.208 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.224 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.240 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.256 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.272 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.288 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.304 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.320 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.336 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.352 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.368 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.384 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.400 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.416 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 02 ................ 35.2.432 04 00 01 07 - 50 f3 23 00 - 00 00 dd f7 - 00 00 00 00 ....P.#......... 35.2.448 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.464 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 ................ 35.2.480 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 55 aa ..............U. 35.2.496 12 SSTS 0e bus reset 3us 35.3.0 [编辑 - 8/2/03 by sunsnow] |
|
沙发#
发布于:2003-08-01 14:41
根据我的经验,有可能是你在往host送数据时已经超时了,然后引起reset。也就是在host规定的Read时间内没有完成本次事务。你可以优化你的代码,使其尽可能的执行的快!
我的代码在读的时候没有问题,但是写的时候出现的问题和你的类似,我优化代码解决了这个问题。你不妨参考一下。 :P :P :P |
|
|
板凳#
发布于:2003-08-01 15:54
但是问题是,如果我发送511个数据,则不会有此错误,511和512个时间区别不大,而且目前使用的是dma模式,数据放在了内存区而不是硬盘区,如果这么发送都超时的话,那挂上硬盘就会更慢。
可能不是超时的问题。代码能做的修改也很有限了。 除了超时之外,还会有什么引发主机的reset呢? 谢谢 |
|
地板#
发布于:2003-08-01 16:52
还有可能是寄存器的状态改变速度不够
在对寄存器进行“写”的操作后延时一段时间 |
|
|
地下室#
发布于:2003-08-01 18:13
可能是出现了usb buffer shutdown
|
|
5楼#
发布于:2003-08-02 00:20
请注意提供的BusHound数据中的以下部分: \"1.6sc 33.1.0\" \"1.4sc 34.1.0\" \"4.8sc 37.1.0\"。
说明你的固件响应时间过长,达到了秒级,这是不常见的。还是建议你修改一下相关的固件程序,提高响应速度。一般的响应速度是毫秒级或者更快一些。 |
|
6楼#
发布于:2003-08-02 11:58
问题解决,谢谢各位
问题是设备在read10数据发送完之后,自动加了一个eop,造成主机读取csw时读了空包所致。 各位提到的响应时间,的确是个问题,但可能是bushound计算时间的起始和中止点不同导致的。因为现在发送8个512字节也不过500多毫秒。 再次谢谢大家 |
|
7楼#
发布于:2008-10-22 17:25
自动加了个EOP是什么意思,我现在是当发完inquiry命令后,出现bus reset现象,
请问是什么原因啊@@@ |
|