Article ID: 960958
RAPID PUBLISHING ARTICLES PROVIDE INFORMATION DIRECTLY FROM WITHIN THE MICROSOFT SUPPORT ORGANIZATION. THE INFORMATION CONTAINED HEREIN IS CREATED IN RESPONSE TO EMERGING OR UNIQUE TOPICS, OR IS INTENDED SUPPLEMENT OTHER KNOWLEDGE BASE INFORMATION.
A device driver for a USB device may observe that a USB Transfer to or from the device fails due to a Transaction Error. This error is reported to the USB device driver by the Microsoft USB core driver stack as a value of USBD_STATUS_XACT_ERROR returned in the Status field of the URB_HEADER in the USB request block (URB) submitted to the Microsoft USB core driver stack to perform the transfer to or from the device.
This error is reported to USB device drivers by the Microsoft USB core driver stack via the USB status code USBD_STATUS_XACT_ERROR if the USB EHCI host controller sets the Transaction Error (XactErr) bit in the USB transfer descriptor upon completion of the USB transfer. The USB EHCI host controller sets this bit if it detects that certain bus protocol errors occur during communication with the USB device.
Thus, the cause of a USB Transaction Error (XactErr) is one of the following:
To identify the cause of a USB Transaction Error, a careful examination of the USB bus traffic during the time that the error was reported must be performed.
To recover from USB transfers which fail with a USB status of USBD_STATUS_XACT_ERROR, USB device driver developers should take the following actions:
Installing the hotfixes referenced in Microsoft Knowledge Base article 908673 or 913365, and setting the EnSoftRetry registry value as documented in Microsoft Knowledge Base article 908673, may suppress reporting of a USBD_STATUS_XACT_ERROR for a USB transfer which completes with a USB Transaction Error (XactErr) and cause the transfer to be automatically retried. However, since the original transfer actually failed, this behavior may be undesirable. A USB device driver may need to be aware of the fact that the transfer actually failed, so that appropriate action can be taken. In such situations, the hotfixes referenced in Microsoft Knowledge Base article 908673 or 913365 should not be installed, and the EnSoftRetry registry value should not be set, to allow USB Transaction Errors to be reported to the USB device driver for appropriate action.
In the "Enhanced Host Controller Interface Specification for Universal Serial Bus" (henceforth referred to as the USB EHCI Spec), a Transaction Error is described in sections 3.3.2, 3.4.3, and 3.5.3 as follows:
Collapse this tableExpand this table
Section 22.214.171.124 of the USB EHCI Spec states:
126.96.36.199 Transaction Error
A transaction error is any error that caused the host controller to think that the transfer did not complete successfully. Table 4–18 lists the events/responses that the host can observe as a result of a transaction. The effects of the error counter and interrupt status are summarized in the following paragraphs. Most of these errors set the XactErr status bit in the appropriate interface data structure.
Additional details can be found in sections 188.8.131.52, 184.108.40.206.1, and 220.127.116.11.2 of the USB EHCI Spec.
The Enhanced Host Controller Interface Specification for Universal Serial Bus is downloadable from:
You may search for certified USB Implementers Forum, Inc. (USB-IF) logo compliant products at:
MICROSOFT AND/OR ITS SUPPLIERS MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY, RELIABILITY OR ACCURACY OF THE INFORMATION CONTAINED IN THE DOCUMENTS AND RELATED GRAPHICS PUBLISHED ON THIS WEBSITE (THE “MATERIALS”) FOR ANY PURPOSE. THE MATERIALS MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS AND MAY BE REVISED AT ANY TIME WITHOUT NOTICE.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND/OR ITS SUPPLIERS DISCLAIM AND EXCLUDE ALL REPRESENTATIONS, WARRANTIES, AND CONDITIONS WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO REPRESENTATIONS, WARRANTIES, OR CONDITIONS OF TITLE, NON INFRINGEMENT, SATISFACTORY CONDITION OR QUALITY, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE MATERIALS.