阅读:1054回复:2
高手请进!不是所有的硬件都有这样的问题。1。首先收到descriptor中断,要求64个字节,返回18个字节,然后可以触发状态阶段中断,bushound数据如下 8 CTL 23 01 14 00 - 01 00 00 00 CLASS 4us 8 CTL a3 00 00 00 - 01 00 04 00 CLASS 20ms 8 DI 03 01 00 00 .... 12us 8 DI 12 01 00 01 - ff ff ff 20 - 4b 09 01 00 - 00 00 00 00 ....... K....... 1.0sc 00 01 .. 8 CTL a3 00 00 00 - 01 00 04 00 CLASS 45us 8 DI 03 01 00 00 .... 15us 2。然后收到descriptor中断,要求18个字节,同样返回18个字节,但是此时不能触发状态阶段中断,bushound 数据如下,出现no response 8 DI 03 01 10 00 .... 11us 8 CTL 23 01 14 00 - 01 00 00 00 CLASS 4us 8 DI 12 01 00 01 - ff ff ff 20 - 4b 09 01 00 - 00 00 00 00 ....... K....... 1.0sc 00 01 .. 8 USTS 05 00 00 80 no response 27ms 8 CTL a3 00 00 00 - 01 00 04 00 CLASS 510ms 8 DI 03 01 00 00 .... 19us 8 CTL 23 03 04 00 - 01 00 00 00 CLASS 24us 8 DI 02 . 91ms 3.可能因为第2步没有完成状态阶段,出现host reset 然后从1到3步,重复三次,进入suspend。 首先想问一下: 1、我的第一个状态阶段是否完成成功? 2、为什么要求数据大于实际发出数据时,才会引发状态阶段? |
|
沙发#
发布于:2004-05-26 18:14
没人能帮帮忙么?
|
|
板凳#
发布于:2004-05-26 19:09
没人能帮帮忙么? 个人以为你应当看一下实际的USB枚举过程(网上有很多),看看你的过程有什么不同。 |
|
|