Skip to content

Latest commit

 

History

History
111 lines (70 loc) · 3.01 KB

File metadata and controls

111 lines (70 loc) · 3.01 KB

Fixing SMBus support: Manual

Finding the ACPI path

So to find the ACPI pathing of our SMBus, we've got 2 methods:

Hackintool

To find the correct pathing for your devices, grab Hackintool (Github link) and head to the PCI tab:

Look for the SMBus device under Subclass, then look beside and you'll see the ACPI path(under IOReg Name). To convert , omit @...

  • /PC00@0/SMBS@1F,4 -> PC00.SMBS

With the ACPI pathing, you can now head here: Edits to the sample SSDT

DeviceManager

If you already have Windows installed on this machine, finding the SMBus pathing is fairly easy.

Start by opening up Device Manager in Windows and looking for a device named SMBUS. Once found, click on it and select the BIOS device Name entry. You should get something like this:

From the above example, we can see the SMBus is located at:

PC00.SMBS

With the ACPI pathing, you can now head here: Edits to the sample SSDT

Edits to the sample SSDT

Now that we know the ACPI pathing of the SMBus, we can finally start editing the our SSDT.

So the important parts we care about are:

Before:

External (_SB_.PCI0, DeviceObj) <- Rename this
External (_SB_.PCI0.SBUS.BUS0, DeviceObj) <- Rename this

Scope (_SB.PCI0) <- Rename this
{
    Device (MCHC)
    {
        Name (_ADR, Zero)  // _ADR: Address
    }
}

Device (_SB.PCI0.SBUS.BUS0) <- Rename this

Following the example SMBus pathing we found, the SSDT should look something like this:

After:

External (_SB_.PC00, DeviceObj) <- Renamed
External (_SB_.PC00.SMBS.BUS0, DeviceObj) <- Renamed

Scope (_SB.PC00) <- Renamed
{
    Device (MCHC)
    {
        Name (_ADR, Zero)  // _ADR: Address
    }
}

Device (_SB.PC00.SMBS.BUS0) <- Renamed

Compiling the SSDT

With the SSDT done, you're now ready to compile the SSDT!

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 wrap up:

Verify it's working

Once you've installed macOS, you can actually check whether your SSDT-SBUS-MCHC is working or not in terminal:

kextstat | grep -E "AppleSMBusController|AppleSMBusPCI"