Motherboard: Asus Z370-P II (Bios version 1203)
CPU: i5 9600k
Graphics: Radeon RX 5500XT
Hi guys! I'm new to Hackintosh and I'm having some trouble with my build. I'm trying to be a good question-asker and provide you with as much detail as possible. I would really appreciate if someone could weigh in with their expertise.
I installed Catalina with the Dortania OpenCore vanilla guide and had no problems. The guide was comprehensive and easy to follow, I was lucky enough that my .aml requirements could be fulfilled "the easy way" using SSDTTime and the precompiled USBX.aml. However, I discovered some strange USB behaviour.
My initial EFI uses the XhciPortLimit patch without USBInject all or any sort of USB map. Many of my USB devices work fine, my keyboard and mouse receiver works, as does my bluetooth adapter and my USB mic. My external RAID enclosure even works perfectly. What doesn't work is any other USB storage device, including a portable external HDD and USB sticks (both USB 2.0 and 3.0 ports). This behaviour is the same with all USB ports. Sometimes, the system will get laggy when one of these "unsupported" devices are plugged in. On verbose boot, if one of these devices is plugged in, this flashes across the screen a solid minute before booting (this happens with all the different EFI's I've made).
What's more confusing to me is that if I go to system report or IO explorer, I can see the devices being added, but they are not shown in disk utility at all. On my initial config, it will occasionally freeze after plugging in or unplugging any of these non-working devices.
What I've Tried
At first, I though that building a USB map would be the answer. I used a dummy USB to test different EFIs, and tried building a USB map using the USBMap tool by u/corpnewt . I did include USBinjectAll when attempting this. I found that after booting with the EFI from the USB, the hackintosh was extremely slow, and would almost always freeze during the discovery process while I plugged or unplugged USB devices, requiring me to cut power to turn the computer off. This happened with the port limit patch enabled or disabled.
Here is a picture I took before one of the freezes. One thing I noticed is that all of the devices are added 3 times, with one being stacked under the USR2 section, which I've never seen in any of the guides or videos I watched.
I decided to try using the USBMap tool with my initial, more stable EFI without USBInjectAll. Here is a picture of the discovery process. I noticed that this time, instead of all of the devices stacking in the USR2 slot, they stacked in the SS02 spot, also it seems some of the ports I had previously mapped to other slots have not changed (TR004 stayed in the same port in the 2 screenshots, yet it went from HS05 to HS03). I was able to finish mapping this time though. I tried the .kext method and the SSDT method. I tested both methods using a dummy USB and got the same results as before, the system was extremely laggy, the USB behaviour was unchanged, and the system froze and crashed upon plugging or unplugging some devices.
Here is my initial EFI, with a screenshot here.
Here is a log using this same EFI on a regular boot, all of the "supported" USB devices are plugged in and worked upon boot.
Here is a log using the same EFI with one of the "unsupported" USB devices plugged in.
Here is the most recent EFI I made with the USBMap patch. Here is a screenshot.
Questions / Theories
Excuse me if these don't make sense:
1) I've used a dummy USB to test all of the EFI variants I've made. I assume that MacOS does not recognize it once booted (because it's on a USB stick - which doesn't work), I can see the device in system report but not in Disk Utility, Finder or using the MountEFI tool. I wonder if at some point during boot, MacOS loses track of it and it causes issues. I've been too scared to move these EFI's over to my HDD because they are often so laggy, but maybe the fact they are being booted from a dummy USB is causing the lagginess.
2) EHCI/XHCI Hand-off was not an option in my BIOS, I wonder if this has anything to do with it.
3) I used SSDT Time to make SSDT-EC, but I'm wondering if something is wrong with it. I used the pre-compiled USBX and also tried the one created by the USBMap tool, and saw no difference.
4) I looked and I didn't think that I need SSDT-AWAC. But if i did would it even let me boot without it? Or could it potentially cause this problem? (I realize this one if far fetched).
5) I may very well be using the USBMap Tool wrong. I tried following this guide, but I feel like I'm missing something because it didn't actually go through the process of using the tool. However I did find the readme on corpnewt's github page helpful.
Sorry for the essay. I've spent a lot of time looking down rabbit holes and I hope you guys may be able to help me decide which one to go down next.