corpnewt / USBMap

Python script for mapping USB ports in macOS and creating a custom injector kext.
MIT License
1.03k stars 88 forks source link

Generated SSDT-RHUB-Reset.dsl will not compile #45

Open Stonemage opened 1 year ago

Stonemage commented 1 year ago

For some reason, the generated SSDT-RHUB-Reset.dsl file will not compile using MaciASL, RehabMan-version 1.31.

Once opened in MaciASL, if you hit Compile, 3 errors are generated:

I have attached the file, for science.

SSDT-RHUB-Reset.dsl.txt

Any advice?

corpnewt commented 1 year ago

The issue appears to be that your USB controller is not named/defined in ACPI - so instead of using a typical 4-char ACPI name (like XHC_), it's called APPLEUSBXHCISPT - which is not a valid ACPI name, and thus prevents it from compiling as expected.

Given that it doesn't appear to be defined in ACPI - there shouldn't be any need to reset the RHUBs, as all the port personalities should be enumerated by querying the hardware directly. Are you having some specific issue that requires the SSDT?

-CorpNewt

Stonemage commented 1 year ago

Okay, this makes sense. APPLEUSBXHCISPT is actually a Maple Ridge Thunderbolt 4 & USB card. Likely why it's not defined in the ACPI.

SB.PC00.XHCI.RHUB is for the onboard USB ports. Currently, I am not using any form of SSDT-RHUB, but all of the ports seem to work with the exception of Bluetooth. It WAS working... but now not working... no idea why, which is why I have been rebuilding the USBMap. Attached is the generated Info.plist for the USBMap, and the config.plist (with SMBIOS details removed).

config.cleaned.plist.txt Info.plist.txt

corpnewt commented 1 year ago

Well - you're mixing and matching multiple mapping attempts - you've got USBInjectAll.kext + SSDT-UIAC.aml, and then a USBMap.kext. If you think USB mapping is to blame - best to start fresh and remap to verify.

-CorpNewt

Stonemage commented 1 year ago

Thanks @corpnewt

I had completely forgotten about SSDT-UIAC. I have now ripped this out. USBInjectAll was already disabled. I will have to keep looking. Clearly, USBMap is working correctly as it does see the ITE device, and I have been able to set that device as internal (255). For some reason, it just simply doesn't work.

Really appreciate you. Cheers.