Contribute
Register

Z690 Chipset Motherboards and Alder Lake CPU

I'm happy to help on one of the USB support threads in Post Installation / General Help threads with more info if needed.

Basically SSDT-UIAC.aml stands for USBInjectAll Configuration and was designed soley for that purpose. If it works for USBMap then purhaps they used some of the code when creating it? o_O
I'll meet you over there.

To finish up here my thoughts here:

At this point I'm not struggling with USB and USBmap works well for my purposes. It's a command-line oriented tool which I prefer over Hackintool, just a matter of taste.

It's clear that CorpNewt drew on USBInjectAll lore to make USBmap, and also clear that SSDT-UIAC.aml is a component of USBInjectAll approach. All these approaches have in common the idea of an "all" or "dummy" injector that shows as many ports as possible, then an edited form that brings total port-counts in line with macOS limits.

It looks like USBToolBox is a further evolution because it can do this in an SMBIOS-independent way.

My final point here is that must be understood by general users that USBInjectAll, which contains a version of SSDT-UIAC exists in both "ALL" and "custom" forms, where all might be enough on its own, and if not, provides a base for you to create a custom. How you get to this is hack build specific.

This guide from @RehabMan provides key points:


USBInjectAll.kext is coded in a data driven way. Nothing is hard-coded in the kext code itself. All data is contained in the Info.plist. When USBInjectAll.kext starts, matching on EH01/EH02/XHC, or the internal hubs connected to EH01/EH02 port 1, it consults the configuration data in Info.plist as related to the device it has attached to and injects the data it finds there. But an SSDT can be used to override the data in the Info.plist.

A template is provided in the USBInjectAll.kext github repo, SSDT-UIAC-ALL.dsl, which has overrides for all the data already in the USBInjectAll.kext Info.plist. You could compile SSDT-UIAC-ALL.dsl to SSDT-UIAC-ALL.aml (File Save As, format: ACPI Machine Language Binary in MaciASL) and place it in ACPI/patched, and although all the data in the Info.plist will be overridden by the SSDT, no net change would be observed, as the data in SSDT-UIAC-ALL.dsl is the same as the data already in the USBInjectAll.kext Info.plist.

In order to effect our changes, we must modify the SSDT-UIAC-ALL.dsl so it contains only the ports we need.

The steps are as follows:
- use SSDT-UIAC-ALL.dsl as a template (https://github.com/RehabMan/OS-X-USB-Inject-All/raw/master/SSDT-UIAC-ALL.dsl)
- remove configuration sections that don't apply to the target hardware
- remove ports from the various sections that are not needed
- change UsbConnector values to match physical hardware/ports

I've been working on a writeup for USBmap, to help others because the QuickStart on Github is not quite enough, but this got out of control as there is a huuuge amount of lore connected to this stuff.

Details like the meaning of UIAC are great tidbits.

Thanks for help.
 
Last edited:
Wasn't trying to imply anything, just dummy checking. Perhaps I replied to the wrong comment as well.

EDIT: Ah, I see. A comment you were replying to previously only had SSDT-PLUG in a list from @Middleman. Was likely just syntax. Again, just making sure. What CPU and Board are you using again?

I see, I have actually linked my github (which now contains an unknown revision - I have made so many changes, without success) https://github.com/whenmusicattacks/b660gigabyte . The board is Gigabyte B660 DS3H AX - being the cheapest board with Gigabyte Titan Ridge support on the market.

Hi there.

Sorry to add this but ...

I do not think you will get full USB3 speeds from Mojave on the Z690. Lucky to get the ports reacting at all.

I've done a lot of testing and research, going back a while now, and so far neither High Sierra or Mojave allow easy configuration of USB3 ports. This has been an issue since the 500-series was introduced. 400-series is fine. There has been some under-the-hood change that has caused this.

:)

Oh, that's sad. I understand there is not much coverage on the subject as people will just pair latest HW with the latest SW, but Mojave just has so many legacy tools available because of 32bit compatibility, it's a nice OS to have booting alongside whatever the latest release is.
 
Oh, that's sad. I understand there is not much coverage on the subject as people will just pair latest HW with the latest SW, but Mojave just has so many legacy tools available because of 32bit compatibility, it's a nice OS to have booting alongside whatever the latest release is.

