- Joined
- Nov 28, 2018
- Messages
- 79
- Motherboard
- asus z370-i
- CPU
- i7-9700k
- Graphics
- RX 580
- Mac
- Classic Mac
- Mobile Phone
My Build
1. Read the manual first
Take a look into Chapter 1 the mainboard drawing. I'd tested all ports and found the pattern that the USB numbering that
ASUS used for the mainboard you can 1:1 adapt.
HS01: U31G1_12 -> Port 1
HS02: U31G1_12 -> Port 2
HS03: U31G1_34 -> Port 3
HS03: U31G1_34 -> Port 4
HS07: USB7_10 Port 7-10
I also assume:
Intel® Z370 chipset:
- 6 x USB 3.1 Gen1 ports ( 3 x Type-A and 1 x Type-C ports at back panel, 2 ports at mid-board)
- 6 x USB 2.0 ports ( 4 ports at back panel, 2 ports at mid-board)
ASMedia® USB 3.1 Gen2 controller*:
* Supports 3A power output
- 1 x USB 3.1 Gen2 front panel connector
6 x USB 3.1 Gen1 ports = 12 Ports Total (HS/SS)
6 x USB 2.0 ports = 6 Ports Total (HS)
1 x USB 3.1 Gen2 ports = 2 Ports Total (HRS/HS)
1 x USB 2.0 Bluetooth Ports = 1 Ports Total (HS)
1 x USB 2.0 Asus Aura Ports = 1 Ports Total
Summary 22 Ports
HSx = USB2.0
SSx = USB3.1 Gen1
USRx = USB3.1 Gen2
Boot exclude:
I excluded the ASUS Aura RGB controller on the port, USR11 and some other USB2 ports that I do not need. So the total port count incl. XHC is exactly 15 ports.
uia_exclude=SS01;HS05;HS06;HS10;HS11;HS13;HS15;USR1 22-8 = 14 Ports + XHC@14 = 15 ports in total
Custom SSDT creation
Rules
If a USB-C uses the same SSxx in both orientations, then it has an internal switch (UsbConnector=9).
If a USB-C uses a different SSxx in each orientation, then it has no switch (UsbConnector=10).
Start the MaciASL Tool and open your SSDT-UIAC-ALL.dsl and finally save it as ACPI Machine Language Binary.
Attached files:
EFI.zip version v1a 12/31/18:
Change Log:
- Asus z370i
- i7 9700K OC 5Ghz
- 2 x 16GB RAM Manufacturer: KingstonPart Number: KHX2666C1616G OC 30000Mhz
- 2 x Samsung SSD 970 EVO 500GB
- Radeon RX 580 8G OC
- Noctua NH-d15
- NZXT H200i case with smartblabla| I use a VM to configure the light and the case fan speed
- PSU EVGA SuperNOVA 850 P2, 80+ PLATINUM
- Audio
- IGPU if needed
- USB
- Sleep
$ pmset -g stats
Sleep Count:410
Dark Wake Count:410
User Wake Count:34 - WALN / BCM94352Z; AC 40Mhz is working - 80Mhz sometimes
1. Read the manual first
Take a look into Chapter 1 the mainboard drawing. I'd tested all ports and found the pattern that the USB numbering that
ASUS used for the mainboard you can 1:1 adapt.
HS01: U31G1_12 -> Port 1
^
HS02: U31G1_12 -> Port 2
^
HS03: U31G1_34 -> Port 3
^
HS03: U31G1_34 -> Port 4
^
HS07: USB7_10 Port 7-10
I also assume:
- That all USB 3.1 also provides a HSx and a SSx port
- USB31G2_EC1 is the USB C port
- That the OSX Port Map Max 15 port limit includes all active ports incl. XHC@14!
Intel® Z370 chipset:
- 6 x USB 3.1 Gen1 ports ( 3 x Type-A and 1 x Type-C ports at back panel, 2 ports at mid-board)
- 6 x USB 2.0 ports ( 4 ports at back panel, 2 ports at mid-board)
ASMedia® USB 3.1 Gen2 controller*:
* Supports 3A power output
- 1 x USB 3.1 Gen2 front panel connector
6 x USB 3.1 Gen1 ports = 12 Ports Total (HS/SS)
6 x USB 2.0 ports = 6 Ports Total (HS)
1 x USB 3.1 Gen2 ports = 2 Ports Total (HRS/HS)
1 x USB 2.0 Bluetooth Ports = 1 Ports Total (HS)
1 x USB 2.0 Asus Aura Ports = 1 Ports Total
Summary 22 Ports
HSx = USB2.0
SSx = USB3.1 Gen1
USRx = USB3.1 Gen2
Code:
# Port Map
# AS Media USB 3.1 Gen2 Speed USB2 USB31G1 USB31G1 Name Connector Location
HS01: SS01: USB3.1 1 1 U31G1_12 3 Mainboard Onboard Front Panel L
HS02: SS02: USB3.1 1 1 U31G1_12 3 Mainboard Onboard Front Panel R
# Intel z370
HS03: SS03: USB3.1 1 1 U31G1_34 3 Mainboard external LanPort / USB
HS04: SS04: USB3.1 1 1 U31G1_34 3 Mainboard external LanPort / USB
HS05: SS05: USB3.1 1 1 U31G1_5 3 Mainboard external
HS06: SS06: USB3.1 1 1 31G1_C6 9 Mainboard external USB C
HS07: USB2.0 1 USB7_10 0 Mainboard
HS08: USB2.0 1 USB7_10 0 Mainboard
HS09: USB2.0 1 USB7_10 0 Mainboard
HS10: USB2.0 1 USB7_10 0 Mainboard
HS11: USB2.0 1 USB1112 0 Mainboard Onboard PIN
HS12: USB2.0 1 USB1112 0 Mainboard Onboard PIN
HS13: USB2.0 1 Aura 255 Mainboard Onboard
HS14: USB2.0 1 Bluetooth 255 Onboard
USR1: HS15 USB3.1 1 1 USB31G2_EC1 9 Mainboard Onboard
Total 15 6 1
Summary 22 Ports
Code:
# Port Map Max 15 Port Active Ports incl. XHC@14!
# AS Media USB 3.1 Gen2 Speed USB2 USB31G1 USB31G1 Name Location
HS01: USB3.1 1 U31G1_12 Mainboard Onboard Front Panel L
HS02: SS02: USB3.1 1 1 U31G1_12 Mainboard Onboard Front Panel R
# Intel z370
HS03: SS03: USB3.1 1 1 U31G1_34 Mainboard external LanPort / USB
HS04: SS04: USB3.1 1 1 U31G1_34 Mainboard external LanPort / USB
SS05: USB3.1 1 U31G1_5 Mainboard external
SS06: USB3.1 1 31G1_C6 Mainboard external USB C
HS07: USB2.0 1 USB7_10 Mainboard
HS08: USB2.0 1 USB7_10 Mainboard
HS09: USB2.0 1 USB7_10 Mainboard
USB2.0 USB7_10 Mainboard
USB2.0 USB1112 Mainboard Onboard PIN
HS12 USB2.0 USB1112 Mainboard Onboard PIN
USB2.0 1 Aura Mainboard Onboard
HS14: USB2.0 1 Bluetooth Onboard
USB3.1 USB31G2_EC1 Mainboard Onboard
Total 8 6
Summary 15 Ports
Boot exclude:
I excluded the ASUS Aura RGB controller on the port, USR11 and some other USB2 ports that I do not need. So the total port count incl. XHC is exactly 15 ports.
uia_exclude=SS01;HS05;HS06;HS10;HS11;HS13;HS15;USR1 22-8 = 14 Ports + XHC@14 = 15 ports in total
Custom SSDT creation
Rules
- Use SSDT-UIAC-ALL.dsl as a template (https://github.com/RehabMan/OS-X-USB-Inject-All/raw/master/SSDT-UIAC-ALL.dsl)
- Identify your XHC@14 name with the famous IORegistryExplorer: In my case IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14 --> <"pci8086,a2af">
You will find a section inside the SSDT-UIAC-ALL.dsl that you can use as a starting point if you build your DSL. - Common port connector types are
USB2 = 0,
USB3 = 3,
USB3-C = 9,
# I assume that the my USB-C mainboard connector has a switch, so the cable can be used in two possible orientations - USB31G2_EC1 = ? # I dont know yet. I dont use it
internal = 255.
If a USB-C uses the same SSxx in both orientations, then it has an internal switch (UsbConnector=9).
If a USB-C uses a different SSxx in each orientation, then it has no switch (UsbConnector=10).
Code:
// Initial trimmed SSDT-UIAC.dsl for Asus z370-I
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC", 0)
{
Device(UIAC)
{
Name(_HID, "UIA00000")
Name(RMCF, Package()
{
"8086_a2af", Package()
{
"port-count", Buffer() { 22, 0, 0, 0 },
"ports", Package()
{
"HS01", Package()
{
"UsbConnector", 3,
"port", Buffer() { 1, 0, 0, 0 },
},
"HS02", Package()
{
"UsbConnector", 3,
"port", Buffer() { 2, 0, 0, 0 },
},
"HS03", Package()
{
"UsbConnector", 3,
"port", Buffer() { 3, 0, 0, 0 },
},
"HS04", Package()
{
"UsbConnector", 3,
"port", Buffer() { 4, 0, 0, 0 },
},
"HS05", Package()
{
"UsbConnector", 3,
"port", Buffer() { 5, 0, 0, 0 },
},
"HS06", Package()
{
"UsbConnector", 9,
"port", Buffer() { 6, 0, 0, 0 },
},
"HS07", Package()
{
"UsbConnector", 3,
"port", Buffer() { 7, 0, 0, 0 },
},
"HS08", Package()
{
"UsbConnector", 3,
"port", Buffer() { 8, 0, 0, 0 },
},
"HS09", Package()
{
"UsbConnector", 3,
"port", Buffer() { 9, 0, 0, 0 },
},
"HS10", Package()
{
"UsbConnector", 3,
"port", Buffer() { 10, 0, 0, 0 },
},
"HS11", Package()
{
"UsbConnector", 3,
"port", Buffer() { 11, 0, 0, 0 },
},
"HS12", Package()
{
"UsbConnector", 3,
"port", Buffer() { 12, 0, 0, 0 },
},
"HS13", Package()
{
"UsbConnector", 255,
"port", Buffer() { 13, 0, 0, 0 },
},
"HS14", Package()
{
"UsbConnector", 255,
"port", Buffer() { 14, 0, 0, 0 },
},
"HS15", Package()
{
"UsbConnector", 255,
"port", Buffer() { 15, 0, 0, 0 },
},
"SS01", Package()
{
"UsbConnector", 3,
"port", Buffer() { 17, 0, 0, 0 },
},
"SS02", Package()
{
"UsbConnector", 3,
"port", Buffer() { 18, 0, 0, 0 },
},
"SS03", Package()
{
"UsbConnector", 3,
"port", Buffer() { 19, 0, 0, 0 },
},
"SS04", Package()
{
"UsbConnector", 3,
"port", Buffer() { 20, 0, 0, 0 },
},
"SS05", Package()
{
"UsbConnector", 3,
"port", Buffer() { 21, 0, 0, 0 },
},
"SS06", Package()
{
"UsbConnector", 9,
"port", Buffer() { 22, 0, 0, 0 },
},
"USR1", Package()
{
"UsbConnector", 9,
"port", Buffer() { 16, 0, 0, 0 },
},
},
},
})
}
}
//EOF
Start the MaciASL Tool and open your SSDT-UIAC-ALL.dsl and finally save it as ACPI Machine Language Binary.
Attached files:
EFI.zip version v1a 12/31/18:
Change Log:
- Removed FAKE ID,KEXT PS2, dashes between boot args, removed unneeded patches
- Added iGPU ID
- Updated KEXT to the newest version
- Updated Clover and BOOTX64.efi
- Cleaned up boot messages
Attachments
Last edited: