Contribute
Register

MSI Z690I Unify usb ports mapping

Status
Not open for further replies.
Joined
Jun 11, 2017
Messages
31
Motherboard
MSI Z690I Unify
CPU
19-12900K
Graphics
RX 5700 XT
Mac
  1. Mac Pro
Hi folks,

I built a nice hack:
  • 12900k
  • MSI Z690I Unify
  • 5700XT
  • 32GB RAM
  • Monterey 12.04
  • Opencore 0.8.2
  • MacPro7,1
Most of things works flawlessly (even Intel WiFi/Bluetooth). Except waking from sleep and usb ports themselves.

I've made ports mapping on Windows using USBToolBox, but I guess I did smthg wrong. My system doesn't use SS ports, even if I'm plugging in USB 3 device to USB 3 port.

I tried few more ways to map ports, find somewhere the latest version of usbinjectall and tried to map with hackintool. But I made it even worse than it was before.

The next issue is about waking from sleep, it works good only with usbwakefixup in other case I need to press mouse and keyboard buttons more than once. But since I use bluetoolfixup they can't work with each other and every time my mac wakes from sleep I need to restart bluetooth module. So I decided to disable usbwakefixup kext and check if proper USB mapping will help.

Here are the screenshots from my system report in case it could tell you something.

Screenshot 2022-07-27 at 10.25.04 PM.png


Screenshot 2022-07-27 at 10.25.12 PM.png

Could someone help me here to find. the proper way to map my ports?

I attached my EFI folder (removed my serial and etc)

Thanks in advance.
 

Attachments

  • EFI MSI Z690I Unify.zip
    26 MB · Views: 91
Have a read and follow UtterDisbelief's USB guide. You stand a better chance of getting the USBPorts.kext correct if you stick with one guide.


You are going to have to adapt the guide for your own purposes, as the USB port limit quirk in OC stopped working with the release of Big Sur 11.3+

Make sure you have Hackintool App and IORegistryExplorer installed on your Monterey system.


Latest release of Hackintool can be downloaded from the bottom of the first post.


Don't use a newer version of IORegistryExplorer than the one linked in the guide above, as the newer versions usually corrupt the IOReg and make it unreadable on another system.
 
Have a read and follow UtterDisbelief's USB guide. You stand a better chance of getting the USBPorts.kext correct if you stick with one guide.

Question?/critique:

The OP mentioned wanting USB map for Monterey.

@UtterDisbelief's how-to leads off with instruction to gather some support tools including USBInjectAll.

According to my reading, it's well-known to the forums that USBInjectAll can't work with Monterey...

Or is it not well-known and have I misread this point?

My recollection of a detailed read of the New-beginners guide is that there are other conundrums, but I'm not in a position to do a detailed review.

If I am completely off-base, my apologies in advance... It's easier at the moment for me to make a fuss and be called a fool for it later :)
 
You are going to have to adapt the guide for your own purposes
Lost in the ether?

Definitely not a Fool, we (the site moderators) probably need to revise/update the guide, or provide a new guide for those running Big Sur 11.3 or newer.

With a section spelling out what to expect with the newer Intel 500 & 600 Series motherboards, which are not natively supported in macOS. Some of the newer setups can't easily install macOS Catalina, where it is less problematic to undertake the custom USB configuration.
 
Lost in the ether?

Definitely not a Fool, we (the site moderators) probably need to revise/update the guide, or provide a new guide for those running Big Sur 11.3 or newer.

With a section spelling out what to expect with the newer Intel 500 & 600 Series motherboards, which are not natively supported in macOS. Some of the newer setups can't easily install macOS Catalina, where it is less problematic to undertake the custom USB configuration.

I'm working on it ... So far I have a new USB configuration method to get around port-limits and through to installation, which has been confirmed with @CaseySJ just this last week, works with 600-series up to Monterey. (I think you already know about this :thumbup:). We also discovered Ventura holds unexpected revelations. To be continued ...

This, however does not help the OP and their particular problem. UTBMap.kext is an off-site method and I would hope its author could offer guidance to struggling users. It uses a different DSDT patching technique. If Hackintool and USBPorts.kext is used instead then we side-step the possible issue of an executable within a kext (USBToolBox.kext) going forward.
 
Last edited:
Question?/critique:

The OP mentioned wanting USB map for Monterey.

@UtterDisbelief's how-to leads off with instruction to gather some support tools including USBInjectAll.

According to my reading, it's well-known to the forums that USBInjectAll can't work with Monterey...

Or is it not well-known and have I misread this point?

My recollection of a detailed read of the New-beginners guide is that there are other conundrums, but I'm not in a position to do a detailed review.

If I am completely off-base, my apologies in advance... It's easier at the moment for me to make a fuss and be called a fool for it later :)

Depends on system-defintion, motherboard chipset and version of USBInjectAll.kext being used. Nothing is ever black-and-white.
 
