Jump to content
3 posts in this topic

Recommended Posts

Hi,

I am new to Opencore. I have successfully installed macOS Monterey (12.5.1) on my device. On post installation I tried to fix Apple SMBus with SSDT-SBUS-MCHC.aml, but looks like its not working. Because before the patch when I run this command:

kextstat | grep -E "AppleSMBusController|AppleSMBusPCI"

it shows

Quote

No variant specified, falling back to release
138 0 0xffffff7f98f8e000 0x1000 0x1000 com.apple.driver.AppleSMBusPCI (1.0.14d1) B34AAD69-4A29-3463-8A4C-0E7890FFF929 <16 7 6 3>
165 1 0xffffff7f98f82000 0x7000 0x7000 com.apple.driver.AppleSMBusController (1.0.18d1) 524232C0-73C9-3130-A258-1EE71F7110C6 <164 16 15 7 6 3>

 

Even after the patch was applied it shows same output. My SMBUS is PC00.SBUS which I found from Windows. So I updated the SSDT-SBUS-MCHC.dsl file with it and then generated the .aml file.

DefinitionBlock ("", "SSDT", 2, "ACDT", "MCHCSBUS", 0x00000000)
{
    External (_SB_.PC00, DeviceObj)
    External (_SB_.PC00.SBUS, DeviceObj)

    Scope (_SB.PC00)
    {
        Device (MCHC)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (_OSI ("Darwin"))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }
        }
    }

    Device (_SB.PC00.SBUS.BUS0)
    {
        Name (_CID, "smbus")  // _CID: Compatible ID
        Name (_ADR, Zero)  // _ADR: Address
        Device (DVL0)
        {
            Name (_ADR, 0x57)  // _ADR: Address
            Name (_CID, "diagsvault")  // _CID: Compatible ID
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (!Arg2)
                {
                    Return (Buffer (One)
                    {
                         0x57                                             // W
                    })
                }

                Return (Package (0x02)
                {
                    "address",
                    0x57
                })
            }
        }
        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            If (_OSI ("Darwin"))
            {
                Return (0x0F)
            }
            Else
            {
                Return (Zero)
            }
        }
    }
}

But I don't understand why its not working. Somebody can show me what's wrong?

Motherboard: Gigabyte Z690 UD AX
CPU: i5-12400F
OpenCore: 0.8.5

@Poles

The kexstat command gives to me the same output as yours in the hack and even in a real Mac. Without SSDT-SBUS-MCHC. Maybe you don't need this SSDT.

 

Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release
  124    1 0xffffff7f95ea9000 0x6ffd     0x6ffd     com.apple.driver.AppleSMBusController (1.0.18d1) 67C1DE20-8B96-3253-B373-5F234037AA59 <64 17 16 7 6 3>
  134    0 0xffffff7f95eb5000 0x1000     0x1000     com.apple.driver.AppleSMBusPCI (1.0.14d1) 27454DC4-17BA-3D0C-AD38-E7EDD2C69545 <17 7 6 3>

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...