Add SSDT-RHUB support

This commit is contained in:
Mykola Grymalyuk
2020-06-16 10:50:03 -06:00
parent d65758d8b9
commit 7c3eb3ef1e
19 changed files with 229 additions and 89 deletions

View File

@@ -28,7 +28,7 @@ But to double check, next search for `PNP0B00`:
And looks at that, we can in fact disable our AWAC and enable the RTC! If not skip to here: [RTC0 Method](#rtc0-method)
Now it's as simple as grabbing [SSDt-AWAC.dsl]() and [compile](#compiling-the-ssdt), no changes needed You can also use the below SSDT to the same effect:
Now it's as simple as grabbing [SSDT-AWAC.dsl](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-AWAC.dsl) and [compile](#compiling-the-ssdt), no changes needed You can also use the below SSDT to the same effect:
* [SSDT-AWAC.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-AWAC.aml)

View File

@@ -5,17 +5,15 @@
## What this SSDT does
This SSDT is required for all "true" 300 series motherboards and newer(Z370 is excluded), it specifically brings back NVRAM support and requires very little configuration for the end user.
This SSDT is required for all "true" 300 series motherboards(Z370 is excluded), it specifically brings back NVRAM support and requires very little configuration for the end user.
* B360
* B365
* H310
* H370
* Z390
* 400 series (Cometlake)
* 495 series (Icelake)
Oddly enough, desktop Z490 boards **DO NOT** need this SSDT. NVRAM just works out of the box for most users, if there's issues though it's recommended to try this SSDT
10th gen motherboards **do not** need this SSDT, NVRAM's native on these platforms.
## Methods to make this SSDT

View File

@@ -0,0 +1,67 @@
# Fixing USB: Manual
* [Finding the ACPI path](#finding-the-acpi-path)
* [Edits to the sample SSDT](#edits-to-the-sample-ssdt)
* [Compiling the SSDT](#compiling-the-ssdt)
* [Wrapping up](#wrapping-up)
## Finding the ACPI path
Finding the ACPI pathing is quite easy actually, first open your decompiled DSDT you got from [Dumping the DSDT](/Manual/dump.md) and [Decompiling and Compiling](/Manual/compile.md) with either maciASL(if in macOS) or any other text editor if in Windows or Linux(VSCode has an [ACPI extension](https://marketplace.visualstudio.com/items?itemName=Thog.vscode-asl) that can also help).
Next, search for the `Device (RHUB)`
You should get something like the following show up:
![](/images/Universal/rhub-md/rhub-path.png)
From the above, we can see that the full ACPI pathing for RHUB is `PCI0.XHC.RHUB`. If it's not as clear you can search for what those device paths are for your system:
* Finding the PCI path:
* Search `PNP0A08` (If multiple show up, use the first one)
* Finding XHCI path
* Search for `XHC`, `XHCI` and `XHC1`, and yours is whichever shows up.
Now with the pathing, you can head here: [Edits to the sample SSDT](#edits-to-the-sample-ssdt)
## Edits to the sample SSDT
Now that we have our ACPI path, lets grab our SSDT and get to work:
* [SSDT-RHUB.dsl](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/decompiled/SSDT-RHUB.dsl)
By default, this uses `PCI0.XHC_.RHUB` for the pathing. you'll want to rename accordingly.
Following the example from above, we'll be renaming it to `PCI0.XHC1.RHUB`:
**Before**:
```
External (_SB_.PCI0.XHC_.RHUB, DeviceObj) <- Rename this
Scope (_SB.PCI0.XHC_.RHUB) <- Rename this
```
![](/images/Universal/rhub-md/ssdt-before.png)
Following the example pathing we found, the SSDT should look something like this:
**After**:
```
External (_SB.PCI0.XHC1.RHUB, DeviceObj) <- Renamed
Scope (_SB.PCI0.XHC1.RHUB) <- Renamed
```
![](/images/Universal/rhub-md/ssdt-after.png)
## Compiling the SSDT
With the SSDT done, you're now [ready to compile the SSDT!](/Manual/compile.md)
## Wrapping up
Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to warp up:
* [**Cleanup**](/cleanup.md)

View File

@@ -0,0 +1,11 @@
# Fixing USB: Prebuilt
By far the easiest method, all you need to do is download the following file:
* [SSDT-RHUB.aml](https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-RHUB.aml)
## Wrapping up
Once you're done making your SSDT, either head to the next page to finish the rest of the SSDTs or head here if you're ready to warp up:
* [**Cleanup**](/cleanup.md)

20
Universal/rhub.md Normal file
View File

@@ -0,0 +1,20 @@
# Fixing USB
* [What this SSDT does](#what-this-ssdt-does)
* [Methods to make this SSDT](#methods-to-make-this-ssdt)
## What this SSDT does
So on 400 series motherboards, certain OEMs have broken the ACPI spec and this results in issues when booting into macOS. To fix this, we'll want to turn off the RHUB device and force macOS to manually rebuild the ports.
The following platforms will require fixing:
* Mobile Icelake(currently Dell and Lenovo are the 2 known with this issue)
* Asus Z490 (Gigabyte and AsRock users are fine, whether MSI currently this is unknown)
## Methods to make this SSDT
For the RTC fix, there are 2 methods you can choose from:
* [Prebuilt](/Universal/rhub-methods/prebuilt.md)
* [Manual](/Universal/rhub-methods/manual.md)