Previous Page |
This web page refers to our older busTRACE 6.0 which is no longer shipping. Click here for details on our latest busTRACE version.
busTRACE 6.0 can capture all low-level USB bus activity within your Windows 2000, XP, 2003, Vista (x86 or x64) PC. You are able to see the underlying URB (USB Request Block) as it goes down the I/O stack and back up the I/O stack. In this sample screenshot, busTRACE has captured a USB request to submit a Command Descriptor Block to a USB storage device. The Command Block Wrapper (CBW) is also decoded for you.
Below the screenshot, you can find additional samples of the decoding we perform.
The following decoded USB Request Blocks (URBs) were captured by busTRACE 6.0 as low-level USB requests were sent to a USB Flash Drive.
URB to issue a Command Block Wrapper (CBW) going down the I/O stack
Name | Value |
_URB | |
union u | |
UrbBulkOrInterruptTransfer (_URB_BULK_OR_INTERRUPT_TRANSFER) | |
Hdr (_URB_HEADER) | |
USHORT Length; | 0048h |
USHORT Function; | 0009h (Bulk or Interrupt Transfer) |
USBD_STATUS Status; | 00000000h (USBD_STATUS_SUCCESS) |
PVOID UsbdDeviceHandle; | 00000000h |
ULONG UsbdFlags; | 00000000h |
USBD_PIPE_HANDLE PipeHandle; | 85E43F3Ch (Bulk 01h - Outbound) |
ULONG TransferFlags; | 00000000h (USBD_TRANSFER_DIRECTION_OUT) |
ULONG TransferBufferLength; | 0000001Fh |
PVOID TransferBuffer; | 8513F688h |
PMDL TransferBufferMDL; | 00000000h |
_URB* UrbLink; | 00000000h |
hca (_URB_HCD_AREA) | |
_USB_COMMAND_BLOCK_WRAPPER | |
ULONG dCBWSignature; | 43425355h ("USBC") |
ULONG dCBWTag; | 86D32008h |
ULONG dCBWDataTransferLength; | 00000000h |
UCHAR bmCBWFlags; | 00h (Data Out) |
UCHAR bCBWLUN : 4; | 0h |
UCHAR bRsvd0 : 4; | 0h |
UCHAR bCBWCBLength : 5; | 6h (6 Byte CDB) |
UCHAR bRsvd1 : 3; | 0h |
UCHAR CBWCB[16]; | 00 00 00 00 00 00 (6 Byte CDB) |
URB to issue a Command Status Wrapper (CSW) going up the I/O stack
Name | Value |
_URB | |
union u | |
UrbBulkOrInterruptTransfer (_URB_BULK_OR_INTERRUPT_TRANSFER) | |
Hdr (_URB_HEADER) | |
USHORT Length; | 0048h |
USHORT Function; | 0009h (Bulk or Interrupt Transfer) |
USBD_STATUS Status; | 00000000h (USBD_STATUS_SUCCESS) |
PVOID UsbdDeviceHandle; | 86E85310h |
ULONG UsbdFlags; | 00000022h |
USBD_PIPE_HANDLE PipeHandle; | 85E43F1Ch (Bulk 81h - Inbound) |
ULONG TransferFlags; | 00000003h (USBD_TRANSFER_DIRECTION_IN+USBD_SHORT_TRANSFER_OK) |
ULONG TransferBufferLength; | 0000000Dh |
PVOID TransferBuffer; | 8513F688h |
PMDL TransferBufferMDL; | 85942938h |
_URB* UrbLink; | 00000000h |
hca (_URB_HCD_AREA) | |
_USB_COMMAND_STATUS_WRAPPER | |
ULONG dCSWSignature; | 53425355h ("USBS") |
ULONG dCSWTag; | 86D32008h |
ULONG dCSWDataResidue; | 00000000h |
UCHAR bCSWStatus; | 00h (Command Passed) |