阅读:1685回复:4
大家帮我诊断一下!!
我正在自己做一个IDE硬盘的usb接口,我用usb hound截获的数据如下:
(9) USB Mass Storage Device [26KB/Sec] Device Phase Data Info Time Cmd.Phase.Ofs ------ ----- ------------------------- ------------- ----- ------------------ 9.0 CTL 80 06 00 01 - 00 00 12 00 GET DESCRIPTR 0us 1.1.0 9.0 DI 12 01 10 01 - 00 00 00 10 ........ 845us 1.2.0 83 04 07 13 - 02 01 01 02 ........ 1.2.8 00 01 .. 1.2.16 9.0 CTL 80 06 00 02 - 00 00 09 00 GET DESCRIPTR 42us 2.1.0 9.0 DI 09 02 20 00 - 01 01 00 80 .. ..... 947us 2.2.0 32 2 2.2.8 9.0 CTL 80 06 00 02 - 00 00 20 00 GET DESCRIPTR 39us 3.1.0 9.0 DI 09 02 20 00 - 01 01 00 80 .. ..... 956us 3.2.0 32 09 04 00 - 00 02 08 06 2....... 3.2.8 50 00 07 05 - 82 02 40 00 P.....@. 3.2.16 00 07 05 02 - 02 40 00 00 .....@.. 3.2.24 9.0 CTL 00 09 01 00 - 00 00 00 00 SET CONFIG 42us 4.1.0 9.2 DO 55 53 42 43 - 28 16 49 81 USBC(.I. 1.9ms 5.1.0 24 00 00 00 - 80 00 06 12 $....... 5.1.8 00 00 00 24 - 00 00 00 00 ...$.... 5.1.16 00 00 00 00 - 00 00 00 ....... 5.1.24 9 DI 00 08 02 02 - 1f 00 00 00 ........ 996us 6.1.0 50 48 49 4c - 49 50 53 20 PHILIPS 6.1.8 55 53 42 2d - 49 44 45 20 USB-IDE 6.1.16 41 44 41 50 - 54 45 52 20 ADAPTER 6.1.24 30 2e 30 30 0.00 6.1.32 9 DI 55 53 42 53 - 28 16 49 81 USBS(.I. 999us 7.1.0 00 00 00 00 - 00 ..... 7.1.8 9 USTS 08 00 00 c0 overrun 7us 7.2.0 9.2 DO 55 53 42 43 - 28 16 49 81 USBC(.I. 65ms 8.1.0 24 00 00 00 - 80 00 06 12 $....... 8.1.8 00 00 00 24 - 00 00 00 00 ...$.... 8.1.16 00 00 00 00 - 00 00 00 ....... 8.1.24 9 DI 00 08 02 02 - 1f 00 00 00 ........ 998us 9.1.0 50 48 49 4c - 49 50 53 20 PHILIPS 9.1.8 55 53 42 2d - 49 44 45 20 USB-IDE 9.1.16 41 44 41 50 - 54 45 52 20 ADAPTER 9.1.24 30 2e 30 30 0.00 9.1.32 9 DI 55 53 42 53 - 28 16 49 81 USBS(.I. 1.0ms 10.1.0 00 00 00 00 - 00 ..... 10.1.8 9 USTS 08 00 00 c0 overrun 3us 10.2.0 9.2 DO 55 53 42 43 - 28 16 49 81 USBC(.I. 67ms 11.1.0 24 00 00 00 - 80 00 06 12 $....... 11.1.8 00 00 00 24 - 00 00 00 00 ...$.... 11.1.16 00 00 00 00 - 00 00 00 ....... 11.1.24 9 DI 00 08 02 02 - 1f 00 00 00 ........ 1.0ms 12.1.0 50 48 49 4c - 49 50 53 20 PHILIPS 12.1.8 55 53 42 2d - 49 44 45 20 USB-IDE 12.1.16 41 44 41 50 - 54 45 52 20 ADAPTER 12.1.24 30 2e 30 30 0.00 12.1.32 9 DI 55 53 42 53 - 28 16 49 81 USBS(.I. 1.0ms 13.1.0 00 00 00 00 - 00 ..... 13.1.8 9 USTS 08 00 00 c0 overrun 3us 13.2.0 我通过了inquiry命令,但是接下来的read capacity命令host怎么没有发? USTS(USTS= USB status)为overrun又是什么意思? |
|
|
沙发#
发布于:2005-03-17 12:58
不明白,,这样竟然也能通过? 09 02 20这个20是后面跟的Descriptor的长度,你的是20为32字节,也就是发4次8bytes,HOST接收完4次后根本没有检测到这个描述符的结束。(HOST一般根据一个封包是否够8bytes或检测到空封包来断定描述符结束的) 不知道为什么这个20长度的描述符也能正确接收?没有看到你后面跟着有空的结束标志。 |
|
|
板凳#
发布于:2005-03-17 10:32
OVERRUN意思是HOST多发了几次,累了贝,呵呵。
因为INQUIRY命令对HOST很重要,所以HOST发现不能获得有效的DEVICE设备信息就罢工,不干活了所以后面的命令就不发了。 看了一下你抓的数据,感觉DI的0X08和0X1F前的0X02数据有问题(都改成0x00试试),你在看看UFI中INQUIRY命令的处理在试试。 |
|
地板#
发布于:2005-03-15 10:50
兄弟,你的问题解决了没有,我遇到的问题和你的一模一样。
|
|
地下室#
发布于:2002-07-02 09:03
不好意思,上面数据显示的太乱,只好劳繁各位大侠多费费神
|
|
|