Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EHCI not working in Windows #2

Open
strongtz opened this issue Dec 18, 2021 · 2 comments
Open

EHCI not working in Windows #2

strongtz opened this issue Dec 18, 2021 · 2 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@strongtz
Copy link

Hi! First of all, thank you for all your amazing work!
I have a RADXA ROCK3 Model A, which is equipped with RK3568 and 2GB of RAM. Windows arm64 boots with the UEFI firmware, ofc without display output. But I can successfully connect to it via UART with windbg (KDCOM).
The problem is, as soon as I plug any USB device into the USB2 port, Windows BSOD with WHEA_UNCORRECTABLE_ERROR, while USB3 port works well. I don't have much knowledge of all these stuff actually, so I'd like to share those debug output here.

List of devices in windbg:

0: kd> !devnode 0 1
Dumping IopRootDeviceNode (= 0xffffac8c31ecda20)
DevNode 0xffffac8c31ecda20 for PDO 0xffffac8c31feed50
  InstancePath is "HTREE\ROOT\0"
  State = DeviceNodeStarted (0x30a)
  Previous State = DeviceNodeEnumerateCompletion (0x30f)
  DevNode 0xffffac8c31edfa20 for PDO 0xffffac8c31ff2d70
    InstancePath is "ROOT\KDNIC\0000"
    State = DeviceNodeInitialized (0x304)
    Previous State = DeviceNodeUninitialized (0x301)
    Problem = CM_PROB_REINSTALL
    Problem Status = 0xc0000493
  DevNode 0xffffac8c31ef9a20 for PDO 0xffffac8c31ff3d70
    InstancePath is "ROOT\UMBUS\0000"
    ServiceName is "umbus_CE7D0C77822564F6"
    State = DeviceNodeStarted (0x30a)
    Previous State = DeviceNodeStartPostWork (0x309)
  DevNode 0xffffac8c31ff6010 for PDO 0xffffac8c31ef9e20
    InstancePath is "ROOT\NdisVirtualBus\0000"
    ServiceName is "NdisVirtualBus"
    State = DeviceNodeStarted (0x30a)
    Previous State = DeviceNodeStartPostWork (0x309)
  DevNode 0xffffac8c31ff63c0 for PDO 0xffffac8c31ff4d70
    InstancePath is "ROOT\SYSTEM\0000"
    ServiceName is "swenum"
    State = DeviceNodeStarted (0x30a)
    Previous State = DeviceNodeStartPostWork (0x309)
  DevNode 0xffffac8c31ff6770 for PDO 0xffffac8c31ff7a70
    InstancePath is "ROOT\ARM64_HAL\0000"
    State = DeviceNodeStarted (0x30a)
    Previous State = DeviceNodeEnumerateCompletion (0x30f)
    DevNode 0xffffac8c320a4c30 for PDO 0xffffac8c31ff6b70
      InstancePath is "ACPI_HAL\PNP0C08\0"
      ServiceName is "ACPI"
      State = DeviceNodeStarted (0x30a)
      Previous State = DeviceNodeEnumerateCompletion (0x30f)
      DevNode 0xffffac8c322c2010 for PDO 0xffffac8c322c0270
        InstancePath is "ACPI\Rockchip_-_ARMv8_(64-bit)_Family_8_Model_D05_Revision_200\0"
        ServiceName is "FxPPM"
        State = DeviceNodeStarted (0x30a)
        Previous State = DeviceNodeEnumerateCompletion (0x30f)
      DevNode 0xffffac8c322c23c0 for PDO 0xffffac8c322c04a0
        InstancePath is "ACPI\Rockchip_-_ARMv8_(64-bit)_Family_8_Model_D05_Revision_200\1"
        ServiceName is "FxPPM"
        State = DeviceNodeStarted (0x30a)
        Previous State = DeviceNodeEnumerateCompletion (0x30f)
      DevNode 0xffffac8c322c2770 for PDO 0xffffac8c322c06d0
        InstancePath is "ACPI\Rockchip_-_ARMv8_(64-bit)_Family_8_Model_D05_Revision_200\2"
        ServiceName is "FxPPM"
        State = DeviceNodeStarted (0x30a)
        Previous State = DeviceNodeEnumerateCompletion (0x30f)
      DevNode 0xffffac8c322c2b20 for PDO 0xffffac8c322c0900
        InstancePath is "ACPI\Rockchip_-_ARMv8_(64-bit)_Family_8_Model_D05_Revision_200\3"
        ServiceName is "FxPPM"
        State = DeviceNodeStarted (0x30a)
        Previous State = DeviceNodeEnumerateCompletion (0x30f)
      DevNode 0xffffac8c322c3010 for PDO 0xffffac8c322c0b30
        InstancePath is "ACPI\HISI0031\0"
        State = DeviceNodeInitialized (0x304)
        Previous State = DeviceNodeUninitialized (0x301)
        Problem = CM_PROB_FAILED_INSTALL
        Problem Status = 0xc0000490
      DevNode 0xffffac8c322c33c0 for PDO 0xffffac8c322c0d60
        InstancePath is "ACPI\PNP0D20\0"
        ServiceName is "usbehci"
        State = DeviceNodeStarted (0x30a)
        Previous State = DeviceNodeEnumerateCompletion (0x30f)
        DevNode 0xffffac8c3235a260 for PDO 0xffffac8c324ae050
          InstancePath is "USB\ROOT_HUB20\3&116959a7&0"
          ServiceName is "usbhub"
          State = DeviceNodeStarted (0x30a)
          Previous State = DeviceNodeEnumerateCompletion (0x30f)
      DevNode 0xffffac8c322c3770 for PDO 0xffffac8c322c1060
        InstancePath is "ACPI\RKCP0DFF\0"
        State = DeviceNodeInitialized (0x304)
        Previous State = DeviceNodeUninitialized (0x301)
        Problem = CM_PROB_FAILED_INSTALL
        Problem Status = 0xc0000490
      DevNode 0xffffac8c322c3b20 for PDO 0xffffac8c322c1290
        InstancePath is "ACPI\PNP0D20\1"
        ServiceName is "usbehci"
        State = DeviceNodeStarted (0x30a)
        Previous State = DeviceNodeEnumerateCompletion (0x30f)
        DevNode 0xffffac8c324b5b70 for PDO 0xffffac8c324d0050
          InstancePath is "USB\ROOT_HUB20\3&15056fe&0"
          ServiceName is "usbhub"
          State = DeviceNodeStarted (0x30a)
          Previous State = DeviceNodeEnumerateCompletion (0x30f)
      DevNode 0xffffac8c322c4010 for PDO 0xffffac8c322c14c0
        InstancePath is "ACPI\RKCP0DFF\1"
        State = DeviceNodeInitialized (0x304)
        Previous State = DeviceNodeUninitialized (0x301)
        Problem = CM_PROB_FAILED_INSTALL
        Problem Status = 0xc0000490
      DevNode 0xffffac8c322c43c0 for PDO 0xffffac8c322c16f0
        InstancePath is "ACPI\PNP0D10\0"
        ServiceName is "USBXHCI"
        State = DeviceNodeStarted (0x30a)
        Previous State = DeviceNodeEnumerateCompletion (0x30f)
        DevNode 0xffffac8c325bab50 for PDO 0xffffac8c32522dc0
          InstancePath is "USB\ROOT_HUB30\3&20a5d118&0&0"
          ServiceName is "USBHUB3"
          State = DeviceNodeStarted (0x30a)
          Previous State = DeviceNodeEnumerateCompletion (0x30f)
      DevNode 0xffffac8c322c4770 for PDO 0xffffac8c322c1920
        InstancePath is "ACPI\PNP0D10\1"
        ServiceName is "USBXHCI"
        State = DeviceNodeStarted (0x30a)
        Previous State = DeviceNodeEnumerateCompletion (0x30f)
        DevNode 0xffffac8c325b7a20 for PDO 0xffffac8c3259c4b0
          InstancePath is "USB\ROOT_HUB30\3&dec2073&0&0"
          ServiceName is "USBHUB3"
          State = DeviceNodeStarted (0x30a)
          Previous State = DeviceNodeEnumerateCompletion (0x30f)
          DevNode 0xffffac8c341425e0 for PDO 0xffffac8c32ca4370
            InstancePath is "USB\VID_067B&PID_2731\ABCDEF0123456789AB"
            ServiceName is "USBSTOR"
            State = DeviceNodeStarted (0x30a)
            Previous State = DeviceNodeEnumerateCompletion (0x30f)
            DevNode 0xffffac8c342be5e0 for PDO 0xffffac8c32c79060
              InstancePath is "USBSTOR\Disk&Ven_&Prod_SD_Card_Reader&Rev_1.00\ABCDEF0123456789AB&0"
              ServiceName is "disk"
              State = DeviceNodeStarted (0x30a)
              Previous State = DeviceNodeEnumerateCompletion (0x30f)
      DevNode 0xffffac8c322c4b20 for PDO 0xffffac8c322c1b50
        InstancePath is "ACPI\PNP0A08\2&daba3ff&0"
        ServiceName is "pci"
        State = DeviceNodeStarted (0x30a)
        Previous State = DeviceNodeEnumerateCompletion (0x30f)
        DevNode 0xffffac8c322e9010 for PDO 0xffffac8c3231abc0
          InstancePath is "ACPI\PNP0C02\3&b1bfb68&0"
          State = DeviceNodeInitialized (0x304)
          Previous State = DeviceNodeUninitialized (0x301)
  DevNode 0xffffac8c322e2a20 for PDO 0xffffac8c322dad80
    InstancePath is "SWD\COMPUTER\MFG_Pine64&FAM_Quartz64&PROD_RADXA_ROCK3_Model_A&SKU_0000000000000000"
    State = DeviceNodeStarted (0x30a)
    Previous State = DeviceNodeStartPostWork (0x309)
