Contribute
Register

<< Solved >> z370 High Sierra install USB 3.0 not working

Status
Not open for further replies.
Joined
Sep 15, 2017
Messages
122
Motherboard
Gigabyte Aorus Ultra Gaming WIFI - F2 - Clover
CPU
i7-8700K
Graphics
RX 570
Mac
  1. MacBook Pro
Hello,

After a few tries with MultiBeast 10.4. I have a reasonably stable High Sierra 10.13.0 running. I am now in the process of ticking off the items that don't work and trying to get them taken care of.

The first item is that the USB 3.0 ports don't work. When I place a flash drive in these ports, the drive does not appear in finder. I know that the ports work because they were all tested in live linux. The USB 2 ports seem to be fine.

I believe that I added the proper items in multibeast for usb. I have attached the output from gen_debug as requested. I had to rewrite the script a bit because I don't have an internet connection at the moment (not an OS issue). I wrote another script to manually install the necessary tools and then made some changes to gen_debug so that it wouldn't quit when it found it couldn't connect.

I found this post about fixing usb issues.

https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/

This sees quite involved and also seems to reference older versions of the OS. Is this really what needs to be done to get the usb working properly?

Please let me know if this is the fix I need to implement. I would appreciate knowing if there is something simpler that would get the job done. This box will be used for audio editing with LogicPro X where all of the input and output is through usb, so stable usb functionality is very important.

Please let me know if I have left anything out of the attachment or my profile.

Thanks,

LMHmedchem
 

Attachments

  • debug_18717.zip
    957.8 KB · Views: 127
Last edited:
Since no one has replied saying that I don't need to implement the guide linked to in my previous post, I am going to assume that it is necessary.

Looking through the guide, there are a few things that are unclear.

Code:
Requirements:
- EHC1->EH01 and EHC2->EH02 rename (in config.plist), if applicable (your chipset may not have EHCI, or it may be disabled)
I assume these are Clover Configurator > ACPI > List of Patches > EHC1->EH01 rename & EHC2->EH02 rename.
How does one know if "your chipset may not have EHCI, or it may be disabled"? How would I check that?

Code:
- XHCI controller must be named XHC or XHCI (for most PCs it is default XHC)
How do I determine what the XHCI controller is named? Where do I look that up?

Code:
- install USBInjectAll.kext (install to the system volume)
What does it mean to "install to the system volume"? What exactly is the correct install path? I added this kext with MultiBeast, is the kext already installed to the correct location?

Code:
- if you plan to use it, install FakePCIID.kext + FakePCIID_XHCIMux.kext. FakePCIID_XHCIMux only applicable if you have enabled EHCI controller(s).
How do I know if I a going to use this or not?

Code:
- XHCI injector kext, if required (XHCI-unsupported.kext)
How would I know if I require this or not?

Some additional information to clarify these items would be a big help. I am sure that others would appreciate this as well.

LMHmedchem
 
Since no one has replied saying that I don't need to implement the guide linked to in my previous post, I am going to assume that it is necessary.

Looking through the guide, there are a few things that are unclear.

Code:
Requirements:
- EHC1->EH01 and EHC2->EH02 rename (in config.plist), if applicable (your chipset may not have EHCI, or it may be disabled)
I assume these are Clover Configurator > ACPI > List of Patches > EHC1->EH01 rename & EHC2->EH02 rename.
How does one know if "your chipset may not have EHCI, or it may be disabled"? How would I check that?

Code:
- XHCI controller must be named XHC or XHCI (for most PCs it is default XHC)
How do I determine what the XHCI controller is named? Where do I look that up?

Code:
- install USBInjectAll.kext (install to the system volume)
What does it mean to "install to the system volume"? What exactly is the correct install path? I added this kext with MultiBeast, is the kext already installed to the correct location?

Code:
- if you plan to use it, install FakePCIID.kext + FakePCIID_XHCIMux.kext. FakePCIID_XHCIMux only applicable if you have enabled EHCI controller(s).
How do I know if I a going to use this or not?

Code:
- XHCI injector kext, if required (XHCI-unsupported.kext)
How would I know if I require this or not?

