chiark / gitweb /
neo-s gamepad investigations
authorIan Jackson <ian@liberator.relativity.greenend.org.uk>
Mon, 24 Jan 2011 00:30:55 +0000 (00:30 +0000)
committerIan Jackson <ian@liberator.relativity.greenend.org.uk>
Sun, 30 Jan 2011 19:22:05 +0000 (19:22 +0000)
hostside/neo-s.README [new file with mode: 0644]
hostside/neo-s.pl [new file with mode: 0644]
hostside/neo-usb.c [new file with mode: 0644]
hostside/neo-usbsnoop.log [new file with mode: 0644]
hostside/usbsnoop.log [new file with mode: 0644]

diff --git a/hostside/neo-s.README b/hostside/neo-s.README
new file mode 100644 (file)
index 0000000..ffc3fd1
--- /dev/null
@@ -0,0 +1,57 @@
+used DirectX 9 SDK
+     DXSDK_Jun10.exe
+     From Microsoft
+     Saved a copy in anarres:~ian/public-html
+
+     The program "ffconst" can be used to send DX force feedback
+     commands, which the gamepad drivers apparently recognised and
+     converted to requests to spin one or both rumble motors
+
+Alternative would be to try program "fedit" from DirectX 8.1 SDK
+      but was only able to find what looks like a dodgy copy
+      anarres:~ian/public-html/dx81sdk_full.exe
+
+Obv. had to install Neo S drivers from the supplied mini cd
+
+Used "usb snoop" 1.8 from
+   http://benoit.papillault.free.fr/usbsnoop/doc.php.en
+   which worked very nicely
+
+The "2.0" version at
+   http://www.pcausa.com/Utilities/UsbSnoop/
+   sounded like someone pointlessly messing with it so I ignored it
+
+Runes for examining logs from usbsnoop program:
+   less -j40 +/USBD_TRANSFER_DIRECTION_OUT usbsnoop.log 
+   perl -pe 's/\n$/\t\t/ unless m/UsbSnoop - MyDispatch/' <usbsnoop.log |grep TRANSFER_DIRECTION_OUT |less -S
+
+Runes for testing on liberator:
+   perl -e 'print pack "c*", map { hex $_ } @ARGV' 4d 4d 46 00 c0 00 00 00 00 >/dev/hidraw0 
+
+
+
+
+
+
+Conclusions
+   Neo S firmware is batshit
+
+   Note how you have to send the usb report number byte again as the
+   first byte of the report.  Dunno what the random 46 is.
+
+   Anyway, you write into /dev/hidraw* the following byte sequence:
+     4d 4d 46 RR LL 00 00 00 00
+   where RR is for the heavy weight motor on the RHS
+   where LL is for the lighter weight motor on the LHS
+
+   LL 
+   Sensibe range 0c..60
+   Lower values risk a stall even when running
+   Higher values make no difference
+   To start from stopped need 18
+
+   RR 
+   Sensible range 20..60
+   Lower values risk a stall even when running
+   Higher values make no difference
+   To start from stopped need at least 30
diff --git a/hostside/neo-s.pl b/hostside/neo-s.pl
new file mode 100644 (file)
index 0000000..2365b0f
--- /dev/null
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+$|=1;
+for ($a=0xff; $a>=0x00; $a-=0x01) {
+#for ($a=0x6a; $a<=0x6a; $a+=0x01) {
+    next if $a eq 0x43;
+    next if $a eq 0x46;
+    next if $a eq 0x53;
+    next if $a eq 0x58;
+    next if $a eq 0x6a;
+for ($b=0x40; $b<=0xc0; $b++) {
+#for ($b=0xff; $b<=0xff; $b++) {
+@l= ( $b,0xff,$a);
+print STDERR (join ' ', map { sprintf "%02x", $_ } @l), "\n";
+#next if $a eq 0x46;
+    print pack("c*", @l) or die $!;
+}
+printf STDERR "---\n";
+#sleep 1;# if !($a & 0x0f);
+}    
+
+__END__
+
+ ??,0x00,0x43   ?? is something to do with mice; with ??=0, no mice visible
+speed,any?,0x46 rumble big weight (Left)
+0xff,0x00,0x53  swaps things round
+ some,some,0x58  swaps things round - hat switch from joystick ?
+ some,some,0x6a  crashes ?  no further output afaict
diff --git a/hostside/neo-usb.c b/hostside/neo-usb.c
new file mode 100644 (file)
index 0000000..5c0d375
--- /dev/null
@@ -0,0 +1,60 @@
+/**/
+
+int main(void) {
+  usb_init();
+  usb_find_busses();
+  usb_find_devices();
+  struct usb_bus busses= usb_get_busses();
+  struct usb_bus *bus;
+  struct usb_device *dev;
+  for (bus=busses; bus; bus=bus->next) {
+    for (dev=bus->devices; dev; dev=dev->next) {
+      if (dev->descriptor.idVendor != 0x18b ||
+         dev->descriptor.idProduct != 0x123)
+       continue;
+      goto found;
+    }
+  }
+  die("not found");
+
+  assert(dev->bNumConfigurations == 1);
+  assert(dev->config[0].bNumInterfaces == 2);
+  assert(dev->config[0].interface[0].
+
+  usb_dev_handle *dh= usb_open(dev);
+  int r= usb_claim_interface(dh, 0);  assert(r>=0);
+
+  r= usb_set_configuration(dh, dev->config[0].bConfigurationValue);
+  assert(r>=0);
+
+  usb_dev_handle *dh2= usb_open(dev);
+  int r= usb_claim_interface(dh, 1);  assert(r>=0);
+
+  printf("ok\n");
+  char hbuf[100];
+  uint8_t cbuf[ sizeof(hbuf)/2 + 10 ];
+  for (;;) {
+  n:
+    putchar('>');
+    fflush(stdout);
+    if (!fgets(hbuf, sizeof(hbuf), stdin)) break;
+    const char *p= hbuf;
+    uint8_t *o= cbuf;
+    for (;;) {
+      char h3[3];
+      int c= *p++;
+      if (c=='\n') break;
+      if (isspace((unsigned char)c)) continue;
+      if (!c) die("bad line");
+      h3[0]= c;
+      c= *p++;
+      if (!c) die("bad line");
+      h3[1]= c;
+      h3[2]= 0;
+      char *ep;
+      o= strtoul(h3, &ep, 16);
+      if (ep != h3+2) { fprintf(stderr,"bad hex\n"); goto n; }
+    }
+    r= usb_control_msg(dh, 
+
+  usb_control_msg
diff --git a/hostside/neo-usbsnoop.log b/hostside/neo-usbsnoop.log
new file mode 100644 (file)
index 0000000..1ef8cee
--- /dev/null
@@ -0,0 +1,793 @@
+[0 ms] UsbSnoop compiled on Jan 18 2003 22:41:32 loading
+[0 ms] UsbSnoop - DriverEntry(ba362c40) : Windows NT WDM version 1.32
+[0 ms] UsbSnoop - AddDevice(ba362f50) : DriverObject 89269dc0, pdo 89237280
+[0 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (0x00000018)
+[0 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (0x00000018)
+[32 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS)
+[32 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS)
+[32 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
+[32 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
+[32 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
+[32 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_START_DEVICE)
+[32 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_START_DEVICE)
+[32 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[32 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89367008, IRQL=0
+[32 ms]  >>>  URB 1 going down  >>> 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000012
+  TransferBuffer       = 89b33898
+  TransferBufferMDL    = 00000000
+  Index                = 00000000
+  DescriptorType       = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[32 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=00000000, Irp=89367008, Context=89ad6c60, IRQL=0
+[32 ms]  <<<  URB 1 coming back  <<< 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000012
+  TransferBuffer       = 89b33898
+  TransferBufferMDL    = 00000000
+    00000000: 12 01 00 01 00 00 00 08 8b 01 23 01 23 01 01 05
+    00000010: 00 01
+  Index                = 00000000
+  DescriptorType       = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[32 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[32 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89367008, IRQL=0
+[32 ms]  >>>  URB 2 going down  >>> 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000009
+  TransferBuffer       = 89287a50
+  TransferBufferMDL    = 00000000
+  Index                = 00000000
+  DescriptorType       = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[32 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=00000000, Irp=89367008, Context=89a34d30, IRQL=0
+[32 ms]  <<<  URB 2 coming back  <<< 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000009
+  TransferBuffer       = 89287a50
+  TransferBufferMDL    = 00000000
+    00000000: 09 02 22 00 01 01 04 a0 32
+  Index                = 00000000
+  DescriptorType       = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[32 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[32 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89367008, IRQL=0
+[33 ms]  >>>  URB 3 going down  >>> 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000022
+  TransferBuffer       = 8998e5c0
+  TransferBufferMDL    = 00000000
+  Index                = 00000000
+  DescriptorType       = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[33 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=00000000, Irp=89367008, Context=8951c320, IRQL=0
+[33 ms]  <<<  URB 3 coming back  <<< 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000022
+  TransferBuffer       = 8998e5c0
+  TransferBufferMDL    = 00000000
+    00000000: 09 02 22 00 01 01 04 a0 32 09 04 00 00 01 03 00
+    00000010: 00 05 09 21 00 01 00 01 22 cd 00 07 05 81 03 08
+    00000020: 00 0a
+  Index                = 00000000
+  DescriptorType       = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[33 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[33 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89367008, IRQL=0
+[33 ms]  >>>  URB 4 going down  >>> 
+-- URB_FUNCTION_SELECT_CONFIGURATION:
+  ConfigurationDescriptor = 0x8998e5c0 (configure)
+  ConfigurationDescriptor : bLength             = 9
+  ConfigurationDescriptor : bDescriptorType     = 0x00000002
+  ConfigurationDescriptor : wTotalLength        = 0x00000022
+  ConfigurationDescriptor : bNumInterfaces      = 0x00000001
+  ConfigurationDescriptor : bConfigurationValue = 0x00000001
+  ConfigurationDescriptor : iConfiguration      = 0x00000004
+  ConfigurationDescriptor : bmAttributes        = 0x000000a0
+  ConfigurationDescriptor : MaxPower            = 0x00000032
+  ConfigurationHandle     = 0x00000000
+  Interface[0]: Length            = 36
+  Interface[0]: InterfaceNumber   = 0
+  Interface[0]: AlternateSetting  = 0
+[33 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=00000000, Irp=89367008, Context=891cef18, IRQL=0
+[33 ms]  <<<  URB 4 coming back  <<< 
+-- URB_FUNCTION_SELECT_CONFIGURATION:
+  ConfigurationDescriptor = 0x8998e5c0 (configure)
+  ConfigurationDescriptor : bLength             = 9
+  ConfigurationDescriptor : bDescriptorType     = 0x00000002
+  ConfigurationDescriptor : wTotalLength        = 0x00000022
+  ConfigurationDescriptor : bNumInterfaces      = 0x00000001
+  ConfigurationDescriptor : bConfigurationValue = 0x00000001
+  ConfigurationDescriptor : iConfiguration      = 0x00000004
+  ConfigurationDescriptor : bmAttributes        = 0x000000a0
+  ConfigurationDescriptor : MaxPower            = 0x00000032
+  ConfigurationHandle     = 0x8996d6b0
+  Interface[0]: Length            = 36
+  Interface[0]: InterfaceNumber   = 0
+  Interface[0]: AlternateSetting  = 0
+  Interface[0]: Class             = 0x00000003
+  Interface[0]: SubClass          = 0x00000000
+  Interface[0]: Protocol          = 0x00000000
+  Interface[0]: InterfaceHandle   = 0x8949a6c8
+  Interface[0]: NumberOfPipes     = 1
+  Interface[0]: Pipes[0] : MaximumPacketSize = 0x00000008
+  Interface[0]: Pipes[0] : EndpointAddress   = 0x00000081
+  Interface[0]: Pipes[0] : Interval          = 0x0000000a
+  Interface[0]: Pipes[0] : PipeType          = 0x00000003 (UsbdPipeTypeInterrupt)
+  Interface[0]: Pipes[0] : PipeHandle        = 0x8949a6e4
+  Interface[0]: Pipes[0] : MaxTransferSize   = 0x00001000
+  Interface[0]: Pipes[0] : PipeFlags         = 0x00000000
+[33 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[33 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89367008, IRQL=0
+[33 ms]  >>>  URB 5 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000000
+  TransferBuffer       = 00000000
+  TransferBufferMDL    = 00000000
+
+    no data supplied
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 0000000a
+  Value                   = 00000000
+  Index                   = 00000000
+[35 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=00000000, Irp=89367008, Context=8937e220, IRQL=2
+[35 ms]  <<<  URB 5 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000000
+  TransferBuffer       = 00000000
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 0a 00 00 00 00 00 00
+[35 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[35 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=893fe8a0, IRQL=0
+[35 ms]  >>>  URB 6 going down  >>> 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE:
+  TransferBufferLength = 0000010d
+  TransferBuffer       = 895c3a60
+  TransferBufferMDL    = 00000000
+  Index                = 00000000
+  DescriptorType       = 00000022 (<illegal descriptor type!>)
+  LanguageId           = 00000000
+[65 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=00000000, Irp=893fe8a0, Context=893cafb0, IRQL=2
+[65 ms]  <<<  URB 6 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 000000cd
+  TransferBuffer       = 895c3a60
+  TransferBufferMDL    = 894f6220
+    00000000: 05 01 09 04 a1 01 85 4a 09 01 a1 00 05 01 09 30
+    00000010: 09 31 15 80 25 7f 35 00 45 ff 66 00 00 75 08 95
+    00000020: 02 81 02 c0 05 02 09 ba 15 00 26 ff 00 75 08 95
+    00000030: 01 81 02 05 02 09 bb 15 00 26 ff 00 75 08 95 01
+    00000040: 81 02 05 01 09 39 15 01 25 08 36 00 00 46 3b 01
+    00000050: 65 14 75 08 95 01 81 02 95 0c 75 01 05 09 45 01
+    00000060: 35 00 15 00 25 01 19 01 29 0c 81 02 95 04 06 05
+    00000070: ff 09 01 81 02 c0 05 14 09 24 a1 01 85 4d 15 00
+    00000080: 26 ff 00 09 31 75 08 95 07 91 82 c0 05 01 09 06
+    00000090: a1 01 85 4b 05 07 19 e0 29 e7 15 00 25 01 75 01
+    000000a0: 95 08 81 02 95 01 75 08 81 01 95 05 75 01 05 08
+    000000b0: 19 01 29 05 91 02 95 01 75 03 91 01 95 05 75 08
+    000000c0: 15 00 25 68 05 07 19 00 29 68 81 00 c0
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 81 06 00 22 00 00 0d 01
+[65 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
+[65 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
+[65 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)
+[65 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)
+[65 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[65 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[66 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[66 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[66 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[66 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[67 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[67 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[67 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[67 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[68 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[68 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[68 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[68 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[88 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[88 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89313008, IRQL=0
+[89 ms]  >>>  URB 7 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[89 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[89 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=893fe8a0, IRQL=0
+[89 ms]  >>>  URB 8 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[93 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[93 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[101 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=89313008, Context=892614d8, IRQL=2
+[101 ms]  <<<  URB 7 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 8907d9a0
+    00000000: 4a 7e 81 7e 81 00 00 10
+  UrbLink              = 00000000
+[101 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[101 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89313008, IRQL=2
+[101 ms]  >>>  URB 9 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[109 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=893fe8a0, Context=89958a60, IRQL=2
+[109 ms]  <<<  URB 8 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 89a1b690
+    00000000: 4a 7e 81 7e 81 00 00 10
+  UrbLink              = 00000000
+[109 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[109 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=893fe8a0, IRQL=2
+[109 ms]  >>>  URB 10 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[117 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=89313008, Context=89b07af0, IRQL=2
+[117 ms]  <<<  URB 9 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 894f6220
+    00000000: 4a 7e 81 7e 81 00 00 10
+  UrbLink              = 00000000
+[117 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[117 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89313008, IRQL=2
+[117 ms]  >>>  URB 11 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[125 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=893fe8a0, Context=89363da8, IRQL=2
+[125 ms]  <<<  URB 10 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 89a1b690
+    00000000: 4a 7e 81 7e 81 00 00 10
+  UrbLink              = 00000000
+[125 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[125 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=893fe8a0, IRQL=2
+[125 ms]  >>>  URB 12 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[133 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=89313008, Context=899f05c8, IRQL=2
+[133 ms]  <<<  URB 11 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 894f6220
+    00000000: 4a 7e 81 7e 81 00 00 10
+  UrbLink              = 00000000
+[133 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[133 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89313008, IRQL=2
+[133 ms]  >>>  URB 13 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[141 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=893fe8a0, Context=8924f130, IRQL=2
+[141 ms]  <<<  URB 12 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 89a1b690
+    00000000: 4a 7e 81 7e 81 00 00 10
+  UrbLink              = 00000000
+[141 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[141 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=893fe8a0, IRQL=2
+[141 ms]  >>>  URB 14 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[149 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=89313008, Context=8995fb70, IRQL=2
+[149 ms]  <<<  URB 13 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 894f6220
+    00000000: 4a 7e 81 7e 81 00 00 10
+  UrbLink              = 00000000
+[149 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[149 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89313008, IRQL=2
+[149 ms]  >>>  URB 15 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[157 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=893fe8a0, Context=89b97250, IRQL=2
+[157 ms]  <<<  URB 14 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 89a1b690
+    00000000: 4a 7e 81 7e 81 00 00 10
+  UrbLink              = 00000000
+[157 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[157 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=893fe8a0, IRQL=2
+[157 ms]  >>>  URB 16 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[1066 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[1066 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=893fdde0, IRQL=0
+[1066 ms]  >>>  URB 17 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000002
+  TransferBuffer       = 89abc050
+  TransferBufferMDL    = 00000000
+    00000000: 4b 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024b
+  Index                   = 00000000
+[1069 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=893fdde0, Context=89b97250, IRQL=2
+[1069 ms]  <<<  URB 17 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000002
+  TransferBuffer       = 89abc050
+  TransferBufferMDL    = 891c0540
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4b 02 00 00 02 00
+[7391 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[7391 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89b2d308, IRQL=0
+[7391 ms]  >>>  URB 18 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c4491c
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 00 00 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[7395 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=89b2d308, Context=89223fe8, IRQL=2
+[7395 ms]  <<<  URB 18 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c4491c
+  TransferBufferMDL    = 895086d8
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[7395 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[7395 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89392630, IRQL=0
+[7395 ms]  >>>  URB 19 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c4791c
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 00 00 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[7399 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=89392630, Context=89997540, IRQL=2
+[7399 ms]  <<<  URB 19 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c4791c
+  TransferBufferMDL    = 895086d8
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[7408 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[7409 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89271678, IRQL=0
+[7409 ms]  >>>  URB 20 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c2e2e0
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 00 00 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[7412 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=89271678, Context=893a9e58, IRQL=2
+[7412 ms]  <<<  URB 20 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c2e2e0
+  TransferBufferMDL    = 895086d8
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[20348 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[20348 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=890a9050, IRQL=0
+[20348 ms]  >>>  URB 21 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7ddc2e0
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 02 23 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[20352 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=890a9050, Context=899706c0, IRQL=2
+[20352 ms]  <<<  URB 21 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7ddc2e0
+  TransferBufferMDL    = 89099f88
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[25036 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[25036 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=895d6c48, IRQL=0
+[25036 ms]  >>>  URB 22 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7b4b2e0
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 50 30 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[25040 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=895d6c48, Context=89223fe8, IRQL=2
+[25040 ms]  <<<  URB 22 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7b4b2e0
+  TransferBufferMDL    = 895247f0
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[30100 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[30100 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=890a9050, IRQL=0
+[30100 ms]  >>>  URB 23 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7bcd2e0
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 f4 fa 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[30104 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=890a9050, Context=899b2e78, IRQL=2
+[30104 ms]  <<<  URB 23 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7bcd2e0
+  TransferBufferMDL    = 895247f0
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[35538 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[35538 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=890a9050, IRQL=0
+[35538 ms]  >>>  URB 24 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7ba62e0
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 ff 00 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[35541 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=890a9050, Context=89291360, IRQL=2
+[35541 ms]  <<<  URB 24 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7ba62e0
+  TransferBufferMDL    = 895763d8
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[40133 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[40133 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=890a9050, IRQL=0
+[40133 ms]  >>>  URB 25 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7be82e0
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 00 0c 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[40136 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=890a9050, Context=89b97250, IRQL=2
+[40136 ms]  <<<  URB 25 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7be82e0
+  TransferBufferMDL    = 890aa6c8
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[45618 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[45618 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=890a9050, IRQL=0
+[45618 ms]  >>>  URB 26 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c112e0
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 02 2b 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[45622 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=890a9050, Context=89a34d30, IRQL=2
+[45622 ms]  <<<  URB 26 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c112e0
+  TransferBufferMDL    = 895247f0
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[50509 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[50509 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=895d6c48, IRQL=0
+[50509 ms]  >>>  URB 27 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c0c2e0
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 00 03 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[50513 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=895d6c48, Context=891c5c98, IRQL=2
+[50513 ms]  <<<  URB 27 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c0c2e0
+  TransferBufferMDL    = 89295450
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[55572 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[55572 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=892fbd90, IRQL=0
+[55572 ms]  >>>  URB 28 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c5c2e0
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 03 35 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[55576 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=892fbd90, Context=89a34d30, IRQL=2
+[55576 ms]  <<<  URB 28 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c5c2e0
+  TransferBufferMDL    = 890aa6c8
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[60558 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[60558 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89527770, IRQL=0
+[60558 ms]  >>>  URB 29 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c532e0
+  TransferBufferMDL    = 00000000
+    00000000: 4d 46 00 03 00 00 00 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 0000024d
+  Index                   = 00000000
+[60561 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=89527770, Context=89a34d30, IRQL=2
+[60561 ms]  <<<  URB 29 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892aa4d8
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = a7c532e0
+  TransferBufferMDL    = 890aa6c8
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 4d 02 00 00 08 00
+[63991 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=89313008, Context=89508040, IRQL=2
+[63991 ms]  <<<  URB 15 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000000
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 894f6220
+  UrbLink              = 00000000
+[63991 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[63991 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=8930e008, IRQL=0
+[63991 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[63991 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=8930e008, IRQL=0
+[63991 ms]  >>>  URB 30 going down  >>> 
+-- URB_FUNCTION_RESET_PIPE:
+  PipeHandle = 8949a6e4 [endpoint 0x00000081]
+[63999 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=00000000, Irp=8930e008, Context=89b221a0, IRQL=0
+[63999 ms]  <<<  URB 30 coming back  <<< 
+-- URB_FUNCTION_RESET_PIPE:
+[64358 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=893fe8a0, Context=899f05c8, IRQL=2
+[64358 ms]  <<<  URB 16 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000000
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 89a1b690
+  UrbLink              = 00000000
+[64481 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[64481 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[64481 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[64481 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[64996 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[64996 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=89313008, IRQL=2
+[64996 ms]  >>>  URB 31 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[65355 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[65355 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=893fe8a0, IRQL=2
+[65355 ms]  >>>  URB 32 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[65369 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=89313008, Context=89a207c0, IRQL=0
+[65369 ms]  <<<  URB 31 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 8958f050
+  TransferBufferMDL    = 00000000
+    00000000: 4a 7e 81 7e 81 00 00 10
+  UrbLink              = 00000000
+[65369 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=891dd528, Irp=893fe8a0, Context=899b2e78, IRQL=0
+[65369 ms]  <<<  URB 32 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 8949a6e4 [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89ba4f88
+  TransferBufferMDL    = 00000000
+    00000000: 4a 7e 81 7e 81 00 00 10
+  UrbLink              = 00000000
+[65369 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_SURPRISE_REMOVAL)
+[65369 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_SURPRISE_REMOVAL)
+[73638 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[73638 ms] UsbSnoop - MyDispatchInternalIOCTL(ba361e80) : fdo=89237280, Irp=8939d008, IRQL=0
+[73638 ms]  >>>  URB 33 going down  >>> 
+-- URB_FUNCTION_ABORT_PIPE:
+  PipeHandle = 8949a6e4 [endpoint 0x00000081]
+[74154 ms] UsbSnoop - MyInternalIOCTLCompletion(ba361db0) : fido=00000000, Irp=8939d008, Context=891bad00, IRQL=2
+[74154 ms]  <<<  URB 33 coming back  <<< 
+-- URB_FUNCTION_ABORT_PIPE:
+[74154 ms] UsbSnoop - DispatchAny(ba360610) : IRP_MJ_PNP (IRP_MN_REMOVE_DEVICE)
+[74154 ms] UsbSnoop - MyDispatchPNP(ba362ee0) : IRP_MJ_PNP (IRP_MN_REMOVE_DEVICE)
+[74154 ms] UsbSnoop - RemoveDevice(ba362e90) : fido=892424e0 pdx=89242598
+[74154 ms] UsbSnoop - DriverUnload(ba362de0) : DriverObject 89269dc0, IRQL=0
+[74154 ms] Driver unloaded!
+MyThreadFunction : myMsgCount=211 myMaxSemaphoreCount=24 myMaxIrql=2, myAllocationFailed=0, mySemaphoreFailed=0
diff --git a/hostside/usbsnoop.log b/hostside/usbsnoop.log
new file mode 100644 (file)
index 0000000..3625c8e
--- /dev/null
@@ -0,0 +1,446 @@
+[0 ms] UsbSnoop compiled on Jan 18 2003 22:41:32 loading
+[0 ms] UsbSnoop - DriverEntry(ba46ac40) : Windows NT WDM version 1.32
+[0 ms] UsbSnoop - AddDevice(ba46af50) : DriverObject 89432b10, pdo 89305518
+[0 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (0x00000018)
+[0 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (0x00000018)
+[68 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS)
+[68 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_QUERY_RESOURCE_REQUIREMENTS)
+[68 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
+[68 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_FILTER_RESOURCE_REQUIREMENTS)
+[68 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
+[68 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_START_DEVICE)
+[68 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_START_DEVICE)
+[68 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[68 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=892ffe70, IRQL=0
+[68 ms]  >>>  URB 1 going down  >>> 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000012
+  TransferBuffer       = 89446090
+  TransferBufferMDL    = 00000000
+  Index                = 00000000
+  DescriptorType       = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[68 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=00000000, Irp=892ffe70, Context=892532d8, IRQL=0
+[68 ms]  <<<  URB 1 coming back  <<< 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000012
+  TransferBuffer       = 89446090
+  TransferBufferMDL    = 00000000
+    00000000: 12 01 10 01 00 00 00 08 d9 04 03 16 10 03 01 02
+    00000010: 00 01
+  Index                = 00000000
+  DescriptorType       = 00000001 (USB_DEVICE_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[68 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[68 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=892ffe70, IRQL=0
+[68 ms]  >>>  URB 2 going down  >>> 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000009
+  TransferBuffer       = 89962be8
+  TransferBufferMDL    = 00000000
+  Index                = 00000000
+  DescriptorType       = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[68 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=00000000, Irp=892ffe70, Context=893c2380, IRQL=0
+[68 ms]  <<<  URB 2 coming back  <<< 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000009
+  TransferBuffer       = 89962be8
+  TransferBufferMDL    = 00000000
+    00000000: 09 02 22 00 01 01 00 a0 32
+  Index                = 00000000
+  DescriptorType       = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[68 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[68 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=892ffe70, IRQL=0
+[68 ms]  >>>  URB 3 going down  >>> 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000022
+  TransferBuffer       = 89451f40
+  TransferBufferMDL    = 00000000
+  Index                = 00000000
+  DescriptorType       = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[68 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=00000000, Irp=892ffe70, Context=8996bbe8, IRQL=0
+[68 ms]  <<<  URB 3 coming back  <<< 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
+  TransferBufferLength = 00000022
+  TransferBuffer       = 89451f40
+  TransferBufferMDL    = 00000000
+    00000000: 09 02 22 00 01 01 00 a0 32 09 04 00 00 01 03 01
+    00000010: 01 00 09 21 10 01 00 01 22 3e 00 07 05 81 03 08
+    00000020: 00 0a
+  Index                = 00000000
+  DescriptorType       = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
+  LanguageId           = 00000000
+[68 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[68 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=892ffe70, IRQL=0
+[68 ms]  >>>  URB 4 going down  >>> 
+-- URB_FUNCTION_SELECT_CONFIGURATION:
+  ConfigurationDescriptor = 0x89451f40 (configure)
+  ConfigurationDescriptor : bLength             = 9
+  ConfigurationDescriptor : bDescriptorType     = 0x00000002
+  ConfigurationDescriptor : wTotalLength        = 0x00000022
+  ConfigurationDescriptor : bNumInterfaces      = 0x00000001
+  ConfigurationDescriptor : bConfigurationValue = 0x00000001
+  ConfigurationDescriptor : iConfiguration      = 0x00000000
+  ConfigurationDescriptor : bmAttributes        = 0x000000a0
+  ConfigurationDescriptor : MaxPower            = 0x00000032
+  ConfigurationHandle     = 0x00000000
+  Interface[0]: Length            = 36
+  Interface[0]: InterfaceNumber   = 0
+  Interface[0]: AlternateSetting  = 0
+[68 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=00000000, Irp=892ffe70, Context=894f1600, IRQL=0
+[68 ms]  <<<  URB 4 coming back  <<< 
+-- URB_FUNCTION_SELECT_CONFIGURATION:
+  ConfigurationDescriptor = 0x89451f40 (configure)
+  ConfigurationDescriptor : bLength             = 9
+  ConfigurationDescriptor : bDescriptorType     = 0x00000002
+  ConfigurationDescriptor : wTotalLength        = 0x00000022
+  ConfigurationDescriptor : bNumInterfaces      = 0x00000001
+  ConfigurationDescriptor : bConfigurationValue = 0x00000001
+  ConfigurationDescriptor : iConfiguration      = 0x00000000
+  ConfigurationDescriptor : bmAttributes        = 0x000000a0
+  ConfigurationDescriptor : MaxPower            = 0x00000032
+  ConfigurationHandle     = 0x8924fe20
+  Interface[0]: Length            = 36
+  Interface[0]: InterfaceNumber   = 0
+  Interface[0]: AlternateSetting  = 0
+  Interface[0]: Class             = 0x00000003
+  Interface[0]: SubClass          = 0x00000001
+  Interface[0]: Protocol          = 0x00000001
+  Interface[0]: InterfaceHandle   = 0x891df6c0
+  Interface[0]: NumberOfPipes     = 1
+  Interface[0]: Pipes[0] : MaximumPacketSize = 0x00000008
+  Interface[0]: Pipes[0] : EndpointAddress   = 0x00000081
+  Interface[0]: Pipes[0] : Interval          = 0x0000000a
+  Interface[0]: Pipes[0] : PipeType          = 0x00000003 (UsbdPipeTypeInterrupt)
+  Interface[0]: Pipes[0] : PipeHandle        = 0x891df6dc
+  Interface[0]: Pipes[0] : MaxTransferSize   = 0x00001000
+  Interface[0]: Pipes[0] : PipeFlags         = 0x00000000
+[68 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[68 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=892ffe70, IRQL=0
+[68 ms]  >>>  URB 5 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000000
+  TransferBuffer       = 00000000
+  TransferBufferMDL    = 00000000
+
+    no data supplied
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 0000000a
+  Value                   = 00000000
+  Index                   = 00000000
+[75 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=00000000, Irp=892ffe70, Context=899aabf8, IRQL=2
+[75 ms]  <<<  URB 5 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892bd230
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000000
+  TransferBuffer       = 00000000
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 0a 00 00 00 00 00 00
+[75 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[75 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=892ffe70, IRQL=0
+[75 ms]  >>>  URB 6 going down  >>> 
+-- URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE:
+  TransferBufferLength = 0000007e
+  TransferBuffer       = 8912f880
+  TransferBufferMDL    = 00000000
+  Index                = 00000000
+  DescriptorType       = 00000022 (<illegal descriptor type!>)
+  LanguageId           = 00000000
+[116 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=00000000, Irp=892ffe70, Context=893f2ef0, IRQL=2
+[116 ms]  <<<  URB 6 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892bd230
+  TransferFlags        = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 0000003e
+  TransferBuffer       = 8912f880
+  TransferBufferMDL    = 8922d6d0
+    00000000: 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01
+    00000010: 75 01 95 08 81 02 95 01 75 08 81 01 95 03 75 01
+    00000020: 05 08 19 01 29 03 91 02 95 05 75 01 91 01 95 06
+    00000030: 75 08 26 ff 00 05 07 19 00 29 91 81 00 c0
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 81 06 00 22 00 00 7e 00
+[116 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
+[116 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_QUERY_CAPABILITIES)
+[116 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)
+[116 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_QUERY_PNP_DEVICE_STATE)
+[116 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[116 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[116 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[116 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[117 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[117 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_QUERY_ID)
+[219 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[219 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=892ffe70, IRQL=0
+[219 ms]  >>>  URB 7 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89a79670
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[219 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[219 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=890f2340, IRQL=0
+[219 ms]  >>>  URB 8 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89b22db0
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[223 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[223 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[1213 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[1213 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=893eebd0, IRQL=0
+[1213 ms]  >>>  URB 9 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000001
+  TransferBuffer       = 8940aff9
+  TransferBufferMDL    = 00000000
+    00000000: 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 00000200
+  Index                   = 00000000
+[1221 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=893eebd0, Context=89b89c38, IRQL=2
+[1221 ms]  <<<  URB 9 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892bd230
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000001
+  TransferBuffer       = 8940aff9
+  TransferBufferMDL    = 899988c0
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 00 02 00 00 01 00
+[8524 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=892ffe70, Context=899fc130, IRQL=2
+[8524 ms]  <<<  URB 7 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89a79670
+  TransferBufferMDL    = 8945ddd0
+    00000000: 00 00 53 00 00 00 00 00
+  UrbLink              = 00000000
+[8524 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[8524 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=892ffe70, IRQL=2
+[8524 ms]  >>>  URB 10 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89a79670
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[8524 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[8524 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=893c86b8, IRQL=0
+[8524 ms]  >>>  URB 11 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000001
+  TransferBuffer       = 8940aff9
+  TransferBufferMDL    = 00000000
+    00000000: 01
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 00000200
+  Index                   = 00000000
+[8529 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=893c86b8, Context=8951eb70, IRQL=2
+[8529 ms]  <<<  URB 11 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892bd230
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000001
+  TransferBuffer       = 8940aff9
+  TransferBufferMDL    = 899988c0
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 00 02 00 00 01 00
+[8596 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=890f2340, Context=899ba1b0, IRQL=2
+[8596 ms]  <<<  URB 8 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89b22db0
+  TransferBufferMDL    = 893c1ad0
+    00000000: 00 00 00 00 00 00 00 00
+  UrbLink              = 00000000
+[8596 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[8596 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=890f2340, IRQL=2
+[8596 ms]  >>>  URB 12 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89b22db0
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[10989 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=892ffe70, Context=891cefa8, IRQL=2
+[10989 ms]  <<<  URB 10 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89a79670
+  TransferBufferMDL    = 8945ddd0
+    00000000: 00 00 53 00 00 00 00 00
+  UrbLink              = 00000000
+[10989 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[10989 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=892ffe70, IRQL=2
+[10989 ms]  >>>  URB 13 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89a79670
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[10989 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[10989 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=89456518, IRQL=0
+[10989 ms]  >>>  URB 14 going down  >>> 
+-- URB_FUNCTION_CLASS_INTERFACE:
+  TransferFlags          = 00000000 (USBD_TRANSFER_DIRECTION_OUT, ~USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000001
+  TransferBuffer       = 899973e1
+  TransferBufferMDL    = 00000000
+    00000000: 00
+  UrbLink                 = 00000000
+  RequestTypeReservedBits = 00000022
+  Request                 = 00000009
+  Value                   = 00000200
+  Index                   = 00000000
+[10994 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=89456518, Context=8998fa50, IRQL=2
+[10994 ms]  <<<  URB 14 coming back  <<< 
+-- URB_FUNCTION_CONTROL_TRANSFER:
+  PipeHandle           = 892bd230
+  TransferFlags        = 0000000a (USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000001
+  TransferBuffer       = 899973e1
+  TransferBufferMDL    = 89b1e008
+  UrbLink              = 00000000
+  SetupPacket          =
+    00000000: 21 09 00 02 00 00 01 00
+[11069 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=890f2340, Context=899aabf8, IRQL=2
+[11069 ms]  <<<  URB 12 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89b22db0
+  TransferBufferMDL    = 893c1ad0
+    00000000: 00 00 00 00 00 00 00 00
+  UrbLink              = 00000000
+[11069 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[11069 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=890f2340, IRQL=2
+[11069 ms]  >>>  URB 15 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89b22db0
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[18062 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=892ffe70, Context=89364a48, IRQL=2
+[18062 ms]  <<<  URB 13 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000000
+  TransferBuffer       = 89a79670
+  TransferBufferMDL    = 8945ddd0
+  UrbLink              = 00000000
+[18062 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[18062 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=89461a38, IRQL=0
+[18062 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[18062 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=89461a38, IRQL=0
+[18062 ms]  >>>  URB 16 going down  >>> 
+-- URB_FUNCTION_RESET_PIPE:
+  PipeHandle = 891df6dc [endpoint 0x00000081]
+[18070 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=00000000, Irp=89461a38, Context=891cefa8, IRQL=0
+[18070 ms]  <<<  URB 16 coming back  <<< 
+-- URB_FUNCTION_RESET_PIPE:
+[18164 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=890f2340, Context=89508040, IRQL=2
+[18164 ms]  <<<  URB 15 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000000
+  TransferBuffer       = 89b22db0
+  TransferBufferMDL    = 893c1ad0
+  UrbLink              = 00000000
+[18286 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[18286 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[18286 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[18286 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_QUERY_DEVICE_RELATIONS)
+[19067 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[19067 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=892ffe70, IRQL=2
+[19067 ms]  >>>  URB 17 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89a79670
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[19161 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[19161 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=890f2340, IRQL=2
+[19161 ms]  >>>  URB 18 going down  >>> 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89b22db0
+  TransferBufferMDL    = 00000000
+  UrbLink              = 00000000
+[19175 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=892ffe70, Context=895a7f28, IRQL=0
+[19175 ms]  <<<  URB 17 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89a79670
+  TransferBufferMDL    = 00000000
+    00000000: 00 00 53 00 00 00 00 00
+  UrbLink              = 00000000
+[19175 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=8945cd28, Irp=890f2340, Context=89508040, IRQL=0
+[19175 ms]  <<<  URB 18 coming back  <<< 
+-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
+  PipeHandle           = 891df6dc [endpoint 0x00000081]
+  TransferFlags        = 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
+  TransferBufferLength = 00000008
+  TransferBuffer       = 89b22db0
+  TransferBufferMDL    = 00000000
+    00000000: 00 00 00 00 00 00 00 00
+  UrbLink              = 00000000
+[19175 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_SURPRISE_REMOVAL)
+[19175 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_SURPRISE_REMOVAL)
+[20725 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_INTERNAL_DEVICE_CONTROL
+[20725 ms] UsbSnoop - MyDispatchInternalIOCTL(ba469e80) : fdo=89305518, Irp=89492dc8, IRQL=0
+[20725 ms]  >>>  URB 19 going down  >>> 
+-- URB_FUNCTION_ABORT_PIPE:
+  PipeHandle = 891df6dc [endpoint 0x00000081]
+[21255 ms] UsbSnoop - MyInternalIOCTLCompletion(ba469db0) : fido=00000000, Irp=89492dc8, Context=89364a48, IRQL=2
+[21255 ms]  <<<  URB 19 coming back  <<< 
+-- URB_FUNCTION_ABORT_PIPE:
+[21255 ms] UsbSnoop - DispatchAny(ba468610) : IRP_MJ_PNP (IRP_MN_REMOVE_DEVICE)
+[21255 ms] UsbSnoop - MyDispatchPNP(ba46aee0) : IRP_MJ_PNP (IRP_MN_REMOVE_DEVICE)
+[21255 ms] UsbSnoop - RemoveDevice(ba46ae90) : fido=892424e0 pdx=89242598
+[21255 ms] UsbSnoop - DriverUnload(ba46ade0) : DriverObject 89432b10, IRQL=0
+[21255 ms] Driver unloaded!
+MyThreadFunction : myMsgCount=133 myMaxSemaphoreCount=24 myMaxIrql=2, myAllocationFailed=0, mySemaphoreFailed=0