Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

we are trying to get raw measurement data from one usb sensor as the control software is a black box and the manual does not contain anything about how it process the measurements.

I was able to sniff the data using SniffUsb 2.0, but I am not able to analyze the output and identify the measurements. Sample of the data looks like this:

[11 ms] UsbSnoop - FilterDispatchAny(a693ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[11 ms] UsbSnoop - FdoHookDispatchInternalIoctl(a69401ea) : fdo=85b14030, Irp=861c2008, IRQL=0
[11 ms]  >>>  URB 3 going down  >>> 
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
  TransferBufferLength = 00000100
  TransferBuffer       = b9d23800
  TransferBufferMDL    = 00000000
  Index                = 00000002
  DescriptorType       = 00000003 (USB_STRING_DESCRIPTOR_TYPE)
  LanguageId           = 00000409
[12 ms] UsbSnoop - MyInternalIOCTLCompletion(a6940126) : fido=00000000, Irp=861c2008, Context=8664c358, IRQL=2
[12 ms]  <<<  URB 3 coming back  <<< 
-- URB_FUNCTION_CONTROL_TRANSFER:
  PipeHandle           = 86b77910
  TransferFlags        = 804ef19f (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 00000018
  TransferBuffer       = b9d23800
  TransferBufferMDL    = 86b3b930
    00000000: 18 03 72 00 61 00 64 00 5f 00 66 00 6c 00 61 00
    00000010: 73 00 68 00 5f 00 32 00
  UrbLink              = 00000000
  SetupPacket          =
    00000000: 80 06 02 03 09 04 00 01
[12 ms] UsbSnoop - FilterDispatchAny(a693ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[12 ms] UsbSnoop - FdoHookDispatchInternalIoctl(a69401ea) : fdo=85b14030, Irp=861c2008, IRQL=0
[12 ms]  >>>  URB 4 going down  >>> 
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
  TransferBufferLength = 00000009
  TransferBuffer       = b9d23998
  TransferBufferMDL    = 00000000
  Index                = 00000000
  DescriptorType       = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
  LanguageId           = 00000000
[12 ms] UsbSnoop - MyInternalIOCTLCompletion(a6940126) : fido=00000000, Irp=861c2008, Context=8664c358, IRQL=2
[12 ms]  <<<  URB 4 coming back  <<< 
-- URB_FUNCTION_CONTROL_TRANSFER:
  PipeHandle           = 86b77910
  TransferFlags        = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 00000009
  TransferBuffer       = b9d23998
  TransferBufferMDL    = 861d79f0
    00000000: 09 02 20 00 01 01 00 80 32
  UrbLink              = 00000000
  SetupPacket          =
    00000000: 80 06 00 02 00 00 09 00
[12 ms] UsbSnoop - FilterDispatchAny(a693ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[12 ms] UsbSnoop - FdoHookDispatchInternalIoctl(a69401ea) : fdo=85b14030, Irp=861c2008, IRQL=0
[12 ms]  >>>  URB 5 going down  >>> 
-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:
  TransferBufferLength = 00000020
  TransferBuffer       = 867df220
  TransferBufferMDL    = 00000000
  Index                = 00000000
  DescriptorType       = 00000002 (USB_CONFIGURATION_DESCRIPTOR_TYPE)
  LanguageId           = 00000000
[13 ms] UsbSnoop - MyInternalIOCTLCompletion(a6940126) : fido=00000000, Irp=861c2008, Context=8664c358, IRQL=2
[13 ms]  <<<  URB 5 coming back  <<< 
-- URB_FUNCTION_CONTROL_TRANSFER:
  PipeHandle           = 86b77910
  TransferFlags        = 0000000b (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK)
  TransferBufferLength = 00000020
  TransferBuffer       = 867df220
  TransferBufferMDL    = 861d79f0
    00000000: 09 02 20 00 01 01 00 80 32 09 04 00 00 02 ff 00
    00000010: 00 02 07 05 81 02 40 00 00 07 05 01 02 40 00 00
  UrbLink              = 00000000
  SetupPacket          =
    00000000: 80 06 00 02 00 00 20 00
[13 ms] UsbSnoop - FilterDispatchAny(a693ffd2) : IRP_MJ_INTERNAL_DEVICE_CONTROL
[13 ms] UsbSnoop - FdoHookDispatchInternalIoctl(a69401ea) : fdo=85b14030, Irp=861c2008, IRQL=0
[13 ms]  >>>  URB 6 going down  >>> 

I tried to find some explanation of the data structure, bud had no success. Do you have any idea, how to get the data from this?

thanks

share|improve this question
    
How exactly are we suppose to know how your black box works? Between the TransferBufferLength and TransferBufferMDL you should be able to figure it out. – Ramhound Jun 13 '12 at 16:39

You must log in to answer this question.

Browse other questions tagged .