@
UtterDisbelief Thank you, didn't have time to fix it yet. I'll look into it in the upcoming days.
Back on the topic: Just a thought i had yesterday - if it's true, and Bluetooth firmware is being updated/flashed on every boot (as i quoted someone before) - wouldn't it brick Bluetooth if you shut down/restart computer during the boot? That's why i doubt that firmware is updated/flashed on every boot.
EDIT:
1. I deleted FakePCIID_XHCIMux.kext and restarted - mouse and keyboard not working.
2. I booted with my Catalina USB flash, deleted my SSDT files in ACPI/patched and added Port Limit Removal Patch and restarted - USB worked, but when i connected Samsung T5 USB3 drive to USB3 port, it connected as USB2.
It seems that FakePCIID_XHCIMux.kext is necessary:
1. For any ports (USB2 and USB3) to work with SSDT.
2. For USB3 ports to work with Port Limit Removal Patch (USB2 works).
So i added my SSDT files and FakePCIID_XHCImux.kext back and removed patch. Everything is back to normal. I'll deal with "port-count" in my SSDT file later.
EDIT 2:
I should have tried disabling HP (USB2) ports, maybe then USB3 would have worked. But i somehow doubt it, as i have 16 ports and i tried two USB3 ports, at least one of them should have been under 15 port limit. And if that Port Limit Removal Patch does indeed remove 15 port limit, it should have worked either way. Besides, if i disabled USB2 ports, my mouse and my keyboard might not have been worked, so i wouldn't even be able to login to check IORegistry.
Either way, i do have a question regarding Port Limit Removal Patch. As i understand, it lets use more than 15 ports on a system. Then why even
@RehabMan in his SSDT guide suggests to use this patch for port discovery and then to disable some of the ports in order to be able to check if there isn't more ports (over 15 port limit).
It should be EITHER:
1. Use Port Limit Removal Patch which, in theory, should allow discover all ports, OR...
2. If you do not use the patch - disable already discovered ports in order to discover if there is more ports.
EDIT 3: I don't know if i remembered correctly, but Port Limit Removal Patch should Inject all ports. I guess, inject as many, as possible, inside a 15 port limit. Then why is it called "Port Limit Removal Patch"? It should be "USB Port Injector Patch" or something like this.