|
|
Latest Events |
June 18, 2008 |
USBlyzer 1.3 has been released.
See USBlyzer USBlyzer 1.3 Release Notes for details.
|
| |
| |
December 26, 2007 |
USBlyzer 1.2 has been released.
When displaying the time, we previously only showed the absolute system time the I/O request was captured. Now you can configure USBlyzer to display the time in the following formats:
Absolute system time (11:45:14.278)
Time elapsed since capture started (00:00:15.953)
Seconds elapsed since capture started (2.396)
To configure the time display settings, new section was added in the Preferences Dialog under Options->Preferences...->Time.
Hub Class support added. Now we decode all Hub class-specific requests (Get Hub Status, Clear Port Feature, Get Hub Descriptor, Reset TT etc.). Read more about Hub class decoder.
Request Summary analysis was significantly improved. When displaying the summary for Control Transfers, we previously only showed the Setup Packet in raw format. Now the summary analysis is much more specific and relevant for all USB Standard and USB Hub Requests.
Previously we only captured state-transition Plug and Play IRPs (start, stop, remove). Now USBlyzer captures and decodes all Plug and Play IRPs. The following was added:
IRP_MN_QUERY_DEVICE_RELATIONS
IRP_MN_QUERY_INTERFACE
IRP_MN_QUERY_CAPABILITIES
IRP_MN_QUERY_RESOURCES
IRP_MN_QUERY_RESOURCE_REQUIREMENTS
IRP_MN_QUERY_DEVICE_TEXT
IRP_MN_FILTER_RESOURCE_REQUIREMENTS
IRP_MN_READ_CONFIG
IRP_MN_WRITE_CONFIG
IRP_MN_EJECT
IRP_MN_SET_LOCK
IRP_MN_QUERY_ID
IRP_MN_QUERY_PNP_DEVICE_STATE
IRP_MN_QUERY_BUS_INFORMATION
IRP_MN_DEVICE_USAGE_NOTIFICATION
Added capturing and decoding support for the following Windows® Vista™ URBs:
URB_FUNCTION_CONTROL_TRANSFER_EX (URB_CONTROL_TRANSFER_EX structure)
URB_FUNCTION_SET_PIPE_IO_POLICY (URB_PIPE_IO_POLICY structure)
URB_FUNCTION_GET_PIPE_IO_POLICY (URB_PIPE_IO_POLICY structure)
Added capturing and decoding support for the following Windows® Vista™ IOCTLs:
When displaying the completed IRP status, we previously only showed the completion status of the IRP itself in the IRP Status column of the Capture List. Now for all completed URBs you can also see the USBD_STATUS. This might be very useful. For example, for failed URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL you might see "Unsuccessful (Device not Responding)" instead of just "Unsuccessful". So in this particular case you know that URB failed with USBD_STATUS_DEV_NOT_RESPONDING, by just looking at Capture List.
Export Capture List content to XML report.
New Capture List column "Request Details" has been added. This feature is extremely useful in analyzing the captured data and greatly speeds up the analysis process. Now you can see, at a glance, by just looking at Capture List the Number of Bytes transferred for bulk and isochronous transfers, the Port Number for IOCTL_USB_GET_NODE_CONNECTION_XXX I/O control requests, Request Type and Recipient for control transfers and more. The table below is the complete list of the data that will be displayed in the Request Details column.
| Request |
Request Details Column |
| P'n'P |
IRP_MN_QUERY_DEVICE_RELATIONS |
DEVICE_RELATION_TYPE enumeration member |
| IRP_MN_QUERY_INTERFACE |
Interface Type. For example, "USB Bus Driver" for USB_BUS_INTERFACE_USBDI_GUID or "USB Port Driver" for USB_BUS_INTERFACE_HUB_GUID. |
| IRP_MN_QUERY_DEVICE_TEXT |
DEVICE_TEXT_TYPE enumeration member |
| IRP_MN_QUERY_ID |
BUS_QUERY_ID_TYPE enumeration member |
| IRP_MN_DEVICE_USAGE_NOTIFICATION |
DEVICE_USAGE_NOTIFICATION_TYPE enumeration member |
| IOCTL |
IOCTL_USB_HCD_DISABLE_PORT IOCTL_USB_HCD_ENABLE_PORT |
Port Index (zero based) |
IOCTL_USB_GET_NODE_CONNECTION_INFORMATION IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX IOCTL_USB_GET_NODE_CONNECTION_NAME IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES IOCTL_USB_HUB_CYCLE_PORT |
Port Number |
| IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION |
Port Number and Descriptor Type |
| URB |
URB_FUNCTION_SELECT_CONFIGURATION |
Configuration Value |
| URB_FUNCTION_SELECT_INTERFACE |
Interface Number and Alternate Settings |
URB_FUNCTION_CONTROL_TRANSFER URB_FUNCTION_CONTROL_TRANSFER_EX |
Request Type (Set Feature, Get Descriptor etc.), Recipient (Device, Interface, Endpoint etc.), Feature Selector (Remote Wakeup etc.) and other relevant info. |
URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER URB_FUNCTION_ISOCH_TRANSFER |
Transfer Buffer Length or Number of Bytes Transferred |
URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT |
Descriptor Type and Descriptor Index |
URB_FUNCTION_SET_FEATURE_TO_DEVICE URB_FUNCTION_SET_FEATURE_TO_INTERFACE URB_FUNCTION_SET_FEATURE_TO_ENDPOINT URB_FUNCTION_SET_FEATURE_TO_OTHER URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT URB_FUNCTION_CLEAR_FEATURE_TO_OTHER |
Feature Selector (Halt, Test Mode etc.) |
| URB_FUNCTION_GET_INTERFACE |
Interface Number |
| URB_FUNCTION_GET_STATUS_FROM_ENDPOINT |
Endpoint Number and Direction |
URB_FUNCTION_CLASS_DEVICE URB_FUNCTION_CLASS_INTERFACE URB_FUNCTION_CLASS_ENDPOINT URB_FUNCTION_CLASS_OTHER |
Request Type (Get Hub Status, Set Port Feature etc.), Recipient (Device, Interface, Endpoint etc.), Feature Selector (Over-Current, Connect Status Change etc.) and other relevant info. |
New Data Analysis Panel has been added. When displaying the data buffer contents, we previously only showed the raw hexadecimal dump in the Raw Data Panel. Now you can also see the complete analysis for many types of requests in Data Analysis Panel. USBlyzer is able to verify the general compliance of USB Request Packets with the USB Specification. Any incompatibilities are marked with red color. The table below is the complete list of the data that will be decoded and displayed in details on the Data Analysis panel.
| Request |
Data Analysis Panel |
| P'n'P |
IRP_MN_QUERY_DEVICE_RELATIONS |
DEVICE_RELATIONS structure |
| IRP_MN_QUERY_INTERFACE |
Interface structure like USB_BUS_INTERFACE_USBDI_V0, USB_BUS_INTERFACE_HUB_V0, USBC_DEVICE_CONFIGURATION_INTERFACE_V1 etc. |
| IRP_MN_QUERY_CAPABILITIES |
DEVICE_CAPABILITIES structure |
| IRP_MN_QUERY_BUS_INFORMATION |
PNP_BUS_INFORMATION structure |
| Kernel-Mode IOCTL |
IOCTL_INTERNAL_USB_GET_HUB_NAME IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION IOCTL_INTERNAL_USB_GET_BUS_INFO IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME |
USB_HUB_NAME USB_IDLE_CALLBACK_INFO USB_BUS_NOTIFICATION USB_CONTROLLER_NAME structures |
| User-Mode IOCTL |
IOCTL_USB_HCD_GET_STATS_1 IOCTL_USB_GET_ROOT_HUB_NAME IOCTL_USB_GET_NODE_INFORMATION IOCTL_USB_GET_NODE_CONNECTION_INFORMATION IOCTL_USB_GET_NODE_CONNECTION_NAME IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME IOCTL_GET_HCD_DRIVERKEY_NAME IOCTL_USB_HCD_GET_STATS_2 IOCTL_USB_GET_HUB_CAPABILITIES IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX IOCTL_USB_GET_HUB_CAPABILITIES_EX |
HCD_STAT_INFORMATION_1 USB_ROOT_HUB_NAME USB_NODE_INFORMATION USB_NODE_CONNECTION_INFORMATION USB_NODE_CONNECTION_NAME USB_NODE_CONNECTION_DRIVERKEY_NAME USB_HCD_DRIVERKEY_NAME HCD_STAT_INFORMATION_2 USB_HUB_CAPABILITIES USB_NODE_CONNECTION_ATTRIBUTES USB_NODE_CONNECTION_INFORMATION_EX USB_HUB_CAPABILITIES_EX structures |
| IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION |
USB_DESCRIPTOR_REQUEST structure All Standard USB Descriptors:
|
| URB |
URB_FUNCTION_CONTROL_TRANSFER URB_FUNCTION_CONTROL_TRANSFER_EX |
All Standard USB Requests:
Get Status
Clear Feature
Set Feature
Set Address
Get Descriptor
Set Descriptor
Get Configuration
Set Configuration
Get Interface
Set Interface
Synch Frame
All USB Hub Requests:
Get Hub Status
Get Port Status
Clear Hub Feature
Clear Port Feature
Get Bus State
Set Hub Feature
Set Port Feature
Get Hub Descriptor
Set Hub Descriptor
Clear TT Buffer
Reset TT
Get TT State
Stop TT
|
URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE |
All Standard USB Descriptors:
|
URB_FUNCTION_GET_STATUS_FROM_DEVICE URB_FUNCTION_GET_STATUS_FROM_ENDPOINT URB_FUNCTION_GET_STATUS_FROM_OTHER |
Device, Endpoint, Hub or Port Status |
URB_FUNCTION_CLASS_DEVICE URB_FUNCTION_CLASS_INTERFACE URB_FUNCTION_CLASS_ENDPOINT URB_FUNCTION_CLASS_OTHER |
Class Request Data (Currently only Hub Class requests are implemented) |
| URB_FUNCTION_GET_CONFIGURATION |
Configuration Value |
| URB_FUNCTION_GET_INTERFACE |
Alternate Setting |
See USBlyzer USBlyzer 1.2 Release Notes for details.
|
| |
| |
September 18, 2007 |
USBlyzer 1.1 has been released.
The USB Properties panel has been completely re-designed and now the USB device descriptors and related information are presented in much greater details.
USBlyzer is now able to verify the general compliance of all standard USB descriptors with the USB Specification. Any incompatibilities are marked with red color in the USB Properties panel.
The content of the USB Properties panel can now be exported to the HTML report.
Capture Settings, Filter Settings and Find Settings dialogs are now resizable.
The Capture List is now colorized. You have three options: colorize entire row, type column only or not colorize at all.
The Device Manager's device properties dialog box can be invoked by right-clicking the specific device in the Device Tree and then clicking Properties. This allow you view information about a device driver, bandwidth allocations for USB host controllers, power allocations for USB hubs and more.
The device tree now displays the drive letter that is assigned to each USB mass-storage device such as USB Flash Drive, USB CD-ROM Device, USB Card Reader etc.
Internal improvements in saving the captured data to a capture file.
Minor bug fixes and improvements.
See USBlyzer USBlyzer 1.1 Release Notes for details.
|
| |
| |
July 02, 2007 |
USBlyzer 1.0 has been released. Many thanks to all the people who tested the beta version! The most active beta testers will receive a license for free.
Displaying Interface Association Descriptor (IAD).
Displaying Device Class, Subclass, Protocol.
Displaying Interface Class, Subclass, Protocol.
More than 2000 vendors recognized.
See USBlyzer USBlyzer 1.0 Release Notes for details.
|
| |
| |
June 10, 2007 |
|
USBlyzer 1.0 Beta 3 has been released.
|
| |
| |
May 06, 2007 |
|
USBlyzer 1.0 Beta 2 has been released.
|
| |
| |
February 02, 2007 |
| USBlyzer 1.0 Beta 1 has been released. |
| |
| |
December 18, 2006 |
| The first public beta comming soon! |
|
|
|