Teledyne LeCroy analyzers use script files to decode class and vendor requests. The script files are read when the application is initialized. After reading, the analyzer decodes class and vendor requests as instructed by the files.
.dec files represent the new method of decoding. DEC stands for “decoder” and describes both Class and Vendor requests in a C-like language. Each .dec file stores an endpoint or request decode. When the application starts, these files are loaded dynamically.
Subdirectories are supported.
NOTE: The .dec files in the table below are in the Scripts directory under installation.
|
USB Decode |
Decoder |
USB-IF Base Class |
Codes Sub Class |
Protocol ID |
|
Audio Class (see Audio Decoders) |
||||
|
AudioClass\Audio1.0Requests.dec |
Audio |
0x01 |
0x00 |
0x00 |
|
AudioClass\Audio2.0Requests.dec |
0x20 |
|||
|
AudioClass\Audio3.0Requests.dec |
0x30 |
|||
|
AudioClass\Audio1.0Interrupt.dec |
0x00 |
|||
|
AudioClass\Audio2.0Interrupt.dec |
0x20 |
|||
|
AudioClass\Audio3.0Interrupt.dec |
0x30 |
|||
|
Communications and CDC Control (The CDC Decoder includes ECM class decoding) |
||||
|
Direct Line Control Model |
Communication |
0x02 |
0x01 |
|
|
Abstract Control Model |
0x02 |
0x02 |
||
|
Telephone Control Model |
0x02 |
0x03 |
||
|
Multi-Channel Control |
0x02 |
0x04 |
||
|
Model CAPI Control Model |
0x02 |
0x05 |
||
|
Ethernet Networking Control Model |
0x02 |
0x06 |
||
|
ATM Networking Control Model |
0x02 |
0x07 |
||
|
Wireless Handset Control Model |
0x02 |
0x08 |
||
|
Device Management Model |
0x02 |
0x09 |
||
|
Mobile Direct Line |
0x02 |
0x0A |
||
|
Model OBEX Model |
0x02 |
0x0B |
||
|
Communication Device Subclass/EEM
|
0x02 |
0x0C |
||
|
Device Firmware Update |
|
|
|
|
|
Device Firmware Update |
DevFirmware Update |
0xFE |
0x01 |
0x02 |
|
HID (Human Interface Device, see HID Decoders) |
HID |
0x03 |
|
|
|
HUT (HID extension) |
HID |
Extension |
|
|
|
Monitor (HID extension) |
||||
|
Physical Interface (force-feedback extension to HID) |
||||
|
Point of Sale Devices (HID extension) |
||||
|
Power (HID extension)
|
||||
|
Still Imaging Class |
||||
|
StillImageClass\PTPStillImageBulkIn.dec |
PTP
|
0x06 |
0x01 |
0x01 |
|
StillImageClass\PTPStillImageBulkOut.dec |
||||
|
StillImageClass\PTPStillImageRequests.dec |
||||
|
StillImageClass\PTPStillInterrupt.dec |
||||
|
Printer |
||||
|
Printer\Printer_req.dec |
Printer |
0x07 |
0x01 |
0xXX |
|
Mass Storage |
||||
|
SCSI/Bulk Protocol |
Mass Storage |
0x08 |
|
|
|
MassStorageClass\MS_BulkOnly_Requests.dec
|
Mass Storage SCSI Bulk |
0x08 |
0x06 |
0x50 |
|
UFI (floppy)/CBI Protocol |
||||
|
MassStorageClass\MS_UFI_CBI_Requests.dec |
MassStrg Class UFI CBI |
0x08 |
0x04 |
0x00 |
|
MassStorageClass\MS_UFI_CBI_BulkInEndp.dec |
||||
|
MassStorageClass\MS_UFI_CBI_BulkOutEndp.dec |
||||
|
MassStorageClass\MS_UFI_CBI_InterruptEndp.dec |
||||
|
Hub Support |
||||
|
HubClass\HubClassRequests.dec |
Hub Class |
0x09 |
|
|
|
HubClass\HubClassStatusEndpoint.dec |
||||
|
Picture Transfer Protocol (PTP) |
||||
|
[Photographic and Imaging Manufacturers Association (PIMA) 15740 and ISO 15740] |
PTP
|
Extension |
|
|
|
||||
|
Communications Device Class (CDC) Data (The CDC Decoder includes ECM class decoding) |
||||
|
Communications\CDCDataBulkIn_wCTE.dec |
CDC* |
0x0A |
0xXX |
|
|
Communications\CDCDataBulkIn_wPW.dec |
||||
|
Communications\CDCDataBulkIn_wPW_wCTE.dec |
||||
|
Communications\CDCDataBulkOut_wCTE.dec |
||||
|
Communications\CDCDataBulkOut_wPW.dec |
||||
|
Communications\CDCDataBulkOut_wPW_wCTE.dec |
||||
|
Communications\CDCDataIsochIn_wCTE.dec |
||||
|
Communications\CDCDataIsochIn_wPW.dec |
||||
|
Communications\CDCDataIsochIn_wPW_wCTE.dec |
||||
|
Communications\CDCDataIsochOut_wCTE.dec |
||||
|
Communications\CDCDataIsochOut_wPW.dec |
||||
|
Communications\CDCDataIsochOut_wPW_wCTE.dec |
||||
|
Smart Card (CCID) |
||||
|
SmartCard\CCIDBulkIn.dec |
CCID and ICCD |
0x0B |
0x00 |
|
|
SmartCard\CCIDBulkOut.dec |
|
|||
|
SmartCard\CCIDInterrupt.dec |
|
|||
|
SmartCard\CCID_req.dec |
|
|||
|
SmartCard\ICCDBulkIn.dec |
|
|||
|
SmartCard\ICCDBulkOut.dec |
|
|||
|
SmartCard\ICCDInterrupt.dec |
|
|||
|
SmartCard\ICCD_req_Ver.A.dec |
0x01 |
|||
|
SmartCard\ICCD_req_Ver.B.dec |
0x02 |
|||
|
Content Security |
||||
|
ContentSecurityRequests.dec |
Content Security |
0x0D |
0x00
|
0x01 |
|
ContentSecurityInterruptIN.dec |
||||
|
ContentSecurityInterruptOUT.dec |
||||
|
Video Class (UVC) |
||||
|
Video Control 1.0 |
Video |
0x0E |
0x01 |
0x00 |
|
Video Streaming 1.0 |
0x02 |
0x00 |
||
|
Video Interface Collection 1.0 |
0x03 |
0x00 |
||
|
Video Control 1.1 |
0x01 |
0x20 |
||
|
Video Streaming 1.1 |
0x02 |
0x20 |
||
|
Video Interface Collection 1.1 |
0x03 |
0x20 |
||
|
Video Control 1.5 |
0x01 |
0x30 |
||
|
Video Streaming 1.5 |
0x02 |
0x30 |
||
|
Video Interface Collection 1.5
|
0x03 |
0x30 |
||
|
Wireless Controller |
||||
|
Bluetooth
|
HCI |
0xE0 |
0x01 |
0x01 |
|
USB Type-C Bridge |
||||
|
TypeC_BridgeRequests.dec |
USB Type-C Bridge |
0x12
|
0x00
|
0x00
|
|
TypeC_BridgeNotifications.dec |
||||
|
Remote Network Driver Interface Specification (RNDIS) |
||||
|
RNDIS |
Remote NDIS |
0xEF |
0x02 |
0x02 |
|
USB3 Vision |
||||
|
USB3 Vision |
USB3 Vision |
0xEF |
0x05 |
0x00 |
|
VisionControl.dec |
||||
|
VisionEvent.dec |
||||
|
VisionStream.dec |
||||
|
Miscellaneous Device Class |
||||
|
Interface Association Descriptor |
Standard; no decoder method is needed |
0xEF |
0x02 |
0x01 |
|
Cable Based Association Framework (CBAF) Requests |
||||
|
Standard\StandardRequests.dec |
Association Frameworks |
0xEF |
0x03 |
0x01 |
|
IEEE\IEEECompanies.dec |
||||
|
Virtual\VirtualDATAIn.dec |
||||
|
Virtual\VirtualDATAOut.dec |
||||
|
Virtual\VirtualUARTIn.dec |
||||
|
Virtual\VirtualUARTOut.dec |
||||
|
Device Firmware Update |
||||
|
USBDFU_req.dec |
|
0xFE |
0x01
|
0x02
|
|
USBDFU_BulkInEndpoint.dec |
||||
|
USBDFU_BulkOutEndpoint.dec |
||||
|
Personal Healthcare Devices |
||||
|
PersonalHealthcare\PersonalHealthcareRequest.dec |
Personal Healthcare |
0x0F |
|
|
|
PersonalHealthcare\PersonalHealthcareDescriptors.inc |
||||
|
PersonalHealthcare\PersonalHealthcareDataBulkIn.dec |
||||
|
PersonalHealthcare\PersonalHealthcareDataBulkOut.dec |
||||
|
PersonalHealthcare\PersonalHealthcareDataBulk.inc |
||||
|
Other Decoders |
||||
|
IrDA Bridge |
IrDA Bridge |
0xFE |
0x02 |
0x00 |
|
ATAPI |
ATAPI |
0x08 |
0x02 |
0x50 |
|
IP |
IP |
0xFF |
|
|
|
HTTP |
HTTP |
0xFF |
|
|
Audio Decoders
Due to Entity ID mapping issues with this class, it works best if the descriptors are captured in the trace file. Then, the software can map the Entity IDs to the correct functions. It is also possible to hand-edit the Audio1.0CurrentEntityIdMap_EditMe.inc or Audio2.0CurrentEntityIdMap_EditMe.inc files to explicitly apply this mapping. These files are found in \Users\Public\Documents\LeCroy\USB Protocol Suite\Scripts\AudioClass.
-
Setting the value in the file, UseCurrentEntityIdMap=1, will cause it to use the mapping you provide; otherwise, it depends on the mapping found in the descriptors.
-
If the automatic mapping has occurred on a trace, then the default mapping in subsequent traces will use those values, as long as the application session remains.
-
The Reset Decoding button applies the decoding to a trace, if it was not done automatically.
-
You can create your own .dec file for a Class or Vendor Request. For more information on the format of these Script Decoder files and the Script Decoding language, read the Script Decoder Manual.
HID Decoders
The HID class is based on HUT tables. If the trace captured does not contain the report descriptor, you must edit the file supplied in \Users\Public\Documents\LeCroy\USB Protocol Suite\Scripts\Hid.
-
Look for a folder called HIDReportDescriptor_EditMe.inc. You define the report layout in this file. Examples and templates are available.
-
To be able to use report layout defined in this file, you must set the variable in UseHIDReportDescriptorItems to 1.
NOTE: If this flag is 0, the software will try to find a report from descriptor in Trace. If the descriptor is not found in the trace, it uses the most recently used report layout.
-
You might need to click the Reset Decoding button
when decoding assignments for old traces.