Some additional information to clarify these items would be a big help. I am sure that others would appreciate this as well.

LMHmedchem

1) for the EHC to EH0 renames, check your machine with the IORegistryExplorer.app to see what is configured. You may not need any renames. Most Z370 motherboards use XHC anyway these days. I'd be surprised if EHCI showed-up.

2) XHCI rename - same as 1) above. Check if necessary with IORegistryExplorer (for example, I did not need to rename anything in the USB configuration with my Z370 motherboard).

3) If you install USBInjectAll.kext using MultiBeast, yes, it will be in the correct location. Run MultiBeast and check the option. In the comments underneath it tells you where it is going to be put :thumbup:

4) The wording of the FakePCIID_XHCI* kexts is a clue. You only need to fake their presence if you have an EHCI controller. As your motherboard probably has XHCI anyway, no need for them. FakePCIID.kext, yes, needed if any other FakePCIID** kexts are required for other hardware (I use it for HDMI output of sound etc).

5) Final question - gut feeling is - you won't need this kext as you have a fully supported XHCI chipset motherboard.

:)
 
Thank you very much for the information. I will post back in a bit with some additional results.

LMHmedchem
 
Acording to the guide linked above, I added the recommended patches by opening config_patches.plist in a plist editor, copying the item Root > ACPI > DSDT > Patches and pasting the item as child to DSDT in my config.plist file.

This added the following patches,
Code:
0 change _OSI to XOSI
1 change EHC1 to EHO1
2 change EHC2 to EHO2
3 change XHC1 to XHC
I did not add anything from KernelAndKextPatches in config_patches.plist.

If I understand your post, I may not need any of these patches. A search in ioreg does not reveal anything named _OSI, EHC1, EHC2, or XHC1. Is this correct that I don't need these patches? If so, should I remove them by using the plist editor to delete the child object I pasted in? Do these patches do any harm in being there if I don't need them, other than issues of good practice?

I also added -uia_ignore_rmcf to config.plist/Boot/Arguments as the guide indicates and restarted.

Ioreg shows an XHC controller with ports HS01-HS14 and USR1. I don't see any SSxx ports.

The port discovery process revealed that my back panel uses,
Code:
USB3 yellow   USB3 yellow
HS03          HS04

              USB3.1 red
              ????

USB3 blue     USB3 blue
HS07          HS02

USB2 black    USB2 black
HS09          HS10

USB2 and 3 sticks are detected in the black USB2 jacks. These sticks appear in Finder and seem to function normally. Only USB2 sticks are detected in the USB3 jacks but they do appear in Finder and work. I couldn't get anything out of the red USB3.1 jack with either kind of memory stick.

In the guide, it looks like that for every blue USB3 jack, there as an HSxx port running a USB2 controller and a corresponding SSxx port running a USB3 controller. I am not seeing any USB3 controllers in ioreg. A USB3 stick will appear and function in a USB2 jack (black), but are not detected in any of the USB3 jacks (blue).

I have USBInjectAll.kext in /system/Library/Extensions/. Do I need one of the other .kext files? Do I need to boot with -uia_exclude_hs uia_include=HS03 uia_include=HS04 (HS03 and HS04 are my keyboard and mouse) to see the SSxx ports?

I seem to be making some progress but I'm not there yet.

LMHmedchem
 
Acording to the guide linked above, I added the recommended patches by opening config_patches.plist in a plist editor, copying the item Root > ACPI > DSDT > Patches and pasting the item as child to DSDT in my config.plist file.

This added the following patches,
Code:
0 change _OSI to XOSI
1 change EHC1 to EHO1
2 change EHC2 to EHO2
3 change XHC1 to XHC
I did not add anything from KernelAndKextPatches in config_patches.plist.

If I understand your post, I may not need any of these patches. A search in ioreg does not reveal anything named _OSI, EHC1, EHC2, or XHC1. Is this correct that I don't need these patches? If so, should I remove them by using the plist editor to delete the child object I pasted in? Do these patches do any harm in being there if I don't need them, other than issues of good practice?

I also added -uia_ignore_rmcf to config.plist/Boot/Arguments as the guide indicates and restarted.

