Contribute
Register

Mojave 10.14.4 Port Limit Removal Patch

Joined
Aug 31, 2018
Messages
1,413
Motherboard
Asus ROG Strix Z390 I-Gaming
CPU
i7-8700K
Graphics
Vega 64
Mac
  1. MacBook
Classic Mac
  1. 512K
  2. iMac
Mobile Phone
  1. iOS
Some people say there might be memory error by allowing port number to go above 15. That is not true because AppleUSBXHCI actually read hardware registers to allocate memory, for example activeDeviceSet is constructed from Max Device Slots value in HCSPARAMS1. Port limit checks can be safely removed. People might wonder why the first place to limit ports is in AppleUSBXHCI not AppleUSBXHCIPCI. Well, AppleUSBXHCIPCI constructs ports property and calls super class (AppleUSBXHCI) method to enumerate ports. If ports property is defined, only ports listed will be constructed. If no such property exists, AppleUSBXHCI goes through all capabilities defined in the controller. That means by deleting all ACPI USB port definitions, all ports will be enumerated!

The only credit I claim for the following patch is having great search skills :)

10.14.4 Port Limit Removal Patch by PMHeart

Seems to work perfectly but more testing needed to confirm full functionality.

com.apple.iokit.IOUSBHostFamily
83FB0F0F 870B0400 00
83FB3F0F 870B0400 00
USB Port Limit Patch 1 ©PMHeart
10.14.4

com.apple.driver.usb.AppleUSBXHCI
4183FF0F 0F839404 0000
4183FF3F 0F839404 0000
USB Port Limit Patch 2 ©PMHeart
10.14.4

com.apple.iokit.IOUSBHostFamily
83E30FD3 E34109DF
83E33FD3 E34109DF
USB Port Limit Patch 3 ©PMHeart
10.14.4

Plist code below if you prefer:

Code:
<dict>
                <key>Comment</key>
                <string>USB Port Limit Patch 1 ©PMHeart</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>
                g/sPD4cLBAAA
                </data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>MatchOS</key>
                <string>10.14.4</string>
                <key>Name</key>
                <string>com.apple.iokit.IOUSBHostFamily</string>
                <key>Replace</key>
                <data>
                g/s/D4cLBAAA
                </data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>USB Port Limit Patch 2 ©PMHeart</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>
                QYP/Dw+DlAQAAA==
                </data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>MatchOS</key>
                <string>10.14.4</string>
                <key>Name</key>
                <string>com.apple.driver.usb.AppleUSBXHCI</string>
                <key>Replace</key>
                <data>
                QYP/Pw+DlAQAAA==
                </data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>USB Port Limit Patch 3 ©PMHeart</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>
                g+MP0+NBCd8=
                </data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>MatchOS</key>
                <string>10.14.4</string>
                <key>Name</key>
                <string>com.apple.iokit.IOUSBHostFamily</string>
                <key>Replace</key>
                <data>
                g+M/0+NBCd8=
                </data>
            </dict>
 
Joined
Feb 19, 2018
Messages
560
Motherboard
Gigabyte TRX40 Aorus Xtreme
CPU
Ryzen 3970X
Graphics
RX 580
Mac
  1. MacBook
  2. MacBook Pro
Classic Mac
  1. Xserve
Mobile Phone
  1. iOS
Or just build a proper SSDT and not have these issues of USB3 ports not working. It only takes 10-15 minutes and saves a lot of hassle in the future as each .x is released.
 

Feartech

Moderator
Joined
Aug 3, 2013
Messages
19,126
Motherboard
Asus N752VX-OpenCore
CPU
i7-6700HQ / HM170
Graphics
HD 530 1920 x 1080
Mac
  1. iMac
Mobile Phone
  1. iOS
Or just build a proper SSDT and not have these issues of USB3 ports not working. It only takes 10-15 minutes and saves a lot of hassle in the future as each .x is released.
it would make sense :)
 
Joined
Aug 31, 2018
Messages
1,413
Motherboard
Asus ROG Strix Z390 I-Gaming
CPU
i7-8700K
Graphics
Vega 64
Mac
  1. MacBook
Classic Mac
  1. 512K
  2. iMac
Mobile Phone
  1. iOS
Or just build a proper SSDT and not have these issues of USB3 ports not working. It only takes 10-15 minutes and saves a lot of hassle in the future as each .x is released.

I just realized something, are you saying that if I build a custom SSDT I am NOT limited to 15 ports? If that's the case that is the way to go for sure!
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
4,905
Motherboard
Gigabyte Z390M Gaming - Clover UEFI 5102
CPU
i5-9600K
Graphics
RX 570 8gb HDMI 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. Android
I just realized something, are you saying that if I build a custom SSDT I am NOT limited to 15 ports? If that's the case that is the way to go for sure!

Yes, this is true. Follow @RehabMan's guide to creating a custom SSDT and you can define them all. However what is explained is that you should also "-uia_exclude" and "-uia_ignore" surplus ones to get down to the 15 :thumbup:
 

Feartech

Moderator
Joined
Aug 3, 2013
Messages
19,126
Motherboard
Asus N752VX-OpenCore
CPU
i7-6700HQ / HM170
Graphics
HD 530 1920 x 1080
Mac
  1. iMac
Mobile Phone
  1. iOS
I already have one and it's included in my post for people who don't want to use PLRP but still limited to 15 ports so limited functionality.
15 ports as per Apple design
 

MacMan

Administrator
Staff member
Joined
Feb 2, 2010
Messages
8,579
Motherboard
ASUS TUF Z390-PRO GAMING - 2606 - UEFI
CPU
i9-9900K
Graphics
Vega 64
Mac
  1. MacBook Pro
  2. Mac Pro
Classic Mac
  1. Power Mac
  2. PowerBook
Mobile Phone
  1. iOS
If you have an ASUS motherboard you can always use my kext free USB3 SSDT guide.

I do need to update it and also publish the Gigabyte version.
 
Top