# Manual · GitBook

> Last modified: Thu Jun 18 2020 03:09:33 GMT+0000 (Coordinated Universal Time)

# Fixing SMBus support: Manual

- Finding the ACPI path
  - Hackintool
  - DeviceManager
- Edits to the sample SSDT
- Compiling the SSDT
- Wrapping up

## Finding the ACPI path

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

- Hackintool
- DeviceManager

### 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.

- SSDT-SBUS-MCHC.dsl

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

- Cleanup

# 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"

# results matching ""

# No results matching ""