Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.