阅读:1480回复:4
USB设备配置过程?
1)我的主控制器ISP1161A有两个下游端口,为什么读取的集线器类描述符中Nbrports=1(支持的下游端口数目)?
2)端点描述符 bLength = 7 bDescriptorType = 05 bEndpointAddress = 81 (in) bmAttributes = 03 (Interrupt) wMaxPacketSize = 0002 bInterval = ff 我如何判断它是否正确?特别是wMaxPacketSize=2,这没问题吗? 3)为设备设置地址总是得到: usb.c: USB device descriptor short read (expected 8, got 0) 大虾们,给指明个方向吧? [编辑 - 7/25/03 by hobber] |
|
|
沙发#
发布于:2003-07-25 14:43
》我如何判断它是否正确?特别是wMaxPacketSize=2,这没问题吗?
只要两个字节??好像太少了吧,改为64 |
|
|
板凳#
发布于:2003-07-25 14:54
我们只有按照读取的描述符去配置吧,这个是硬件决定的,能改吗?
|
|
|
地板#
发布于:2003-07-25 15:14
包的大小是有USB协议决定的,你是指由什么硬件决定的啊?
|
|
地下室#
发布于:2003-07-25 15:27
我是在LINUX下开发USB驱动的,对根集线器的枚举过程由USB。C来完成,ROOT HUB的所有描述符都是通过控制传输得到的(我也不晓得从ISP1161A芯片的哪儿得到)。然后就解析描述符,对ROOT HUB配置。
描述符规定有几个端点及它的属性等,那么我们就按照它的要求配置。这样理解对吗? 顺便问一个问题:在为设备指定地址后,端点0还可以用吗? |
|
|