Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

easy direction and easy to produce the kext, but USB 3.0 still ain't working.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleGetInfoString</key>
    <string>1.0 Copyright © 2018 Headsoft. All rights reserved.</string>
    <key>CFBundleIdentifier</key>
    <string>com.Headsoft.USBPorts</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>USBPorts</string>
    <key>CFBundlePackageType</key>
    <string>KEXT</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>1.0</string>
    <key>IOKitPersonalities</key>
    <dict>
        <key>iMac18,3-XHC</key>
        <dict>
            <key>CFBundleIdentifier</key>
            <string>com.apple.driver.AppleUSBHostMergeProperties</string>
            <key>IOClass</key>
            <string>AppleUSBHostMergeProperties</string>
            <key>IONameMatch</key>
            <string>XHC</string>
            <key>IOProviderClass</key>
            <string>AppleUSBXHCIPCI</string>
            <key>IOProviderMergeProperties</key>
            <dict>
                <key>port-count</key>
                <data>
                DAAAAA==
                </data>
                <key>ports</key>
                <dict>
                    <key>HS05</key>
                    <dict>
                        <key>UsbConnector</key>
                        <integer>3</integer>
                        <key>port</key>
                        <data>
                        BQAAAA==
                        </data>
                    </dict>
                    <key>HS06</key>
                    <dict>
                        <key>UsbConnector</key>
                        <integer>3</integer>
                        <key>port</key>
                        <data>
                        BgAAAA==
                        </data>
                    </dict>
                    <key>HS07</key>
                    <dict>
                        <key>UsbConnector</key>
                        <integer>3</integer>
                        <key>port</key>
                        <data>
                        BwAAAA==
                        </data>
                    </dict>
                    <key>HS08</key>
                    <dict>
                        <key>UsbConnector</key>
                        <integer>3</integer>
                        <key>port</key>
                        <data>
                        CAAAAA==
                        </data>
                    </dict>
                    <key>HS09</key>
                    <dict>
                        <key>UsbConnector</key>
                        <integer>0</integer>
                        <key>port</key>
                        <data>
                        CQAAAA==
                        </data>
                    </dict>
                    <key>HS10</key>
                    <dict>
                        <key>UsbConnector</key>
                        <integer>0</integer>
                        <key>port</key>
                        <data>
                        CgAAAA==
                        </data>
                    </dict>
                    <key>HS12</key>
                    <dict>
                        <key>UsbConnector</key>
                        <integer>3</integer>
                        <key>port</key>
                        <data>
                        DAAAAA==
                        </data>
                    </dict>
                </dict>
            </dict>
            <key>model</key>
            <string>iMac18,3</string>
        </dict>
    </dict>
    <key>OSBundleRequired</key>
    <string>Root</string>
</dict>
</plist>

The data you have there looks wrong.
No SSxx ports, which means you'll disable USB3 functionality.
Seems like you didn't do "port discovery" correctly.

Plus, this guide uses an SSDT, not a kext.

Read post #1.
 
So like a lot of persons I guess, my existing use of Kexts to patch with 10.14.1 has stopped working so looking for a more robust alternative. Started with this guide but I have a couple questions:

Any reason my USB 3.0 devices won't appear in IOReg when plugged into USB 3.0 ports during discovery?

Do I need USB 3.0 devices to appear during discovery to create the SSDT?

Apologies if this has been answered before.

Thanks for any help.
 
So like a lot of persons I guess, my existing use of Kexts to patch with 10.14.1 has stopped working so looking for a more robust alternative. Started with this guide but I have a couple questions:

Any reason my USB 3.0 devices won't appear in IOReg when plugged into USB 3.0 ports during discovery?

Do I need USB 3.0 devices to appear during discovery to create the SSDT?

Apologies if this has been answered before.

Thanks for any help.

Same problem.

I just can see HSxx and USR1 ports and no SSXX ports
 
So like a lot of persons I guess, my existing use of Kexts to patch with 10.14.1 has stopped working so looking for a more robust alternative. Started with this guide but I have a couple questions:

Any reason my USB 3.0 devices won't appear in IOReg when plugged into USB 3.0 ports during discovery?

Do I need USB 3.0 devices to appear during discovery to create the SSDT?

Apologies if this has been answered before.

Thanks for any help.
Same problem.

I just can see HSxx and USR1 ports and no SSXX ports
Please read post #1 carefully. It requires different kernel flags to enable discovery of the SSxx ports.
 
Please RehabMan what do you think about my usb test ports?

Only you can insure you tested all ports with the appropriate configuration during the test.
 
Please read post #1 carefully. It requires different kernel flags to enable discovery of the SSxx ports.

I finally got it! I thought that without any flag it should show all the ports!

The device id or port numbers changes when you reinstall macOS or will the .aml always work?

Thanks!
 
I finally got it! I thought that without any flag it should show all the ports!

The device id or port numbers changes when you reinstall macOS or will the .aml always work?

Thanks!

We cannot enable all ports at one time for controllers with more than 15 due to the port limit. Hence why we use kernel flags to enable and discover the ports in groups.

The resulting SSDT-UIAC has no dependency on macOS version.
 
Back
Top