阅读:1240回复:1
cypress console iso 不发urb是什么原因?(已解决)
用cypress console可以看到iso管道,但无法使用。packet 从1 到1024都试过
用bushound发现根本没有urb下发给系统usbd,难道是描述符不对? 如果用自己的wdm驱动发urb,则会出现invalid parameter 的ntstatus和usbd status 另外,问一下,系统在什么时候分配带宽,如果是只有一个interface 和alternate setting 是否在set configuration 时就分配了? 谢谢! Device Descriptor: bLength: 18 bDescriptorType: 1 bcdUSB: 0x0200 bDeviceClass: 0x00 bDeviceSubClass: 0x00 bDeviceProtocol: 0x00 bMaxPacketSize0: 64 idVendor: 0x04B4 idProduct: 0x1004 bcdDevice: 0x0000 iManufacturer: 1 iProduct: 2 iSerialNumber: 0 bNumConfigurations: 1 Config Descriptor: bLength: 0x9 bDescriptorType: 2 wTotalLength: 25 (0x19) bNumInterfaces: 1 bConfigurationValue: 1 iConfiguration: 0 bmAttributes: 0x80 MaxPower: 50 ********************************** Interface Descriptor:1 -------------------------------- bLength: 0x9 bDescriptorType: 4 bInterfaceNumber: 0 bAlternateSetting: 0 bNumEndpoints: 1 bInterfaceClass: 255 bInterfaceSubClass: 0 (0x0) bInterfaceProtocol: 0 (0x0) iInterface: 0 (0x0) ********************************** EndPoint Descriptor: 1 -------------------------------- bLength: 0x7 bDescriptorType: 5 bEndpointAddress: 0x82 bmAttributes: 0x1 wMaxPacketSize: 1 bInterval: 1 ********************************** Get PipeInfo Pipe: 0 Type: ISO Endpoint: 2 IN MaxPktSize: 0x1 Reset Pipe: Pipe=0 Isoc IN Transfer Isoc IN failed |
|
沙发#
发布于:2008-07-04 15:58
恩 原因找到了,packet num 必须是8的整数倍……看来我文档看的还是不够仔细啊
|
|