阅读:2394回复:1
各位路过的大侠帮帮忙,关于端点没有中断的问题
各位大侠,真是感谢您能抽出时间看一看这个问题。
目前我正在用net2272 usb控制芯片,遇到一个问题,困扰很久了,不知道该从什么地方着手解决。 主机发送bulk in 或者bulk out传输的请求,对应的端点分别为端点A和端点B,可是,查看状态寄存器,并没有中断的标志。然后我用usbsniffer工具来抓包,可以看到主机已经发送出了请求。抓的包如下: [0 ms] UsbSnoop compiled on Jan 18 2003 22:41:32 loading [0 ms] UsbSnoop - DriverEntry(f8839c40) : Windows NT WDM version 1.32 [0 ms] UsbSnoop - AddDevice(f8839f50) : DriverObject 81afe748, pdo 81adc878 [1 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_PNP (0x00000018) [1 ms] UsbSnoop - MyDispatchPNP(f8839ee0) : IRP_MJ_PNP (0x00000018) [1 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS) [1 ms] UsbSnoop - MyDispatchPNP(f8839ee0) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS) [1 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS) [1 ms] UsbSnoop - MyDispatchPNP(f8839ee0) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS) [1 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_PNP (IRP_MN_START_DEVICE) [1 ms] UsbSnoop - MyDispatchPNP(f8839ee0) : IRP_MJ_PNP (IRP_MN_START_DEVICE) [1 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_INTERNAL_DEVICE_CONTROL [1 ms] UsbSnoop - MyDispatchInternalIOCTL(f8838e80) : fdo=81adc878, Irp=81b10008, IRQL=0 [1 ms] >>> URB 1 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000012 TransferBuffer = 81b0d764 TransferBufferMDL = 00000000 Index = 00000000 DescriptorType = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE) LanguageId = 00000000 [1 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_SYSTEM_CONTROL [1 ms] UsbSnoop - MyInternalIOCTLCompletion(f8838db0) : fido=00000000, Irp=81b10008, Context=81fe0c80, IRQL=2 [1 ms] <<< URB 1 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 81d51f80 TransferFlags = f88ea9cb (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000012 TransferBuffer = 81b0d764 TransferBufferMDL = 81ca8f88 00000000: 12 01 00 02 ff 00 00 40 25 05 00 10 00 01 01 02 00000010: 00 01 UrbLink = 00000000 SetupPacket = 00000000: 80 06 00 01 00 00 12 00 [1 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_INTERNAL_DEVICE_CONTROL [1 ms] UsbSnoop - MyDispatchInternalIOCTL(f8838e80) : fdo=81adc878, Irp=81b10008, IRQL=0 [1 ms] >>> URB 2 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000009 TransferBuffer = f88ea9bc TransferBufferMDL = 00000000 Index = 00000000 DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE) LanguageId = 00000000 [1 ms] UsbSnoop - MyInternalIOCTLCompletion(f8838db0) : fido=00000000, Irp=81b10008, Context=820cbe68, IRQL=2 [1 ms] <<< URB 2 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 81d51f80 TransferFlags = f88ea9cb (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000009 TransferBuffer = f88ea9bc TransferBufferMDL = 81ca8f88 00000000: 09 02 20 00 01 01 00 e0 00 UrbLink = 00000000 SetupPacket = 00000000: 80 06 00 02 00 00 09 00 [1 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_INTERNAL_DEVICE_CONTROL [1 ms] UsbSnoop - MyDispatchInternalIOCTL(f8838e80) : fdo=81adc878, Irp=81b10008, IRQL=0 [1 ms] >>> URB 3 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000020 TransferBuffer = 81b86b70 TransferBufferMDL = 00000000 Index = 00000000 DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE) LanguageId = 00000000 [1 ms] UsbSnoop - MyInternalIOCTLCompletion(f8838db0) : fido=00000000, Irp=81b10008, Context=81d109f8, IRQL=2 [1 ms] <<< URB 3 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 81d51f80 TransferFlags = f88ea9cb (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000020 TransferBuffer = 81b86b70 TransferBufferMDL = 81ca8f88 00000000: 09 02 20 00 01 01 00 e0 00 09 04 00 00 02 ff 00 00000010: 00 00 07 05 81 02 00 02 00 07 05 01 02 00 02 00 UrbLink = 00000000 SetupPacket = 00000000: 80 06 00 02 00 00 20 00 [1 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_INTERNAL_DEVICE_CONTROL [1 ms] UsbSnoop - MyDispatchInternalIOCTL(f8838e80) : fdo=81adc878, Irp=81b10008, IRQL=0 [1 ms] >>> URB 4 going down >>> -- URB_FUNCTION_SELECT_CONFIGURATION: ConfigurationDescriptor = 0x81b86b70 (configure) ConfigurationDescriptor : bLength = 9 ConfigurationDescriptor : bDescriptorType = 0x00000002 ConfigurationDescriptor : wTotalLength = 0x00000020 ConfigurationDescriptor : bNumInterfaces = 0x00000001 ConfigurationDescriptor : bConfigurationValue = 0x00000001 ConfigurationDescriptor : iConfiguration = 0x00000000 ConfigurationDescriptor : bmAttributes = 0x000000e0 ConfigurationDescriptor : MaxPower = 0x00000000 ConfigurationHandle = 0x00000000 Interface[0]: Length = 56 Interface[0]: InterfaceNumber = 0 Interface[0]: AlternateSetting = 0 [59 ms] UsbSnoop - MyInternalIOCTLCompletion(f8838db0) : fido=00000000, Irp=81b10008, Context=81bc01c0, IRQL=0 [59 ms] <<< URB 4 coming back <<< -- URB_FUNCTION_SELECT_CONFIGURATION: ConfigurationDescriptor = 0x81b86b70 (configure) ConfigurationDescriptor : bLength = 9 ConfigurationDescriptor : bDescriptorType = 0x00000002 ConfigurationDescriptor : wTotalLength = 0x00000020 ConfigurationDescriptor : bNumInterfaces = 0x00000001 ConfigurationDescriptor : bConfigurationValue = 0x00000001 ConfigurationDescriptor : iConfiguration = 0x00000000 ConfigurationDescriptor : bmAttributes = 0x000000e0 ConfigurationDescriptor : MaxPower = 0x00000000 ConfigurationHandle = 0x81c486d0 Interface[0]: Length = 56 Interface[0]: InterfaceNumber = 0 Interface[0]: AlternateSetting = 0 Interface[0]: Class = 0x000000ff Interface[0]: SubClass = 0x00000000 Interface[0]: Protocol = 0x00000000 Interface[0]: InterfaceHandle = 0x81d218b8 Interface[0]: NumberOfPipes = 2 Interface[0]: Pipes[0] : MaximumPacketSize = 0x00000200 Interface[0]: Pipes[0] : EndpointAddress = 0x00000081 Interface[0]: Pipes[0] : Interval = 0x00000000 Interface[0]: Pipes[0] : PipeType = 0x00000002 (UsbdPipeTypeBulk) Interface[0]: Pipes[0] : PipeHandle = 0x81d218d4 Interface[0]: Pipes[0] : MaxTransferSize = 0x00004000 Interface[0]: Pipes[0] : PipeFlags = 0x00000000 Interface[0]: Pipes[1] : MaximumPacketSize = 0x00000200 Interface[0]: Pipes[1] : EndpointAddress = 0x00000001 Interface[0]: Pipes[1] : Interval = 0x00000000 Interface[0]: Pipes[1] : PipeType = 0x00000002 (UsbdPipeTypeBulk) Interface[0]: Pipes[1] : PipeHandle = 0x81d218f4 Interface[0]: Pipes[1] : MaxTransferSize = 0x00004000 Interface[0]: Pipes[1] : PipeFlags = 0x00000000 [60 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [60 ms] UsbSnoop - MyDispatchPNP(f8839ee0) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES) [60 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE) [60 ms] UsbSnoop - MyDispatchPNP(f8839ee0) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE) [60 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS) [60 ms] UsbSnoop - MyDispatchPNP(f8839ee0) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS) [115893 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_INTERNAL_DEVICE_CONTROL [115893 ms] UsbSnoop - MyDispatchInternalIOCTL(f8838e80) : fdo=81adc878, Irp=81cb6500, IRQL=0 [115893 ms] >>> URB 5 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000012 TransferBuffer = 81d20e38 TransferBufferMDL = 00000000 Index = 00000000 DescriptorType = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE) LanguageId = 00000000 [115893 ms] UsbSnoop - MyInternalIOCTLCompletion(f8838db0) : fido=00000000, Irp=81cb6500, Context=81daf9e0, IRQL=2 [115893 ms] <<< URB 5 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 81d51f80 TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000012 TransferBuffer = 81d20e38 TransferBufferMDL = 81c170d0 00000000: 12 01 00 02 ff 00 00 40 25 05 00 10 00 01 01 02 00000010: 00 01 UrbLink = 00000000 SetupPacket = 00000000: 80 06 00 01 00 00 12 00 [115893 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_INTERNAL_DEVICE_CONTROL [115893 ms] UsbSnoop - MyDispatchInternalIOCTL(f8838e80) : fdo=81adc878, Irp=81cb6500, IRQL=0 [115893 ms] >>> URB 6 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000009 TransferBuffer = 81db7bb8 TransferBufferMDL = 00000000 Index = 00000000 DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE) LanguageId = 00000000 [115893 ms] UsbSnoop - MyInternalIOCTLCompletion(f8838db0) : fido=00000000, Irp=81cb6500, Context=81bbb168, IRQL=2 [115893 ms] <<< URB 6 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 81d51f80 TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000009 TransferBuffer = 81db7bb8 TransferBufferMDL = 81c170d0 00000000: 09 02 20 00 01 01 00 e0 00 UrbLink = 00000000 SetupPacket = 00000000: 80 06 00 02 00 00 09 00 [115893 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_INTERNAL_DEVICE_CONTROL [115893 ms] UsbSnoop - MyDispatchInternalIOCTL(f8838e80) : fdo=81adc878, Irp=81cb6500, IRQL=0 [115893 ms] >>> URB 7 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000020 TransferBuffer = 81f5d098 TransferBufferMDL = 00000000 Index = 00000000 DescriptorType = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE) LanguageId = 00000000 [115893 ms] UsbSnoop - MyInternalIOCTLCompletion(f8838db0) : fido=00000000, Irp=81cb6500, Context=81d20e38, IRQL=2 [115893 ms] <<< URB 7 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 81d51f80 TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000020 TransferBuffer = 81f5d098 TransferBufferMDL = 81c170d0 00000000: 09 02 20 00 01 01 00 e0 00 09 04 00 00 02 ff 00 00000010: 00 00 07 05 81 02 00 02 00 07 05 01 02 00 02 00 UrbLink = 00000000 SetupPacket = 00000000: 80 06 00 02 00 00 20 00 [115893 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_INTERNAL_DEVICE_CONTROL [115893 ms] UsbSnoop - MyDispatchInternalIOCTL(f8838e80) : fdo=81adc878, Irp=81cb6500, IRQL=0 [115893 ms] >>> URB 8 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000100 TransferBuffer = 81af3278 TransferBufferMDL = 00000000 Index = 00000001 DescriptorType = 00000003 (USB_STRING_DESCRIPTOR_TYPE) LanguageId = 00000409 [115893 ms] UsbSnoop - MyInternalIOCTLCompletion(f8838db0) : fido=00000000, Irp=81cb6500, Context=81d57da0, IRQL=2 [115893 ms] <<< URB 8 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 81d51f80 TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000000 TransferBuffer = 81af3278 TransferBufferMDL = 81c170d0 UrbLink = 00000000 SetupPacket = 00000000: 80 06 01 03 09 04 00 01 [115893 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_INTERNAL_DEVICE_CONTROL [115893 ms] UsbSnoop - MyDispatchInternalIOCTL(f8838e80) : fdo=81adc878, Irp=81cb6500, IRQL=0 [115893 ms] >>> URB 9 going down >>> -- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: TransferBufferLength = 00000100 TransferBuffer = 81b5b680 TransferBufferMDL = 00000000 Index = 00000002 DescriptorType = 00000003 (USB_STRING_DESCRIPTOR_TYPE) LanguageId = 00000409 [115893 ms] UsbSnoop - MyInternalIOCTLCompletion(f8838db0) : fido=00000000, Irp=81cb6500, Context=81ee8618, IRQL=2 [115893 ms] <<< URB 9 coming back <<< -- URB_FUNCTION_CONTROL_TRANSFER: PipeHandle = 81d51f80 TransferFlags = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000000 TransferBuffer = 81b5b680 TransferBufferMDL = 81c170d0 UrbLink = 00000000 SetupPacket = 00000000: 80 06 02 03 09 04 00 01 [125461 ms] UsbSnoop - DispatchAny(f8837610) : IRP_MJ_INTERNAL_DEVICE_CONTROL [125461 ms] UsbSnoop - MyDispatchInternalIOCTL(f8838e80) : fdo=81adc878, Irp=81c75bf0, IRQL=2 [125461 ms] >>> URB 10 going down >>> -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: PipeHandle = 81d218d4 [endpoint 0x00000081] TransferFlags = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) TransferBufferLength = 00000200 TransferBuffer = 00000000 TransferBufferMDL = 81bb3340 UrbLink = 00000000 还请各位大侠不吝赐教 ,谢谢了 |
|
沙发#
发布于:2008-08-13 23:10
自己先顶一下
|
|