Contribute
Register

Gigabyte Z390 M Gaming build with working NVRAM

Yes, yes and yes.

All USB 3 ports are working (at back of case and on top of computer case), insofar as they accept usb sticks and peripherals.

PCI wifi card is connected to USB F_USB1, as suggested on post #1.

You ports are not working because the USBPorts kext is not configured for F_USB2. It's configured for cases with front USB3 ports...

Please replace the USBPorts-with-Power.kext in /EFI/CLOVER/kexts/Other/ with the one attached here.
 

Attachments

  • USBPorts-with-Power.kext.zip
    2.3 KB · Views: 62
You ports are not working because the USBPorts kext is not configured for F_USB2. It's configured for cases with front USB3 ports...

Please replace the USBPorts-with-Power.kext in /EFI/CLOVER/kexts/Other/ with the one attached here.
Thanks I'll try it.

I realise the confusion now. My case has the 'front' USB ports on the top of the case. Guess that's what the 'F' stands for in F_USB2....everyday's a school day!

So, just to clarify, the kext in post #1388 should get both the two front USB 2 ports working, and also keep the two front USB 3 ports working?
 
Thanks I'll try it.

I realise the confusion now. My case has the 'front' USB ports on the top of the case. Guess that's what the 'F' stands for in F_USB2....everyday's a school day!

So, just to clarify, the kext in post #1388 should get both the two front USB 2 ports working, and also keep the two front USB 3 ports working?

No. The kext in post #1388 will enable the USB2 ports and disable the USB2 functionality on the USB3 ports. It's impossible to enable USB2 on the USB3 ports too because the 15 port limit. macOS limiter the number of USB ports to 15 and you exceed it.
 
No. The kext in post #1388 will enable the USB2 ports and disable the USB2 functionality on the USB3 ports. It's impossible to enable USB2 on the USB3 ports too because the 15 port limit. macOS limiter the number of USB ports to 15 and you exceed it.
I did read @UtterDisbelief's guide on creating a custom USB SSDT a while ago.

So, perhaps for the benefit of others in this tread, here's my understanding of the 15 port limit on this Z390 M Gaming board:

Screenshot 2020-06-09 at 15.26.46.png

With reference to the diagram above from the manual,

b - USB 3.1 Gen 1 port - (8 virtual ports)
e - USB 3.1 Gen 2 type A port - (2 virtual ports)
f - USB type-C port - (2 virtual ports)

And internal connectors:

Screenshot 2020-06-09 at 15.35.17.png


12 - F_USB30 - USB 3.1 Gen 1 header - (4 virtual ports)
13 - F_USB1/F_USB 2 - F_USB1 used for bluetooth/wifi pci card, F_USB2 - (2 virtual ports)

Now let's assume F_USB2 is not configured in your USBPorts-with-Power.kext.

On my count, that still leaves 16 virtual ports. So I'm curious, with your original USBPorts-with-Power.kext, which port has been demoted?

Or am I totally missing the point of this lesson!
 
I did read @UtterDisbelief's guide on creating a custom USB SSDT a while ago.

So, perhaps for the benefit of others in this tread, here's my understanding of the 15 port limit on this Z390 M Gaming board:

View attachment 475080
With reference to the diagram above from the manual,

b - USB 3.1 Gen 1 port - (8 virtual ports)
e - USB 3.1 Gen 2 type A port - (2 virtual ports)
f - USB type-C port - (2 virtual ports)

And internal connectors:

View attachment 475082

12 - F_USB30 - USB 3.1 Gen 1 header - (4 virtual ports)
13 - F_USB1/F_USB 2 - F_USB1 used for bluetooth/wifi pci card, F_USB2 - (2 virtual ports)

Now let's assume F_USB2 is not configured in your USBPorts-with-Power.kext.

On my count, that still leaves 16 virtual ports. So I'm curious, with your original USBPorts-with-Power.kext, which port has been demoted?

Or am I totally missing the point of this lesson!

On F_USB1, only one of the two ports are enabled.

The Wi-Fi/Bluetooth card only needs one USB port.

My computer case only has a pair of USB3 ports so that's now I configured the USBPorts kext.
 
On F_USB1, only one of the two ports are enabled.

The Wi-Fi/Bluetooth card only needs one USB port.

My computer case only has a pair of USB3 ports so that's now I configured the USBPorts kext.


Hi both.

Yep, @pastrychef is spot on with F_USB1 etc.