Ioreg shows an XHC controller with ports HS01-HS14 and USR1. I don't see any SSxx ports.

The port discovery process revealed that my back panel uses,
Code:
USB3 yellow   USB3 yellow
HS03          HS04

              USB3.1 red
              ????

USB3 blue     USB3 blue
HS07          HS02

USB2 black    USB2 black
HS09          HS10

USB2 and 3 sticks are detected in the black USB2 jacks. These sticks appear in Finder and seem to function normally. Only USB2 sticks are detected in the USB3 jacks but they do appear in Finder and work. I couldn't get anything out of the red USB3.1 jack with either kind of memory stick.

In the guide, it looks like that for every blue USB3 jack, there as an HSxx port running a USB2 controller and a corresponding SSxx port running a USB3 controller. I am not seeing any USB3 controllers in ioreg. A USB3 stick will appear and function in a USB2 jack (black), but are not detected in any of the USB3 jacks (blue).

I have USBInjectAll.kext in /system/Library/Extensions/. Do I need one of the other .kext files? Do I need to boot with -uia_exclude_hs uia_include=HS03 uia_include=HS04 (HS03 and HS04 are my keyboard and mouse) to see the SSxx ports?

I seem to be making some progress but I'm not there yet.

LMHmedchem

Yes, progress indeed :thumbup:

My understanding of your rename process is - if XHC is the one showing in IOReg without any of the renames then you don't need them. Clearly, if it only shows when you have the XHC1 to XHC in place then that's the one needed. My guess is you won't need any, so try it without and check.

You are right - each physical USB 3.0 port has two configurations. One HS## which is the USB 2.0, and one SS## which is the USB 3.0. With only HS## ports activated USB 3.0 devices will generally run at USB 2.0 speeds.

The USB 3.1 ports are usually on a different part of the IOReg tree - RP01 for example. See if you can spot that. They don't feature in the standard SSDT template creation.

As you've seen with the latest Z370 chipset the SS ports often don't get picked-up. If you create an SSDT as per the guide they will, but you will have to "guess" the SS## port numbers during configuration. That's easy enough as they are the same as the HS## ones for each port. Keeping to the 15-port limit set by Apple the total comes from both HS and SS ports combined.

Build your list of ports only for the ones you will use. So, for example motherboard ports that are not connected can be ignored. For a back-panel USB 3.0 port that's going to accept any and all devices, it's going to need the two configs.

The "-uia_exclude_hs uia_include=HS03 uia_include=HS04" command line you mention comes into play if you use a port limit removal patch to open up all ports with USBInjectAll.kext, beyond 15 etc. There are include and exclude options. If you create a template for only 15 ports you shouldn't need this at all.

Finally three tips:

1) Put third-party kexts in Library/Extensions rather than System/Library/Extensions. This is where MultiBeast would install it. (To be awkward I have mine in EFI/CLOVER/kexts/Other instead for tidiness but some people frown on this).

2) For the USB 3.0 ports you have your keyboard or mouse or Bluetooth connected to, only configure an HS## port. Okay, it will now only operate at USB 2.0 speeds but unless you are plugging and unplugging your keyboard in (unlikely) you can save a port config by doing this.

3) To test a config.plist with modifications rename it something like config-1.plist or config-2.plist etc. and put that in your EFI/CLOVER folder. When you boot Clover to test it, instead of just selecting the big drive icon move the cursor along to the smaller "Options" one. Press Enter then scroll the cursor down one line to Config. In here you'll then see both the original config.plist and config-1.plist etc. you can then go back to a safe config if something goes wrong with your experimentation. Once everything is working you can then rename the config-1.plist to plain old config.plist etc. :thumbup:

:)
 
Thanks again for the help.

I created config_1.plist and deleted the child object with the patches. I rebooted pointing to config_1.plist in the clover options and nothing in ioreg has changed as far as I can see. I think that would mean that I don't need any of the 4 patches.

