- Joined
- Aug 30, 2018
- Messages
- 1,467
- Motherboard
- Asus ROG Strix Z390 I-Gaming
- CPU
- i7-8700K
- Graphics
- Vega 64
- Mac
- Classic Mac
- Mobile Phone
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>