........................

Bugcheck analysis:

WHEA_UNCORRECTABLE_ERROR (124)
A fatal hardware error has occurred. Parameter 1 identifies the type of error
source that reported the error. Parameter 2 holds the address of the
nt!_WHEA_ERROR_RECORD structure that describes the error condition. Try !errrec Address of the nt!_WHEA_ERROR_RECORD structure to get more details.
Arguments:
Arg1: 0000000000000011, Error Source Type
Arg2: ffffac8c34454038
Arg3: 0000000000000000
Arg4: 0000000000000000

Debugging Details:
------------------


KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.mSec
    Value: 1030

    Key  : Analysis.DebugAnalysisManager
    Value: Create

    Key  : Analysis.Elapsed.mSec
    Value: 10495

    Key  : Analysis.Init.CPU.mSec
    Value: 6468

    Key  : Analysis.Init.Elapsed.mSec
    Value: 1274762

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 91

    Key  : WER.OS.Branch
    Value: rs_prerelease

    Key  : WER.OS.Timestamp
    Value: 2021-12-10T14:18:00Z

    Key  : WER.OS.Version
    Value: 10.0.22523.1000


BUGCHECK_CODE:  124

BUGCHECK_P1: 11

BUGCHECK_P2: ffffac8c34454038

BUGCHECK_P3: 0