Also my tip for reducing ports ... Only configure the USB-C port as 1x USB3 (reversible), and ignore it's USB2 option. I mean, how many type-C USB2 devices do you have? Okay, it's possible ... in theory.

You must keep (e) the red type-A gen-2 port though as it is USB port number 1, and should always be active.

:)
 
Hi both.

Yep, @pastrychef is spot on with F_USB1 etc.

Also my tip for reducing ports ... Only configure the USB-C port as 1x USB3 (reversible), and ignore it's USB2 option. I mean, how many type-C USB2 devices do you have? Okay, it's possible ... in theory.

:)

Yup. That's exactly what I do too. I do not assign the USB2 property to USB3.1 gen 2 ports.
 
perfect. all working now.

I have another question i may just be missing. Is there a way to keep the BIOS from selecting the Windows boot? It seems to "steal" it and i have to go back to set the boot order to my macOS/efi drive
I had this happening also. I set only one boot option in BIOS (my macOS Catalina Drive), and I set the one showing as Windows Boot Manager to disabled. This seemed to stop Windows all of a sudden claiming the number one boot spot. Of course Windows still boots via Clover/OpenCore whichever you are using or by hitting F12 if you prefer that method.
 
Last edited:
So, I've gone back to Clover for now as I wanted to disable Serial Port and I think a DSDT is the only way to do that (with F9g BIOS). The DSDT seems to work and Serial Port is disabled but sleep not working. This is what I see in "pmset - g assertions":

Assertion status system-wide:
BackgroundTask 0
ApplePushServiceTask 0
UserIsActive 1
PreventUserIdleDisplaySleep 0
PreventSystemSleep 0
ExternalMedia 0
PreventUserIdleSystemSleep 0
NetworkClientActive 0
Listed by owning process:
pid 196(hidd): [0x0000002800098166] 00:00:00 UserIsActive named: "com.apple.iohideventsystem.queue.tickle serviceID:10000120f name:AppleUserHIDEventSe product:Unifying Device eventType:3"
Timeout will fire in 900 secs Action=TimeoutActionRelease
Kernel Assertions: 0x4=USB
id=507 level=255 0x4=USB mod=01/01/1970, 01:00 description=com.apple.usb.externaldevice.14300000 owner=HD Pro Webcam C920
id=510 level=255 0x4=USB mod=01/01/1970, 01:00 description=com.apple.usb.externaldevice.14200000 owner=USB Receiver
id=511 level=255 0x4=USB mod=01/01/1970, 01:00 description=com.apple.usb.externaldevice.14900000 owner=USB3.0 Hub
id=513 level=255 0x4=USB mod=01/01/1970, 01:00 description=com.apple.usb.externaldevice.14100000 owner=USB2.0 Hub
Idle sleep preventers: IODisplayWrangler


Do the USB Kernel assertions indicate a problem with my USB Kext config?
 
Last edited:
So, I've gone back to Clover for now as I wanted to disable Serial Port and I think a DSDT is the only way to do that (with F9g BIOS). The DSDT seems to work and Serial Port is disabled but sleep not working. This is what I see in "pmset - g assertions":

Assertion status system-wide:
BackgroundTask 0
ApplePushServiceTask 0
UserIsActive 1
PreventUserIdleDisplaySleep 0
PreventSystemSleep 0
ExternalMedia 0
PreventUserIdleSystemSleep 0
NetworkClientActive 0
Listed by owning process:
pid 196(hidd): [0x0000002800098166] 00:00:00 UserIsActive named: "com.apple.iohideventsystem.queue.tickle serviceID:10000120f name:AppleUserHIDEventSe product:Unifying Device eventType:3"
Timeout will fire in 900 secs Action=TimeoutActionRelease
Kernel Assertions: 0x4=USB
id=507 level=255 0x4=USB mod=01/01/1970, 01:00 description=com.apple.usb.externaldevice.14300000 owner=HD Pro Webcam C920
id=510 level=255 0x4=USB mod=01/01/1970, 01:00 description=com.apple.usb.externaldevice.14200000 owner=USB Receiver
id=511 level=255 0x4=USB mod=01/01/1970, 01:00 description=com.apple.usb.externaldevice.14900000 owner=USB3.0 Hub
id=513 level=255 0x4=USB mod=01/01/1970, 01:00 description=com.apple.usb.externaldevice.14100000 owner=USB2.0 Hub
Idle sleep preventers: IODisplayWrangler


Do the USB Kernel assertions indicate a problem with my USB Kext config?

What does not work with serial port enabled?

I see nothing wrong with pmset.
 
Back
Top