This is my SSDT-UIAC-ALL.dsl file based on these suggestions. I only have an entry for the 8086_a2af device since that is the value of the device-id for the XHC controller taken from ioreg.
Code:
DefinitionBlock ("", "SSDT", 2, "hack", "_UIAC", 0)
{
    Device(UIAC)
    {
        Name(_HID, "UIA00000")

        Name(RMCF, Package()
        {
            "8086_a2af", Package()
            {
                "port-count", Buffer() { 26, 0, 0, 0 },
                "ports", Package()
                {
                    "HS02", Package() // rear middle right: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "HS03", Package() // rear top left: USB3.1 Gen-1 USB-DAC, yellow jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "HS04", Package() // rear top right: USB3.1 Gen-1 USB-DAC, yelllow jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "HS05", Package() // front card reader right: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                    "HS06", Package() // front card reader left: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 6, 0, 0, 0 },
                    },
                    "HS07", Package() // rear middle left: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 7, 0, 0, 0 },
                    },
                    "HS10", Package() // rear bottom right black, USB2 configuration, mouse
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 10, 0, 0, 0 },
                    },
                    "HS13", Package()  // case front left: USB2 black jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 13, 0, 0, 0 },
                    },
                    "HS14", Package() // front card reader, USB2 white jack 1,2,3,4, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 14, 0, 0, 0 },
                    },
                    "SS02", Package() // rear middle right: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 18, 0, 0, 0 },
                    },
                    "SS03", Package() // rear top left: USB3.1 Gen-1 USB-DAC, yellow jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 19, 0, 0, 0 },
                    },
                    "SS04", Package() // rear top right: USB3.1 Gen-1 USB-DAC, yellow jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 20, 0, 0, 0 },
                    },
                    "SS05", Package() // front card reader right: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 21, 0, 0, 0 },
                    },
                    "SS06", Package() // front card reader left: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 22, 0, 0, 0 },
                    },
                    "SS07", Package() // rear middle left: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 23, 0, 0, 0 },
                    },
                },
            },

        })
    }
}

Do I need to change "port-count", Buffer() { 26, 0, 0, 0 }, to reflect the number of actual entries or the largest value of 23 for SS07?

For each blue or yellow USB3.1 jack, I have an HSxx entry of "UsbConnector", 0, for the USB2 configuration and a corresponding SSxx entry of "UsbConnector", 3, for the USB3 configuration. The black or white USB2 jacks have only a HSxx entry of "UsbConnector", 0,. Is this correct?

I have deleted all ports without a corresponding jack, including the USR1 port. Is that correct?

As you suggested the red USB3.1 Gen-2 jack appears at RP19. A USB3 stick is detected in that jack and appears in Finder. A USB2 stick is not detected at all in that port. The port is listed as GenericUSBXHCI, so I am guessing the USB3 stick runs at USB2 speed but I don't know. I also have a PCIE card with an internal 22-pin USB3 connector that is showing up at RP08.

At the moment, I count 15 ports in my SSDT, but that does not include an entry for the RP08 or RP19 ports. I thought that by adding "remove port limit" and USBInjectAll in MultiBeast I would not have to contend with a limit of 15 total USB ports. Will I need to eliminate some of the ports I have set up to make space for the USB3.1 Gen-2 jack or my PCIE card or do the RPxx ports work differently?

At the moment, the boot arguments are,

Code:
dart=0 -disablegfxfirmmware -uia_ignore_rmct

Do these make sense? I'm not sure what the arguments are doing and that's not the best way to fly.

I edited this post a bit from earlier today.

Thanks,

LMHmedchem
 
Last edited:
Thanks again for the help.

I created config_1.plist and deleted the child object with the patches. I rebooted pointing to config_1.plist in the clover options and nothing in ioreg has changed as far as I can see. I think that would mean that I don't need any of the 4 patches.

