Contribute
Register

macOS Catalina 10.15.0 - USB Port-Limit Removal Patch

Joined
Oct 12, 2014
Messages
6
Motherboard
Gigabyte GA-H270-HD3
CPU
Intel I7 7700
Graphics
HD 630 1536MB
Mac
iMac
Mobile Phone
Android, iOS
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.!
 
Joined
Sep 22, 2011
Messages
704
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
@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
 
Joined
Sep 22, 2011
Messages
704
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
@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!
 

Feartech

Moderator
Joined
Aug 3, 2013
Messages
18,590
Motherboard
Asus N752VX-OpenCore
CPU
i7-6700HQ / HM170
Graphics
HD 530 1920 x 1080
Mac
iMac
Mobile Phone
iOS
@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
 
Joined
Sep 22, 2011
Messages
704
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
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!
 
Joined
Sep 22, 2011
Messages
704
Motherboard
HP EliteDesk 800 G4 Mini
CPU
I7-8700T
Graphics
UHD 630
Mac
Mac mini
Mobile Phone
iOS
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

Last edited:
Joined
Aug 6, 2020
Messages
114
Motherboard
Gigabyte Z390 M Gaming
CPU
i5-9600K
Graphics
RX 580
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!
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
4,776
Motherboard
Gigabyte Z390M Gaming - Clover UEFI 5102
CPU
i5-9600K
Graphics
RX 570 8gb HDMI 1920x1080
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
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.

:)
 
Joined
Aug 6, 2020
Messages
114
Motherboard
Gigabyte Z390 M Gaming
CPU
i5-9600K
Graphics
RX 580
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!
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
4,776
Motherboard
Gigabyte Z390M Gaming - Clover UEFI 5102
CPU
i5-9600K
Graphics
RX 570 8gb HDMI 1920x1080
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
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.

:)
 
Top