Have a read and follow UtterDisbelief's USB guide. You stand a better chance of getting the USBPorts.kext correct if you stick with one guide.


You are going to have to adapt the guide for your own purposes, as the USB port limit quirk in OC stopped working with the release of Big Sur 11.3+

Make sure you have Hackintool App and IORegistryExplorer installed on your Monterey system.


Latest release of Hackintool can be downloaded from the bottom of the first post.


Don't use a newer version of IORegistryExplorer than the one linked in the guide above, as the newer versions usually corrupt the IOReg and make it unreadable on another system.
Hi Edhawk.

Thank you very much for your guide.

It really became a bit difficult with Alder Lake Mobos and Monterey now. Following this guide on Mac OS I always have issues.

I tried a few different combinations like:
  • USBInjectAll + port limit true
  • USBInjectAll + port limit false
  • Port Limit False
  • Port Limit True
And I always had an issues.

Sometimes I see just HS ports and not SS. Sometimes I see only 2 URSSS ports.

I tried the newest version of UsbInjectAll (found somewhere on internet and there was an information that z690 supported now), using it I see SS and HS ports in Hackintool, but for some reason ports recognition is wrong since sometimes when I plug in USB 3.0 flash drive nothing happens, my system doesn't see it.

So I'll continue to research.

Maybe thunderbolt is the real reason. I don't use it at all and I'm not planning, but I'm not sure that I understand how to disable it. Since I don't have option Disable Thunderbolt in BIOS.
 
did you get thunderbolt working or do you expect to be able to ? it was something i was looking at getting , but im on msi Z690 - A wifi and it works great, tradeoff being lack of ports that thunderbolt working would lessen the blow like ! good luck
Thanks for your reply.

Nope, I'm not using it. And now I'm trying to understand how to disable this ports in BIOS since I don't have an option like Disable Thunderbolt there.
 
One more issue that I have is instant wake or in other words going from normal sleep to darkwake.

It caused by:

Code:
DarkWake from Normal Sleep [CDN] : due to XDCI RP09 RP08 RP21/ Using AC (Charge:0%) 12 secs

but when I'm checking IORegistry I can't find any devices:

Screenshot 2022-07-31 at 10.14.49 AM.png


Screenshot 2022-07-31 at 10.15.05 AM.png

Screenshot 2022-07-31 at 10.15.16 AM.png
 
Hi Edhawk.

Thank you very much for your guide.

It really became a bit difficult with Alder Lake Mobos and Monterey now. Following this guide on Mac OS I always have issues.

I tried a few different combinations like:
  • USBInjectAll + port limit true
  • USBInjectAll + port limit false
  • Port Limit False
  • Port Limit True
And I always had an issues.

Sometimes I see just HS ports and not SS. Sometimes I see only 2 URSSS ports.

I tried the newest version of UsbInjectAll (found somewhere on internet and there was an information that z690 supported now), using it I see SS and HS ports in Hackintool, but for some reason ports recognition is wrong since sometimes when I plug in USB 3.0 flash drive nothing happens, my system doesn't see it.

So I'll continue to research.

Maybe thunderbolt is the real reason. I don't use it at all and I'm not planning, but I'm not sure that I understand how to disable it. Since I don't have option Disable Thunderbolt in BIOS.
Use Corpnewt's USBmap and skip USBInjectAll and XhciPorrLimit quirk.

You'll need to put a python on your system to run it but these are readily available.

The documentation is sparse but what you need to know is there.

Read the quick-start and play with the script and it will make sense.

Outline:

0. Remove all config pertaining to port mapping. Attach only bare minimum USB to operate system. Have devices handy for each connector type and USB 2 / USB 3, as appropriate. A USB 3 hub can be handy because it can be both personalities, but a mouse dongle and USB 3 flash drive will serve.

1. Run USBmap to Discover root controllers, generate a "dummy" kext and boot it

2. Discover ports. If a root controller has more than 26, poke around to find some to eliminate and use the alternate support script to pare down dummy to be able to see the ports you need (disable ports in dummy, replace dummy and reboot).

3. Detect all needed ports, disable unneeded ports to get down to 15 max (directly connected to root) and set connector types for active ports.

• You decide the tradeoffs / mix of active ports.

• As many other ports as you need can branch from these 15, mapping only pertains to ports directly connected to the root.

• If you have more than one root, each root gets 26 (during discover) / 15 (final).

• Connector type is determined by the final wiring to reach the downstream device, so a header that connects to a case harness with a type-A port is typically 3, while a header connected to a bluetooth adapter is 255 (internal). USBmap has a list built in to remind you. Late model type-C ports are 9 (switched)

4. Generate the final USBmap.kext and replace dummy with it.

• You can return to make adjustments.

If you change SMBIOS you need to revisit the layout. Ports may or may not stay the same, and at a minimum the SMBIOS label written into the kext must be updated if you change SMBIOS for your build.

Live long and prosper
 
Status
Not open for further replies.
Back
Top