This is my SSDT-UIAC-ALL.dsl file based on these suggestions. I only have an entry for the 8086_a2af device since that is the value of the device-id for the XHC controller taken from ioreg.
Code:
DefinitionBlock ("", "SSDT", 2, "hack", "_UIAC", 0)
{
    Device(UIAC)
    {
        Name(_HID, "UIA00000")

        Name(RMCF, Package()
        {
            "8086_a2af", Package()
            {
                "port-count", Buffer() { 26, 0, 0, 0 },
                "ports", Package()
                {
                    "HS02", Package() // rear middle right: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "HS03", Package() // rear top left: USB3.1 Gen-1 USB-DAC, yellow jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "HS04", Package() // rear top right: USB3.1 Gen-1 USB-DAC, yelllow jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "HS05", Package() // front card reader right: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 5, 0, 0, 0 },
                    },
                    "HS06", Package() // front card reader left: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 6, 0, 0, 0 },
                    },
                    "HS07", Package() // rear middle left: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 7, 0, 0, 0 },
                    },
                    "HS10", Package() // rear bottom right black, USB2 configuration, mouse
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 10, 0, 0, 0 },
                    },
                    "HS13", Package()  // case front left: USB2 black jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 13, 0, 0, 0 },
                    },
                    "HS14", Package() // front card reader, USB2 white jack 1,2,3,4, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 14, 0, 0, 0 },
                    },
                    "SS02", Package() // rear middle right: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 18, 0, 0, 0 },
                    },
                    "SS03", Package() // rear top left: USB3.1 Gen-1 USB-DAC, yellow jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 19, 0, 0, 0 },
                    },
                    "SS04", Package() // rear top right: USB3.1 Gen-1 USB-DAC, yellow jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 20, 0, 0, 0 },
                    },
                    "SS05", Package() // front card reader right: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 21, 0, 0, 0 },
                    },
                    "SS06", Package() // front card reader left: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 22, 0, 0, 0 },
                    },
                    "SS07", Package() // rear middle left: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 23, 0, 0, 0 },
                    },
                },
            },

        })
    }
}

Do I need to change "port-count", Buffer() { 26, 0, 0, 0 }, to reflect the number of actual entries or the largest value of 23 for SS07?

For each blue or yellow USB3.1 jack, I have an HSxx entry of "UsbConnector", 0, for the USB2 configuration and a corresponding SSxx entry of "UsbConnector", 3, for the USB3 configuration. The black or white USB2 jacks have only a HSxx entry of "UsbConnector", 0,. Is this correct?

I have deleted all ports without a corresponding jack, including the USR1 port. Is that correct?

As you suggested the red USB3.1 Gen-2 jack appears at RP19. A USB3 stick is detected in that jack and appears in Finder. A USB2 stick is not detected at all in that port. The port is listed as GenericUSBXHCI, so I am guessing the USB3 stick runs at USB2 speed but I don't know. I also have a PCIE card with an internal 22-pin USB3 connector that is showing up at RP08.

At the moment, I count 15 ports in my SSDT, but that does not include an entry for the RP08 or RP19 ports. I thought that by adding "remove port limit" and USBInjectAll in MultiBeast I would not have to contend with a limit of 15 total USB ports. Will I need to eliminate some of the ports I have set up to make space for the USB3.1 Gen-2 jack or my PCIE card or do the RPxx ports work differently?

At the moment, the boot arguments are,

Code:
dart=0 -disablegfxfirmmware -uia_ignore_rmct

Do these make sense? I'm not sure what the arguments are doing and that's not the best way to fly.

I edited this post a bit from earlier today.

Thanks,

LMHmedchem


Excellent work. :thumbup: Yes, makes perfect sense.

Okay, looking at your SSDT template -

Highest port number should be, as you suggest = { 0x23, 0, 0, 0 } for SS07

You probably need change some of the UsbConnector values. This relates to the physical port. So for example even though you are configuring an HS## USB 2.0 port, if it's a physical USB 3.0 port then it needs to be a: "UsbConnector", 3, etc. This is because a USB 3.0 port actually has more contacts in it than a USB 2.0 one.

The commonest and correct values are as follows:

"0" if it is a standard (black?) physical Type A USB 2.0 port
"3" if it is a standard (blue?) physical Type A USB 3.0 port
"10" if it is a standard Type-C physical USB 3.0 port
"255" if it is a standard USB 2.0 motherboard header used for a Bluetooth connection.

There are others listed.