BUGCHECK_P4: 0

PROCESS_NAME:  System

STACK_TEXT:  
fffffc88`19b4b790 fffff802`fb181e90     : fffffc88`19b4b7e0 fffff802`fb1816b8 fffffc88`00000003 fffff802`fb181644 : nt!DbgBreakPoint
fffffc88`19b4b790 fffff802`fb1816b8     : fffffc88`19b4b7e0 fffff802`fb1816b8 fffffc88`00000003 fffff802`fb181644 : nt!KiBugCheckDebugBreak+0x20
fffffc88`19b4b7e0 fffff802`fb134004     : fffffc88`19b4bdc0 fffff802`fb134004 ffffac8c`01000001 ffffac8c`325b7080 : nt!KeBugCheck2+0x938
fffffc88`19b4bdc0 fffff802`fb23fcfc     : fffffc88`19b4be00 fffff802`fb23fcfc ffffac8c`34454038 ffffac8c`32648070 : nt!HalBugCheckSystem+0x84
fffffc88`19b4be00 fffff802`fb2400e8     : fffffc88`19b4be80 fffff802`fb2400e8 ffffac8c`34454010 fffffc88`19b4bee0 : nt!WheaRecoveryBugCheck+0x6c
fffffc88`19b4be20 fffff802`fb0ab380     : fffff802`000009e0 00000000`00000000 00000000`00000000 00000000`00000001 : nt!WheaReportHwError+0x3d8
fffffc88`19b4bee0 fffff802`faf73a44     : 00000003`41454857 00000000`00000065 00000000`00000006 00000011`00000004 : nt!HalWheaHandleSea+0x120
fffffc88`19b4bf70 fffff802`faf73558     : fffffc88`19b4c060 fffff802`faf73558 fffffc88`19b4c100 fffff802`fa5a0980 : nt!KiAbortException+0x224
fffffc88`19b4bfb0 fffff802`faeb3c00     : 00000000`0000bf00 00000000`c0000709 00000000`00000000 fffff802`fd6f10dc : nt!KiSynchronousException+0x218
fffffc88`19b4c0a0 fffff802`faeb285c     : ffffac8c`32f1d828 ffff9900`86a66100 ffffac8c`32356da0 ffffac8c`32356da0 : nt!KzSynchronousException+0x24
fffffc88`19b4c100 fffff802`fd6f10dc     : 7072544b`00000001 ffffac8c`343ed001 fffffc88`19b4c250 ffffac8c`32d38800 : nt!KiArm64ExceptionVectors+0x5c
fffffc88`19b4c470 fffff802`fd6fcaf4     : fffffc88`19b4c4a0 fffff802`fd6f6c68 00000000`00000001 ffffac8c`32f1d828 : usbehci!InterlockedOr+0xc
fffffc88`19b4c470 fffff802`fd6f6c68     : fffffc88`19b4c4a0 fffff802`fd6f6c68 00000000`00000001 ffffac8c`32f1d828 : usbehci!EHCI_AllocTd+0x84
fffffc88`19b4c4a0 fffff802`fd6fe8d0     : fffffc88`19b4c510 fffff802`fd6fe8d0 00000000`00000001 00000000`00000000 : usbehci!EHCI_OpenBulkOrControlEndpoint+0x160
fffffc88`19b4c510 fffff802`fd712fac     : fffffc88`19b4c580 fffff802`fd712fac 00000040`00000000 00000000`00000002 : usbehci!EHCI_OpenEndpoint+0x150
fffffc88`19b4c580 fffff802`fd742a44     : fffffc88`19b4c5c0 fffff802`fd742a44 ffffac8c`32f1d560 00000000`00180a95 : USBPORT!MPx_OpenEndpoint+0xd4
fffffc88`19b4c5c0 fffff802`fd741788     : fffffc88`19b4c630 fffff802`fd741788 fffffc88`19b4c501 00010000`00000400 : USBPORT!USBPORT_OpenEndpoint+0x94c
fffffc88`19b4c630 fffff802`fd71ec10     : fffffc88`19b4c6b0 fffff802`fd71ec10 ffffac8c`32355050 fffffc88`19b4c6c0 : USBPORT!USBPORT_NeoCreateDevice+0x300
fffffc88`19b4c6a0 fffff802`fd5e7a88     : ffffac8c`34355c20 ffff5b86`9c073a86 fffffc88`19b4c7b0 fffff802`fd5e7a88 : USBPORT!USBPORTBUSIF_CreateUsbDeviceV7+0xa0
fffffc88`19b4c720 fffff802`fd60a4ec     : ffffac8c`34355c20 ffffac8c`343439c0 ffffac8c`34340000 00000000`00000000 : usbhub!UsbhCreateDevice+0x2a0
fffffc88`19b4c810 fffff802`fd6088f0     : fffffc88`19b4c840 fffff802`faf0a494 00000000`00000990 00000000`00000000 : usbhub!UsbhReset1Complete+0x16c
fffffc88`19b4c8a0 fffff802`fd5df238     : fffffc88`19b4c900 fffff802`fd5df238 00000000`00000010 fffff802`fd5dec64 : usbhub!UsbhEnumerate1+0x218
fffffc88`19b4c8f0 fffff802`fd5dfa90     : fffffc88`19b4c970 fffff802`fd5df95c fffffc88`19b4c970 fffff802`fd5dfa90 : usbhub!UsbhHubDispatchPortEvent+0x718
fffffc88`19b4c960 fffff802`fd5e5d0c     : 00000000`00000000 ffffac8c`324d8028 fffffc88`19b4ca20 fffff802`fd5e5d0c : usbhub!UsbhHubRunPortChangeQueue+0x310
fffffc88`19b4ca20 fffff802`fd5de524     : fffffc88`19b4ca60 fffff802`fd5de524 50447170`70714400 fffff802`faf0c570 : usbhub!Usbh_PCE_wRun_Action+0x194
fffffc88`19b4ca60 fffff802`fd5e1134     : fffffc88`19b4cab0 fffff802`fd5e1134 ffffac8c`324d2050 ffffac8c`324d8010 : usbhub!UsbhDispatch_PortChangeQueueEventEx+0x12c
fffffc88`19b4cab0 fffff802`fd5df46c     : fffffc88`19b4cae0 fffff802`fd5df46c ffffac8c`324d8010 ffffac8c`324d2050 : usbhub!UsbhPCE_wRun+0x8c
fffffc88`19b4cae0 fffff802`faf84c3c     : fffffc88`19b4cb50 fffff802`faf84c3c fffffffe`76999ba7 00000000`00000000 : usbhub!UsbhHubProcessChangeWorker+0x12c
fffffc88`19b4cb30 fffff802`faf8415c     : 00000000`00000000 00000000`00000000 ffffac8c`325b7080 ffff5b86`9c073f26 : nt!IopProcessWorkItem+0x8c
fffffc88`19b4cb90 fffff802`fb01a70c     : ffffac8c`31e69420 fffff802`fb9e1200 fffff802`fb9e1200 00000000`00000000 : nt!ExpWorkerThread+0x1dc
fffffc88`19b4cd50 fffff802`faeb7de4     : 00000000`00000000 fffff802`faeb7de4 ffffac8c`325b7080 fffff802`fa5a0980 : nt!PspSystemThreadStartup+0xdc
fffffc88`19b4cd90 00000000`00000000     : ffffac8c`31ebfa20 fffff802`faf83f80 fffff802`fb01a630 00000000`00000000 : nt!KiStartSystemThread+0x24
@jaredmcneill
Copy link
Owner

Thanks for the bug report! I'm able to reproduce it here on my 8GB Quartz64. Not sure what's going on yet.

@jaredmcneill jaredmcneill added bug Something isn't working help wanted Extra attention is needed labels Jan 19, 2022
@jjcampo
Copy link

jjcampo commented Mar 3, 2022

Booting latest windows 11 arm from usb2, but the other one causes panic. I have reached to desktop :) Really slow because display is forced to 4k like in linux but you made this dream possible. Thanks @jared.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants