Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

RehabMan

Moderator
Joined
May 2, 2012
Messages
183,969
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
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.
 
Joined
Nov 10, 2012
Messages
202
Motherboard
GA-Z97-HD3
CPU
i7-4790
Graphics
Intel HD Graphics 4600
Mobile Phone
  1. iOS
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.
 
Joined
Nov 29, 2017
Messages
60
Motherboard
GA-H270N-WiFi
CPU
i5-7400
Graphics
Intel HD630
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
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
183,969
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
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.
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
183,969
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
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.
 
Joined
Nov 29, 2017
Messages
60
Motherboard
GA-H270N-WiFi
CPU
i5-7400
Graphics
Intel HD630
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!
 

RehabMan

Moderator
Joined
May 2, 2012
Messages
183,969
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
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.
 
Top