Yes, the USB 3.1 Gen 2 ports are usually controlled by a different chip to the main Intel chipset which goes as far as USB 3.1 Gen 1. The common one used is an ASMedia. These often show up as RP##. The ports will work outside of the 15-port limit, but getting the power output correct and to spec, is a whole different job in itself. I find my own charges brilliantly but causes memory-sticks to get too hot for example.

Good point about the 15-port limit, the port-limit removal patch and USBInjectAll. Basically USBInjectAll ensures that all ports on the motherboard are available. They don't always show up in IORegExplorer for a Z370 however and so creating an SSDT will solve that. Some builders actually configure all their ports as per the spec but then use those "-uia_" command-lines to ignore the surplus during boot.

My view - The port-limit removal patch is used as a temporary stop gap to get all the USB ports working when you start your build so that they can then be selected and configured properly. Once done the patch can be removed again to aid reliability. After all macOS doesn't expect more than 15 built-in ports. However the add-on PCI USB Card you have, is probably something Apple catered for in their earlier Pro models so should be recognised okay.

:)
 
Last edited:
I was over 15 ports so I removed the HSxx USB2 configuration from two of the USB3.1 ports. These will only function with a USB3 device now. Does this make sense?

I have made the suggested changes and this is the current version,

Code:
DefinitionBlock ("", "SSDT", 2, "hack", "_UIAC", 0)
{
    Device(UIAC)
    {
        Name(_HID, "UIA00000")

        Name(RMCF, Package()
        {
            "8086_a2af", Package()
            {
                "port-count", Buffer() { 23, 0, 0, 0 }, // buffer size 23 as highest used value (SS07)
                "ports", Package()
                {
                    "HS02", Package() // rear middle right: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 3,  // value of 3 is based on the jack, not the configuration
                        "port", Buffer() { 2, 0, 0, 0 },
                    },
                    "HS03", Package() // rear top left: USB3.1 Gen-1 USB-DAC, yelllow jack, USB2 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 3, 0, 0, 0 },
                    },
                    "HS04", Package() // rear top right: USB3.1 Gen-1 USB-DAC, yelllow jack, USB2 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 4, 0, 0, 0 },
                    },
                    "HS07", Package() // rear middle left: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 7, 0, 0, 0 },
                    },
                    "HS09", Package() // rear bottom left black, USB2 configuration, keyboard
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 9, 0, 0, 0 },
                    },
                    "HS10", Package() // rear bottom right black, USB2 configuration, mouse
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 10, 0, 0, 0 },
                    },
                    "HS13", Package()  // case front left: USB2 black jack, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 13, 0, 0, 0 },
                    },
                    "HS14", Package() // front card reader, USB2 white jack 1,2,3,4, USB2 configuration
                    {
                        "UsbConnector", 0,
                        "port", Buffer() { 14, 0, 0, 0 },
                    },
                    "SS02", Package() // rear middle right: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 18, 0, 0, 0 },
                    },
                    "SS03", Package() // rear top left: USB3.1 Gen-1 USB-DAC, yelllow, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 19, 0, 0, 0 },
                    },
                    "SS04", Package() / rear top right: USB3.1 Gen-1 USB-DAC, yelllow jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 20, 0, 0, 0 },
                    },
                    "SS05", Package() // front card reader right: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 21, 0, 0, 0 },
                    },
                    "SS06", Package() // front card reader left: USB3.1 Gen-1 blue jack, USB3 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 22, 0, 0, 0 },
                    },
                    "SS07", Package() // rear middle left: USB3.1 Gen-1 blue jack, USB2 configuration
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 23, 0, 0, 0 },
                    },
                },
            },

        })
    }
}
//EOF

I have compiled the new SSDT file in MaciASL. I have added the SSDT-UIAC.aml file to /EFI/Clover/ACPI/patched/.

I seem to think I need to do the following now,

-remove the -uia_ignore_rmct boot argument
-remove the "remove port limit" patch

I am not sure if this is correct and if it is, I'm a not sure how to remove "remove port limit" which was installed with MultiBeast.

It does make sense to me that the kext files should be installed to EFI/Clover and not to the system or user directories. Why is this considered bad practice?

LMHmedchem
 
Last edited:
Status
Not open for further replies.
Back
Top