有人說通過允許端口號超過15可能存在內存錯誤。這是不正確的,因為AppleUSBXHCI實際上讀取硬件寄存器來分配內存,例如activeDeviceSet是從HCSPARAMS1中的Max Device Slots值構造的。可以安全地刪除端口限制檢查。人們可能想知道為什麼限制端口的第一個地方是AppleUSBXHCI而不是AppleUSBXHCIPCI。好吧,AppleUSBXHCIPCI構造ports屬性並調用超類(AppleUSBXHCI)方法來枚舉端口。如果定義了ports屬性,則僅構造列出的端口。如果不存在此類屬性,AppleUSBXHCI將遍歷控制器中定義的所有功能。這意味著通過刪除所有ACPI USB端口定義,將枚舉所有端口!
以下補丁的唯一功勞是擁有出色的搜索技能
10.14.4 PMHeart的端口限制刪除補丁
似乎工作完美,但需要更多測試來確認完整功能。
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 代碼:
碼:
<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>