Bug Check 0x144: BUGCODE_USB3_DRIVER
The BUGCODE_USB3_DRIVER bug check has a value of 0x00000144. This is the code used for all USB 3 bug checks. Parameter 1 specifies the type of the USB 3 bug check, and the meanings of the other parameters are dependent on Parameter 1.
Important
This article is for programmers. If you're a customer who has received a blue screen error code while using your computer, see Troubleshoot blue screen errors.
BUGCODE_USB3_DRIVER Parameters
Parameter 1 | Parameter 2 | Parameter 3 | Parameter 4 | Cause of error |
---|---|---|---|---|
0x1 |
Optional. Pointer to the IRP used to resend the URB |
Pointer to the URB |
Pointer to the client driver's device object |
A client driver used an URB that it had previously sent to the core stack. |
0x2 |
Pointer to the physical device object (PDO) for the boot device |
Reserved |
Reserved |
A boot or paging device failed re-enumeration. |
0x3 |
Optional. Pointer to the IRP used to send the URB |
Pointer to the corrupted URB |
Pointer to the client driver's device object |
A client driver sent a corrupted URB to the core stack. This can happen because the client driver did not allocate the URB using USBD_xxxUrbAllocate or because the client driver did a buffer underrun for the URB. |
0x800 |
IRQL at which the Open Static Streams request was sent |
Pointer to the Open Static Streams IRP |
Pointer to the client driver's device object |
An Open Static Streams request was sent at IRQL > PASSIVE LEVEL. |
0x801 |
Pointer to the Open Static Streams IRP |
Pointer to the Open Static Streams URB |
Pointer to the client driver's device object |
A client driver attempted to open static streams before querying for streams capability. A client driver cannot open a static stream until after it successfully queries for the streams capability. For more information, see Remarks. |
0x802 |
Number of static streams that the client driver tried to open |
Number of static streams that were granted to the client driver |
Pointer to the client driver's device object |
A Client driver tried to open an invalid number of static streams. The number of streams cannot be 0 and cannot be greater than the value returned to the client driver in the query USB capability call. |
0x803 |
Pointer to the Open Static Streams IRP |
Pointer to the Open Static Streams URB |
Pointer to the client driver's device object |
A client driver attempted to open static streams for an endpoint that already had static streams open. Before opening static streams, the client driver must close the previously opened static streams. |
0x804 |
The leaked handle context. Run !usbanalyze -v to get information about the leaked handle and URBs. You must enable Driver Verifier for the client driver. |
Device object passed to USBD_CreateHandle. |
Reserved |
A client driver forgot to close a handle it created earlier using USBD_CreateHandle or forgot to free an URB it allocated. |
0x805 |
WDFREQUEST handle for the Close Static Streams URB |
Pointer to the Close Static Streams URB |
Pointer to the client driver's device object |
A client driver sent a Close Static Streams URB in an invalid state (for example, after processing D0 Exit). |
0x806 |
Pointer to the IRP |
Pointer to the URB |
Pointer to the client driver's device object |
A client driver attempted to send a chained MDL before querying for chained MDL capability. A client driver cannot send a chained MDL until after it successfully queries for the chained MDL capability. For more information, see Remarks. |
0x807 |
Pointer to the chained MDL |
Pointer to the URB |
Pointer to the client driver's device object if available |
A client driver sent an URB to the core stack with a transfer buffer length longer than the byte count (returned by MmGetMdlByteCount) of the MDL passed in. For more information, see Remarks. |
0x1001 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The xHCI controller asserted the HSE bit, which indicates a host system error. |
0x1002 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The xHCI controller asserted the HCE bit, which indicates a host controller error. |
0x1003 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The xHCI stop endpoint command returned an unhandled completion code. |
0x1004 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The xHCI endpoint state received a context state error after an xHCI endpoint stop command was issued. |
0x1005 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Set dequeue pointer failed during an attempt to clear stall on control endpoint. |
0x1006 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Reset EP failed during an attempt to clear stall on control endpoint. |
0x1007 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The reset of the xHCI controller failed during reset recovery. |
0x1008 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The restart of the xHCI controller failed during reset recovery. |
0x1009 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
An xHCI controller command failed to complete after the command timeout abort. |
0x100A |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Set dequeue pointer failed during an attempt to set the dequeue pointer after endpoint stop completion. |
0x100B |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The stop of the xHCI controller failed during reset recovery. |
0x100C |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The firmware in the xHCI controller is not supported. The xHCI driver will not load on this controller unless the firmware is updated. |
0x100D |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The controller was detected to be physically removed. |
0x100E |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The driver detect an error on a stream enabled endpoint. |
0x100F |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The firmware in the xHCI controller is outdated. The xHCI driver will continue working with this controller but may run into some issues. A firmware update is recommended. |
0x1010 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
A transfer event TRB completed with an unhandled completion code. |
0x1011 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The controller reported that the event ring became full. The controller is also known to drop events when this happens. |
0x1012 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The controller completed a command out of order. |
0x1013 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
After command abort completion, the command ring dequeue pointer reported by the controller is incorrect. |
0x1014 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
After enable slot completion, controller gave us a bad slot id. |
0x1015 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Controller failed a SetAddress command with BSR1. That is unexpected. |
0x1016 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Controller failed to enable a slot during a usbdevice reset. This is unexpected. |
0x1017 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Controller failed an endpoints configure command where we were deconfiguring the endpoints. That is unexpected. |
0x1018 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Controller failed a disable slot command. That is unexpected. |
0x1019 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Controller failed a USB device reset command. That is unexpected. |
0x101A |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
After endpoint reset, Set Dequeue Pointer command failed. |
0x101B |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The xHCI reset endpoint command returned an unhandled completion code. |
0x101C |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The D0Entry for xHCI failed. |
0x101D |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Temporarily dropping and adding a stream endpoint (as two commands) failed, when using the Configure Endpoint command instead of Set Dequeue Pointer during request cancellation. |
0x101E |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The controller indicated a transfer completion that was not pending on the controller. EventData == 1 (dereferencing the Transfer Event TRB's pointer would have caused a bugcheck) |
0x101F |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The controller indicated a transfer completion that was not pending on the controller. EventData == 0 (logical address in transfer event TRB not matched) |
0x1020 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
The controller indicated a transfer completion that was not pending on the controller. EventData == 0 (logical address in transfer event TRB not matched) The Transfer Event TRB may be redundant (points somewhere near a recently completed request). |
0x1021 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Temporarily dropping and adding a stream endpoint (as two commands) failed, when using the Configure Endpoint command as part of resetting an endpoint that was not Halted. |
0x1022 |
XHCI_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
Dropping and adding the same endpoint (as one command) failed. |
0x3000 |
USBHUB3_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
A misbehaving hub was successfully reset by the hub driver. |
0x3001 |
USBHUB3_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
A misbehaving hub failed to be reset successfully by the hub driver. |
0x3002 |
USBHUB3_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
A non-function SuperSpeed hub was disabled by the hub driver. |
0x3003 |
USBHUB3_LIVEDUMP_CONTEXT |
Reserved |
Reserved |
A USB device failed enumeration. |
Remarks
To query for a USB capability, the client driver must call WdfUsbTargetDeviceQueryUsbCapability or USBD_QueryUsbCapability
To send a chained MDL, the client driver must call USBD_QueryUsbCapability and use URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_USING_CHAINED_MDL or URB_FUNCTION_ISOCH_TRANSFER_USING_CHAINED_MDL.
See also
Σχόλια
https://aka.ms/ContentUserFeedback.
Σύντομα διαθέσιμα: Καθ' όλη τη διάρκεια του 2024 θα καταργήσουμε σταδιακά τα ζητήματα GitHub ως μηχανισμό ανάδρασης για το περιεχόμενο και θα το αντικαταστήσουμε με ένα νέο σύστημα ανάδρασης. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα:Υποβολή και προβολή σχολίων για