Contribute
Register

macOS Catalina 10.15.0 - USB Port-Limit Removal Patch

With the release of macOS Catalina 10.15.0 you'll probably need a port-limit removal patch to begin your USB configuration on a new build.

Here it is:

View attachment 430312

As you can see we only need two patches for Catalina as opposed to four, for Mojave.

Line 1 -

Name*: com.apple.iokit.IOUSBHostFamily
Find*: 83FB0F0F
Replace*: 83FB3F0F

Line 2 -

Name* com.apple.driver.usb.AppleUSBXHCI
Find*: 83F90F0F
Replace*: 83F93F0F

Remember you will need USBInjectAll.kext installed to enable this to work.

:)

(Due credit given to previous patch discoverers: pmheart, daliansky and @ydeng )
Thank you very much indeed.!
 
@UtterDisbelief - Thank you for this thread! Your patch in Post #1 fixed USB 3.1 on my HP EliteDesk 800 G4 Mini

  • I7-8700T
  • UHD 630
  • 3 x DP
  • 6 x USB 3.1
  • 1 x USB C 3.1
  • Q370
  • 32 GB DDR4
  • 2 x NVMe SSD
  • 1 x SATA6 SSD
  • SMBIOS MacMini 8,1
  • CLOVER (UEFI) r5115
  • MacOS 10.15.4.02
 
@UtterDisbelief Thanks to your port limit patch in Post #1, I was able to install Catalina 10.15.4.02 on my HP EliteDesk 800 G4 Mini. I then created a SSDT-UIAC for my system (using Hackintool) and found that I no longer need the port limit patch. Is that what you would expect? In your opinion, is it better to run with properly configured SSDT-UIAC -OR- the port limit patch? Thank you!
 
@UtterDisbelief Thanks to your port limit patch in Post #1, I was able to install Catalina 10.15.4.02 on my HP EliteDesk 800 G4 Mini. I then created a SSDT-UIAC for my system (using Hackintool) and found that I no longer need the port limit patch. Is that what you would expect? In your opinion, is it better to run with properly configured SSDT-UIAC -OR- the port limit patch? Thank you!
port limit patch is to only be used to setup your usb ports, then you use either USBInjectAll.kext and SSDT or you use only USBPorts.kext

in both cases, you remove the port limit patch after you have used either of the options above
 
port limit patch is to only be used to setup your usb ports, then you use either USBInjectAll.kext and SSDT or you use only USBPorts.kext

in both cases, you remove the port limit patch after you have used either of the options above

Thanks for the quick reply! And my apologies for a question that you've probably answered a million times. Thanks again!
 
USB appears to be working perfectly on my HP EliteDesk 800 G4 Mini; however, when I run the USBMap tool, it indicates that MacMini8,1 is not found in IOUSBHostFamily.kext and that I do not have a valid USBX device (see attached screenshot). Should I add the SSDT-USBX.aml to my EFI as suggested by the USBMap tool? Thank you.

EDIT: I suspect that I do need to add device USBX. I looked at a dump from a real MacMini8,1 and see that the DSDT.aml includes Device (USBX)

Code:
        Device (USBX)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                Local0 = Package (0x08)
                    {
                        "kUSBSleepPowerSupply", 
                        0x0C80, 
                        "kUSBSleepPortCurrentLimit", 
                        0x0834, 
                        "kUSBWakePowerSupply", 
                        0x0C80, 
                        "kUSBWakePortCurrentLimit", 
                        0x0834
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
 

Attachments

  • Screen Shot 2020-06-08 at 8.30.33 AM.png
    Screen Shot 2020-06-08 at 8.30.33 AM.png
    38.5 KB · Views: 153
Last edited:
Was referred to your USB mapping guide by @pastrychef from his z390 M Gaming w/ NVRAM thread and ended up in this thread as a result of running Catalina (for the PLR patch).

I got to the part of your tutorial concerning the PLR, specifically using Clover Configurator, and I wanted to double-check something before I wade right in.

In this thread's post #1, the two names temporarily reconfigured are:

com.apple.iokit.IOUSBHostFamily
com.apple.driver.usb.AppleUSBXHCI


When I open my config.plist and select Kernel and Kext Patches in the left nav menu of Clover Configurator, the two names I see (with their find/replace values) are:

com.apple.iokit.IOAHCIBlockStorage
Find: 00415050 4C452053 534400
Replace: 00000000 00000000 000000

AppleAHCIPort
Find: 45787465 726E616C
Replace: 495E7465 726E616C


Is this something to be concerned about? Is your tutorial still viable considering this divergence in names and find/replace values?

Thank you so much!
 
Was referred to your USB mapping guide by @pastrychef from his z390 M Gaming w/ NVRAM thread and ended up in this thread as a result of running Catalina (for the PLR patch).

I got to the part of your tutorial concerning the PLR, specifically using Clover Configurator, and I wanted to double-check something before I wade right in.

In this thread's post #1, the two names temporarily reconfigured are:

com.apple.iokit.IOUSBHostFamily
com.apple.driver.usb.AppleUSBXHCI


When I open my config.plist and select Kernel and Kext Patches in the left nav menu of Clover Configurator, the two names I see (with their find/replace values) are:

com.apple.iokit.IOAHCIBlockStorage
Find: 00415050 4C452053 534400
Replace: 00000000 00000000 000000

AppleAHCIPort
Find: 45787465 726E616C
Replace: 495E7465 726E616C


Is this something to be concerned about? Is your tutorial still viable considering this divergence in names and find/replace values?

Thank you so much!


Hi there.

The two patches I show for the Catalina port-limit removal patch, are as shown in post #1 of this thread.

There are many other patches for other purposes and, for example, the first one you mention is one to enable TRIM on your SSD. The second one is an External Icons patch to make drives display correctly on the dekstop.

Neither of these is a part of the port-limit removal patches. Nothing to be concerned about.

Hope that helps.

:)
 
Hi there.

The two patches I show for the Catalina port-limit removal patch, are as shown in post #1 of this thread.

There are many other patches for other purposes and, for example, the first one you mention is one to enable TRIM on your SSD. The second one is an External Icons patch to make drives display correctly on the dekstop.

Neither of these is a part of the port-limit removal patches. Nothing to be concerned about.

Hope that helps.

:)

Ok, good to know. So then I just need to create those two patches? My assumption was that, since there were only two listed in your screen shot that there would only be two in mine and those two would correspond to the USB port limit removal patches.

Thanks!
 
Ok, good to know. So then I just need to create those two patches? My assumption was that, since there were only two listed in your screen shot that there would only be two in mine and those two would correspond to the USB port limit removal patches.

Thanks!

You can have as many patches as you need. Some people have a screenful. Useful too that you can actually enable or disable each one if you need to for testing etc.

So yes, mouse-click on the small "+" bottom-left of the KextsToPatch list and add the two new lines, leaving what you already have alone.

:)
 
Back
Top