阅读:3319回复:28
获取设备描述符Host发送SETUP包引起超时错误!!!请求帮助
如题,怀疑是根本就没有发送到总线上去,因为检测不到总线有任何变化,各位大侠遇见过此类情况吗??困惑啊
|
|
沙发#
发布于:2004-09-27 09:40
hongshanger:
在你以前超时的时候是否就没有收到setup包还是收到了setup包却没有反映而产生超时? |
|
板凳#
发布于:2004-09-26 10:57
你用的是sl811吧,我们成功的开发了host的应用,系统非常的稳定。qq:45364203
email: zyyz1100@eyou.com |
|
地板#
发布于:2004-09-26 09:27
目前是已经触发了WDH中断,即已经处理完了一个TD,但是数据发出了却没有发送到总线上去,奇怪!
|
|
地下室#
发布于:2004-09-25 16:22
不会是晶振的问题吧,要试试看
|
|
5楼#
发布于:2004-09-25 14:52
小妹和你一样的情况,枚举时候发送setup包时第一次就超时,
还用有源晶振后一切ok,你用的是哪种? |
|
|
6楼#
发布于:2004-09-25 11:39
有硬件出错的可能吗?如果有一般哪里出问题的可能大些呢
|
|
7楼#
发布于:2004-09-25 09:40
顶下
|
|
8楼#
发布于:2004-09-24 11:51
我跟你的问题一样,我的setup包内容是80,06,0001,0000,1200,在EP0Xfer中把1200调换成0012,在usbXfer传输中cmd=27h,intr=91h,可是每次进入while循环后执行if(intr & USB_A_DONE)后跳出,然后result = SL811Read(EP0Status);就得到result=04,超时,我头都大了。
我用的是12m无缘晶振,可是有朋友说他们用这个能成功。 |
|
|
9楼#
发布于:2004-09-24 11:41
能想到的问题都去检查了一遍,都没有问题。可就是数据发送不到USB总线上,郁闷啊!!
哪位还有提示信息 |
|
10楼#
发布于:2004-09-16 15:22
晕`
host controller 怎么才能把你的数据向下传递??? ehci 中,是要在芯片中填写一些寄存器,比如,这次要发给设备的地址,端点,多少数据,数据的地址等等。 你自己看一下这些你填写的对不对。我说的描述符就是指这些,而不是设备的描述符。 还有就是如果是什么传输,都应该把相应的寄存器使能,也就是说让hc 知道这里的寄存器已经填写好了,可以发送了。 ohci 具体怎么样,我不清楚,而你到现在也不说,帮不上了。 协议里面至少有一章会讲hc是怎么把数据传输的吧,把那章好好看看。 |
|
11楼#
发布于:2004-09-16 11:50
楼上的兄台,可否给个定位明确一点的出错地方,好不好。
找来找去还是找不到。我看看对我是否有启发 |
|
12楼#
发布于:2004-09-15 15:07
楼主,真的很同情你。
但帮不上忙,ohci不懂啊。 不知道你的代码是自己写还是移植的。 努力进行调试吧。 还有,你用什么方法确定数据没送到的。看看是不是检验的方法有问题。我当时这也有问题。 我是下面有个usb 从机的设备的固件有问题,所以误以为数据没下去,但实际上数据已经下去了,只是固件没给我反映。 |
|
13楼#
发布于:2004-09-15 14:40
还是不行啊
|
|
14楼#
发布于:2004-09-15 11:41
在中断结束之后加延时!!!!如果你的问题在这里的话!!
|
|
15楼#
发布于:2004-09-15 11:25
sorry。
我这里没有 PCITOMEM 什么物理偏移地址? 是数据的地址么? |
|
16楼#
发布于:2004-09-15 11:18
会不会跟物理偏移地址之类的有关系啊,我的偏移地址PCITOMEM都是用的0
|
|
17楼#
发布于:2004-09-15 11:09
那内容可多了。
可能我没表达清楚。 在ehci 中,主机要发送setup包,就要先建立个urb,把这个urb传递下去。 我想ohci 也是一样的。 要传递这个urb,就要按ehci 协议填写 qtd,qh等描述符。芯片就是根据这些描述符,来得知你要传递的是什么类型的数据,数据在哪里?往哪里传递? 等等。 而这些东西,不是一个,二个函数就完成的,是整个一个大的流程。 Queue Element Transfer Descriptor (qTD) Queue Head(qh) |
|
18楼#
发布于:2004-09-15 10:45
老兄,可否把你改正的地方贴出来看看,linux的代码和vxworks的基本一样的
|
|
19楼#
发布于:2004-09-15 10:27
是SETUP描述符的8字节内容出错吗?还是传输出错?
|
|
上一页
下一页