It's simply down to what's been coded into Mojave, as opposed to later macOS versions, that can be patched.

As an alternative you could install a PCIe expansion card with a natively-supported USB3 chipset. macOS will then treat it as it would an external device in a Mac Pro.

:)
 
It's simply down to what's been coded into Mojave, as opposed to later macOS versions, that can be patched.

As an alternative you could install a PCIe expansion card with a natively-supported USB3 chipset. macOS will then treat it as it would an external device in a Mac Pro.

:)
Actually, I've done that, and it's not working with a OWC USB 3 card from a Mac Pro. :(
 
Actually, I've done that, and it's not working with a OWC USB 3 card from a Mac Pro. :(

It will depend on which chipset the add-on card uses. But if you are saying a known Mojave compatible PCIe USB3 card from a Mac Pro does not work in your 600-series build, then you would have to check the PCI addresses being used.
 
I'm using bcm94360ng in my Asus ProArt Creator board. I haven't noticed any problems coming out of sleep. I'm not using any kexts.
Hello,
I'm planning to exchange the M.2 on my card as well. Could you provide some guidance on how to do it?
Thanks...
 
Hello,
I'm planning to exchange the M.2 on my card as well. Could you provide some guidance on how to do it?
Thanks...
I did this several months ago, and I did not document it. I have a feeling that every MB is going to be different. It was not easy for the ProArt Creator, as it has the cover that has to be removed just to get access to the module itself. The toughest part for me was re-attaching the antennas on the new chip. I am very much near sited so I had no problems seeing it, but I have big fingers so having a plastic tool with a straight edge was very useful. I searched high and low for a guide or video on how to do it, but at the time I couldn't find anything and just muddled through it on my own.
BTW, I don't think the Z390 Designare module can be changed, unless you're talking about a different board.
 
Last edited:
I see, I have actually linked my github (which now contains an unknown revision - I have made so many changes, without success) https://github.com/whenmusicattacks/b660gigabyte . The board is Gigabyte B660 DS3H AX - being the cheapest board with Gigabyte Titan Ridge support on the market.



Oh, that's sad. I understand there is not much coverage on the subject as people will just pair latest HW with the latest SW, but Mojave just has so many legacy tools available because of 32bit compatibility, it's a nice OS to have booting alongside whatever the latest release is.

Booting Mojave on a Z690

I completely agree with you about Mojave with its 32-bit compatibility (and it seems to be the last macOS to allow booting macOS from an external USB drive).

I worked on my ASUS Z690 Maximus Extreme and have Mojave working. The required CPU emulation is below (due to differing emulation sections, there must be discrete EFIs, one for Mojave and another for Big Sur/Monterey):

CPU-Emulation for Mojave.jpg


Neither Ethernet port works (because neither Aquantia AQC113 nor Intel I225V existed during Mojave's lifetime; AQN107 did, but it's not on the Z690 mobos, sigh), but the Fenvi T919 Wifi/BT AIC in slot 2 works for a WiFi-based Ethernet connection. Since there are only 3 PCIe slots on the mobo, there isn't room for both the Fenvi T919 AIC and another Ethernet card. (No room unless one makes herculean efforts to add a PCIe splitter for slot 2 to have 2 AIC hanging outside the rear of the chassis; I've bought the parts, but not used. A usable PCIe Ethernet card is this one; which requires the Mieze's kext, LucyRTL8125Ethernet, downloadable with the Kext Updater app or here.)

Contrary to comments about the USB ports, I have good functionality of USB-C and USB-3 on the front and rear panels of the build. I see no difference with USB ports when booting between Mojave and Big Sur/Monterey.

I'll attach the EFI (OC v081) for Mojave below. There are some settings that will need adjusting, such as SN input and USB port kext for any other mobo, shown in Spoiler below.
CPU-SN-ASUS-Z690-MaxExtr.jpg


USB kext unique to this mobo; create for other mobos. If not using Fevi AIC, disable associated kexts.
Kexts-USB-ASUS-Z690-MaxExtr.jpg

One significant issue is with the GPUs. Mojave requires pre-Navi GPUs and most of us are using Navi GPUs with Big Sur and Monterey. So I chose to use dual GPUs, with an ASUS Strix 6900 Big Sur/Monterey (or Windows 11) in slot 1 and a Nano Vega 56 in slot 3 for Mojave. To make this work, there are customized SSDT files and DevPro injections as shown in Spoiler below.

An important point. Due to the nature of the Z690 mobo, if you place an NVMe drive in the slot closest to the CPU, the 3rd PCIe slot is inactivated (booooo....). So I used the two NVMe slots farthest from the CPU, leaving the 1st NVMe slot empty. (The ASUS Z690 Max Extr does have an additional slot next to the DDR5 slots for a special AIC that can hold 2 additional NVMe drives; I have these both populated too.)

So if you want to use 2 different GPUs as discussed in this post, you will probably need to leave the 1st NVMe slot empty, but check your mobo manual to see if your mobo is different.
ACPI section. Note that there is a parallel SSDT (named SSDT-PEG1-BRG0-HDAU.aml) to use when booting into Big Sur or Monterey, which inactivates the Vega 56. This other SSDT also requires (not shown) a flipped version of the DevProp section where the "disable-gpu" is disabled for the 6900 and enabled for the Vega 56.
ACPI-disable-enable-GPU.jpg


Dev Prop section. Obviously, if you're using different GPUs, you'll need to adjust the details within the DevProp section for each GPU. If you don't adjust and have different GPUs, you'll likely have a boot failure.
DevProp-disable-GPU.jpg


Disable 1st GPU (6900):
Disable-1st-GPU-ASUS-Z690.jpg


Re-name (and enable) 2nd GPU (Vega 56):
Rename-2nd-GPU-ASUS-Z690.jpg

Additionally, there are some Memory settings that could be customized as shown in Spoiler below. If you don't want to bother with this section, simply disable CustomMemory and ignore the details below.
Memory-ASUS-Z690-MaxExtr.jpg

One thing to note about this dual boot setup: booting is usually begun using the monitor connected via DP to the 6900 GPU. When the BIOS screen appears, press F8 to allow EFI selection from BIOS: selecting the EFI associated with the Mojave drive. Once selected, the boot process continues into OC, and from the OC menu, the Mojave drive is next chosen.

Once the Apple logo progress bar reaches about half-way, it appears frozen. The boot is not frozen, just the DP input. At that point (or a bit earlier), switch the same monitor from the DP to the HDMI input (which is connected to the Vega 56), and the progress bar continues. From this point, the HDMI input is controlled by the Mojave OS.

BTW, all attached images are inside the Docs folder of the posted EFI.

Finally, do exam all ACPI, DevProp injections and kext settings beyond what I've described above, to see if the settings are agreeable with your mobo. And please only test this EFI by placing it on a removable drive, not your main EFI.
 

Attachments

  • EFI-Mojave-ASUS-Z690-MaxExtrm-noSN.zip
    11.4 MB · Views: 90
Last edited:
@easy31 use this EFI, made for you. In PlatformInfo put your network MAC and serial number, system UUID..... for iMacPro1,1. Inside is the latest OpenCore 8.1.
Good evening, first of all again a thousand thanks for helping me to be able to build my hackintosh.
So I installed your EFI (StefanAM) with the SMBIOS Imacpro1.1 filled in but I still don't boot even with clean NVRAM. I followed this tutorial to create a new EFI (YOUTUBE=Como criar EFI OPENCORE para Hackintosh com INTEL 12th - ALDER LAKE) with that I arrive at the Mac utility for the installation Monterey.
Can you see why with the EFI in the tutorial (EFI YOUTUBE) i boot, and with yours EFI (StefanAM) I don't boot?
Because I would have preferred your EFI... Again, thank you very much.
PS: Just I erase smbios for share...
 

Attachments

  • EFI Brazil OK BOOT.zip
    5 MB · Views: 137
  • EFI StefanAM.zip
    4.3 MB · Views: 133
Booting Mojave on a Z690

I completely agree with you about Mojave with its 32-bit compatibility (and it seems to be the last macOS to allow booting macOS from an external USB drive).

I worked on my ASUS Z690 Maximus Extreme and have Mojave working. The required CPU emulation is below (due to differing emulation sections, there must be discrete EFIs, one for Mojave and another for Big Sur/Monterey):

View attachment 546629

Neither ethernet port works (because neither Aquantia AQC113 nor Intel I225V existed during Mojave's lifetime; AQN107 did, but not on the Z690 mobos, sigh), but the Fenvi T919 Wifi/BT AIC in slot 2 works for a Wifi based ethernet connection. Since there are only 3 PCIe slots on the mobo, there isn't room for both the Fenvi T919 AIC and another ethernet card. (No room unless one makes herculean efforts to add a PCIe splitter for slot 2 to have 2 AIC hanging outside the rear of the chassis; I've bought the parts, but not used.)

Contrary to comments about the USB ports, I have good functionality of USB-C and USB-3 on the front and rear panels of the build. I see no difference with USB ports when booting between Mojave and Big Sur/Monterey.

I'll attach the EFI (OC v081) for Mojave below. There are some settings that will need adjusting, such as SN input and USB port kext for any other mobo, shown in Spoiler below.
View attachment 546614

USB kext unique to this mobo; create for other mobos. If not using Fevi AIC, disable associated kexts.
View attachment 546613

One significant issue is with the GPUs. Mojave requires pre-Navi GPUs and most of us are using Navi GPUs with Big Sur and Monterey. So I chose to use dual GPUs, with an ASUS Strix 6900 Big Sur/Monterey (or Windows 11) in slot 1 and a Nano Vega 56 in slot 3 for Mojave. To make this work, there are customized SSDT files and DevPro injections as shown in Spoiler below.

An important point. Due to the nature of the Z690 mobo, if you place an NVMe drive in the slot closest to the CPU, the 3rd PCIe slot is inactivated (booooo....). So I used the two NVMe slots farthest from the CPU, leaving the 1st NVMe slot empty. (The ASUS Z690 Max Extr does have an additional slot next to the DDR5 slots for a special AIC that can hold 2 additional NVMe drives; I have these both populated too.)

So if you want to use 2 different GPUs as discussed in this post, you will probably need to leave the 1st NVMe slot empty, but check your mobo manual to see if your mobo is different.
ACPI section. Note that there is a parallel SSDT (named SSDT-PEG1-BRG0-HDAU.aml) to use when booting into Big Sur or Monterey, which inactivates the Vega 56. This other SSDT also requires (not shown) a flipped version of the DevProp section where the "disable-gpu" is disabled for the 6900 and enabled for the Vega 56.
View attachment 546615

Dev Prop section. Obviously, if you're using different GPUs, you'll need to adjust the details within the DevProp section for each GPU. If you don't adjust and have different GPUs, you'll likely have a boot failure.
View attachment 546616

Disable 1st GPU (6900):
View attachment 546620

Re-name (and enable) 2nd GPU (Vega 56):
View attachment 546621

Additionally, there are some Memory settings that could be customized as shown in Spoiler below. If you don't want to bother with this section, simply disable CustomMemory and ignore the details below.

One thing to note about this dual boot setup: booting is usually began using the monitor connected via DP to the 6900 GPU. I then select from the BIOS screen, F8 to allow EFI selection from BIOS, where the OpenCore EFI associated with the Mojave drive is chosen. The boot process continues into OC, and from the OC menu, the Mojave drive is selected.

Once the Apple logo progress bar reaches about half-way, it appears frozen. The boot is not frozen, just the DP input. At that point (or a bit earlier), I switch the same monitor to the HDMI input which is connected to the Vega 56, and the progress bar continues. From this HDMI input, Mojave is then visible and usable.

BTW, all attached images (except the Emulation jpg) are inside the Docs folder of the posted EFI.

Finally, do exam all ACPI, DevProp injections and kext settings beyond what I've described above to see if they are agreeable with your mobo. And do place this EFI on a removable drive, not your main EFI, to test.


Thanks

We spent the whole day tryn to get USB 3 working, no luck

I actually have no need for different EFIs as the cpu emulation works just fine in Monterey.
I have rx460 2gb, so really no issue with that either.
I just can't get USB 3 to work - the same EFI has no issue with usb 3.1 and 3.2 speeds on monterey.
We tried so many combinations of kexts and ssdts now..
I was not able to get Thunderbolt to work with Asus Z690M Prime sadly, i would have used that board if i did.
 
Last edited:
Back
Top