Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

No. The SSDT applies only to USBInjectAll.kext, which applies only to supported Intel xHCI.

Thanks :D ! I am almost done !

Just something I noticed, your examples starts with

DefinitionBlock ("", "SSDT", 2, "hack", "UIAC", 0)
and your sample starts with
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC-ALL", 0)

Should I get rid of the ALL ?
 
Thanks :D ! I am almost done !

Just something I noticed, your examples starts with

DefinitionBlock ("", "SSDT", 2, "hack", "UIAC", 0)
and your sample starts with
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC-ALL", 0)

Should I get rid of the ALL ?

The -ALL in the name with the SSDT-UIAC-ALL.dsl template is commentary due to the nature of the content in the file.
The file contains all ports.
After you edit your custom one, it won't contain "all", but rather those ports specific to your machine.
 
The -ALL in the name with the SSDT-UIAC-ALL.dsl template is commentary due to the nature of the content in the file.
The file contains all ports.
After you edit your custom one, it won't contain "all", but rather those ports specific to your machine.

Understood !

Followed the tutorial and it works perfectly ! Thank you very much
 
Hi, RehabMan
Ok I did make SSDT-UIAC-ALL.aml correctly.

Do I need FakePCIID, FakePCIID_XHCIMux and XHCI-200Series-Injector kexts?

Or Just simply I need USBinjectorAll.kext only?

Cuz, my XHC tree shows me correctly, without those three kext files.


After correctly made a USB patch, the shutdown function should be working with uncheck 'fixshutdown' in clover configurator.

But still not working without it. But if check 'fixshutdown' shutdown working, but my MB LED still on. Without 'fixshutdown', LED off correctly but computer restarts in seconds.

'Fixshutdown' controls MB's LED?
 
Hi, RehabMan
Ok I did make SSDT-UIAC-ALL.aml correctly.

Do I need FakePCIID, FakePCIID_XHCIMux and XHCI-200Series-Injector kexts?

Or Just simply I need USBinjectorAll.kext only?

Cuz, my XHC tree shows me correctly, without those three kext files.


After correctly made a USB patch, the shutdown function should be working with uncheck 'fixshutdown' in clover configurator.

But still not working without it. But if check 'fixshutdown' shutdown working, but my MB LED still on. Without 'fixshutdown', LED off correctly but computer restarts in seconds.

'Fixshutdown' controls MB's LED?

As per guide, FakePCIID_XHCIMux.kext does not apply to 100-series and later.
For the question regarding the injector kext, I would need to see your ioreg (see post #1, "Problem Reporting").

Your shutdown problem is not likely related to USB. No ideas without problem reporting files.
 
As per guide, FakePCIID_XHCIMux.kext does not apply to 100-series and later.
For the question regarding the injector kext, I would need to see your ioreg (see post #1, "Problem Reporting").

Your shutdown problem is not likely related to USB. No ideas without problem reporting files.

Here is the reporting files.

Thank you for your time.
 

Attachments

  • debug_20043.zip
    5.1 MB · Views: 97
  • debug_20043.zip
    5.1 MB · Views: 76
Here is the reporting files.

Thank you for your time.

Notes/comments:
- XHC is a2af.. natively supported in 10.13.4
- internal ports should be marked UsbConnector=255. For example, looks like an internal hub at HS05/SS05.
- maybe another internal hub at HS01/SS01
- remove VirtualBox, and other unnecessary software
- sleep crash can be anything... could be related to your graphics or other hardware installed/connected
- ioreg shows audio not implemented
- looks like GPU PM not implemented
- hibernate not disabled (hibernatemode should be 0)
- you should probably remove/disable the TRIM patch
 
Notes/comments:
- XHC is a2af.. natively supported in 10.13.4
- internal ports should be marked UsbConnector=255. For example, looks like an internal hub at HS05/SS05.
- maybe another internal hub at HS01/SS01
- remove VirtualBox, and other unnecessary software
- sleep crash can be anything... could be related to your graphics or other hardware installed/connected
- ioreg shows audio not implemented
- looks like GPU PM not implemented
- hibernate not disabled (hibernatemode should be 0)
- you should probably remove/disable the TRIM patch

1. XHC is a2af/ Natively supported in 10.13.4/ but I still need SSDT for full functional USB? right?

2. Ok, the internal ports are HS8, HS9 which is internal USB 2.0/1.1 headers. My IOREG original showed me NZXT CPU cooler in HS08 and Bluetooth/wifi in HS9 SO I put both = '255'

3. I removed VirtualBox. no more other apps like Parallels


4. Sleep/Wake is OK but only Shutdown has issue. (restart)


5. Internal audio is not enabled intently. (Using monitor's audio)

6. GPU PM? iGPU? No need it so not enabled.

7. Hibernate? you meant 'darkwake=0'?

8. Trim disabled.
 
Notes/comments:
- XHC is a2af.. natively supported in 10.13.4
- internal ports should be marked UsbConnector=255. For example, looks like an internal hub at HS05/SS05.
- maybe another internal hub at HS01/SS01
- remove VirtualBox, and other unnecessary software
- sleep crash can be anything... could be related to your graphics or other hardware installed/connected
- ioreg shows audio not implemented
- looks like GPU PM not implemented
- hibernate not disabled (hibernatemode should be 0)
- you should probably remove/disable the TRIM patch


After all these fixed anything suggestion? report again?
 
Last edited:
Great article RehabMan! Many thanks!
I followed the instruction on page 1 and now all my USB3 devices are working fine on my Hackintosh. Awesome!

Requirements:
- EHC1->EH01 and EHC2->EH02 rename (in config.plist), if applicable (your chipset may not have EHCI, or it may be disabled)
- XHCI controller must be named XHC (for most PCs it is default)
- port limit patch (in config.plist)
- install USBInjectAll.kext (install to the system volume)
- if you plan to use it, install FakePCIID.kext + FakePCIID_XHCIMux.kext
- if you have an existing SSDT for USBInjectAll, use -uia_ignore_rmcf
- XHCI injector kext, if required (200-series need XHCI-200-series-injector.kext)

The EHCx renames and port limit patches are available in config_patches.plist (https://github.com/RehabMan/OS-X-USB-Inject-All/raw/master/config_patches.plist) in the USBInjectAll.kext repository. Use copy/paste from a plist editor to get them into your own config.plist.

I used vim to copy the 2 important patch blocks from config_patches to my config.plist. The difference for the original and new config.plist are stored in the attached diff.txt

1) DSDT->Patches 2) KernelAndKextPatches->KextsToPatch
Also, add '-uia_ignore_rmcf' in Boot->Arguments in config.plist
Code:
-        <string>dart=0 darkwake=8</string>
+        <string>dart=0 darkwake=8 -uia_ignore_rmcf</string>
 

Attachments

  • diff.txt
    3.3 KB · Views: 173
Back
Top