hiyohiyo / CrystalDiskInfo

CrystalDiskInfo
https://github.com/hiyohiyo/CrystalDiskInfo
MIT License
1.82k stars 197 forks source link

BUGCODE_USB3_DRIVER (144) when running CrystalDiskInfo since 9.4.x from WinToGo #257

Open MagicAndre1981 opened 2 months ago

MagicAndre1981 commented 2 months ago

I'm running Windows 11 23H2 22631.4112 as WinToGo on a SSD connected via USB/SATA adapter. Since 9.4.x I get BUGCODE_USB3_DRIVER (144) crashes some seconds after I started CrystalDiskInfo.

After several tries I was able to reboot into WinToGo and get a dump:

BUGCODE_USB3_DRIVER (144)
This BugCheck usually happens when the USB3 core stack detects an invalid
operation being performed by a USB client. This BugCheck may also occur
due to hardware failure on a USB Boot Device.
Arguments:
Arg1: 0000000000000002, USB3_BUGCODE_BOOT_DEVICE_FAILED A Boot Or Paging Device
    failed re-enumeration.

00 nt!KeBugCheckEx
01 UsbHub3!HUBMISC_BugcheckSystemOnBootDeviceEnumerationFailure
02 UsbHub3!HUBDSM_BugcheckingSystemOnBootDeviceEnumerationFailure
03 UsbHub3!HUBSM_ExecuteEntryFunctionsAndPushPopStateMachinesForCurrentState
04 UsbHub3!HUBSM_RunStateMachine
05 UsbHub3!HUBSM_AddEvent
06 UsbHub3!HUBSM_AddDsmEvent
07 UsbHub3!HUBPSM30_IssuingPortDisabledToDevice
08 UsbHub3!HUBSM_ExecuteEntryFunctionsAndPushPopStateMachinesForCurrentState
09 UsbHub3!HUBSM_RunStateMachine
0a UsbHub3!HUBSM_AddEvent
0b UsbHub3!HUBSM_AddPsm20Event
0c UsbHub3!HUBHTX_PortControlTransferComplete
0d Wdf01000!FxRequestBase::CompleteSubmittedNoContext
0e Wdf01000!FxRequestBase::CompleteSubmitted
0f Wdf01000!FxIoTarget::CompleteRequest
10 Wdf01000!FxIoTarget::RequestCompletionRoutine
11 Wdf01000!FxIoTarget::_RequestCompletionRoutine
12 nt!IopUnloadSafeCompletion
13 nt!IopfCompleteRequest
14 nt!IofCompleteRequest
15 Wdf01000!FxIrp::CompleteRequest
16 Wdf01000!FxRequest::CompleteInternal
17 Wdf01000!FxRequest::Complete
18 Wdf01000!imp_WdfRequestComplete
19 USBXHCI!Control_Transfer_Complete
1a USBXHCI!Control_Transfer_CompleteCancelable
1b USBXHCI!Control_ProcessTransferEventWithED1
1c USBXHCI!Control_EP_TransferEventHandler
1d USBXHCI!Endpoint_TransferEventHandler
1e USBXHCI!Interrupter_DeferredWorkProcessor
1f USBXHCI!Interrupter_WdfEvtInterruptDpc
20 Wdf01000!FxInterrupt::DpcHandler
21 Wdf01000!FxInterrupt::_InterruptDpcThunk
22 nt!KiExecuteAllDpcs
23 nt!KiRetireDpcList
24 nt!KiIdleLoop
MagicAndre1981 commented 2 months ago

The adapter I use is baed on ASMedia ASM1051 chip (Vendor ID : 0x174C (ASMedia Technology Inc.), Product ID : 0x55AA) which connected to an USB Hub with VIA VL822 - USB 3.1 Gen2 Hub Controller.

And I tested 9.3.2 again and here everything is fine and CrystalDiskInfo runs fine. So code changes for JMS586 and Realtek 9220DP support broke the enum and causes that the drive is gone so that Windows bugchecks

MagicAndre1981 commented 2 months ago

The version 9.4.4 works again fine as expected.

MagicAndre1981 commented 2 months ago

I did some more testing. Connecting the ASMedia enclosure directly to the laptop makes no difference.

I put the drive into an enclosure with JMicron JMS567 and booting tinto Windows works with 9.4.3

image

image

image (Drive E: is the internal NVME SSD of the laptop and Host write is truncated with 125% Scaling image )

I try to find other enclosures I have to do more testings.

MagicAndre1981 commented 2 months ago

ok, Sebrant USB 3.0 adapter with JMicron JMS561U also works with 9.4.3

MagicAndre1981 commented 2 months ago

ok, a different USB enclosure with ASmedia ASM1051 works and this time hwinfo reports it as USB 3.1 Gen2 (SuperSpeed+ 10 Gbps) compatible and not USB 3.1 Gen1 (3.0) where I get the Bugcheck:

image

So maybe the 3.0 version of the asmedia chip has a bug or the enclosure is somehow damaged

image

The IDs are the same but speeds differ. Strange.

MagicAndre1981 commented 2 months ago

The crashing enclosure with the 3.0 speed has the cable attached to it:

image

abd the working enclosure with the 3.10 speed has an USB-C port.

image

MagicAndre1981 commented 2 months ago

ok, found an other enclosure in my PC part box and this one has a Reatek rtl9201R chip and also works fine with 9.4.3

image

image

MagicAndre1981 commented 2 months ago

ok, last enclosure I found has an USB3.0 4 Port chip and the ASMedia ASM1051 chip which provides SATA port is internaly connected to 1 USB port and the enclosure offers 3 USB3.0 ports. This one also works fine with 9.4.3:

image

image

So except one ASMedia ASM1051 all other work. What is the conclusion? This 1 enclosure is somehow damaged or has a firmware issue? @hiyohiyo In future I'll only use it to connect a SSD to my Pi4