Contribute
Register
Status
Not open for further replies.
Ok guys... First impression is awesome! Got two days to dig carefully into every link and understand just a little about what I was doing. My T440 is up and running High Sierra with SSD. Didn't change it to HFS+ because the hint about patching it is after the OS X install instructions. It's a minor issue (I think), so straight to the issues:

1. Don't use a USB3 stick as installation media - at least on my T440 it will lead to an unstable boot condition... system won't even post... remove the usb and voila'... had to find an old usb2 8Gb card to install osx.

2. First boot with the basic kexts from Clover was fine. No graphics glitches, no sound, but ethernet was fine! Installed Clover, minimal change on Sniki's config.plist (resolution 1600x900, DVMT on 32/64Mb as I'm on Haswell), installed recommended kexts using Kext Wizard and boot... Welcome to the glitch and artifacts nightmare... blurred pixels like Minecraft everywhere, screen blinking on some apps (IOReg, Kext Wizzard, i.e.).

3. Hotkeys/function keys are mixed... Mute, Vol Up & Down react showing OSD but there's no sound... not even a device.

4. Bright keys doesn't work... They don't change brightness nor OSD is shown.

5. There's no battery indicator and when I try to enable it on System Preferences / Energy Saver / Show battery... the icon quickly shows and disappears.

@RehabMan and @Sniki , attached are the required "Problem Report" files. Thanks in advance for your help.


"Problem Reporting" files are incomplete (you forgot to press F4 in Clover to capture ACPI/origin).
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
Ok guys... First impression is awesome! Got two days to dig carefully into every link and understand just a little about what I was doing. My T440 is up and running High Sierra with SSD. Didn't change it to HFS+ because the hint about patching it is after the OS X install instructions. It's a minor issue (I think), so straight to the issues:

1. Don't use a USB3 stick as installation media - at least on my T440 it will lead to an unstable boot condition... system won't even post... remove the usb and voila'... had to find an old usb2 8Gb card to install osx.

2. First boot with the basic kexts from Clover was fine. No graphics glitches, no sound, but ethernet was fine! Installed Clover, minimal change on Sniki's config.plist (resolution 1600x900, DVMT on 32/64Mb as I'm on Haswell), installed recommended kexts using Kext Wizard and boot... Welcome to the glitch and artifacts nightmare... blurred pixels like Minecraft everywhere, screen blinking on some apps (IOReg, Kext Wizzard, i.e.).

3. Hotkeys/function keys are mixed... Mute, Vol Up & Down react showing OSD but there's no sound... not even a device.

4. Bright keys doesn't work... They don't change brightness nor OSD is shown.

5. There's no battery indicator and when I try to enable it on System Preferences / Energy Saver / Show battery... the icon quickly shows and disappears.

@RehabMan and @Sniki , attached are the required "Problem Report" files. Thanks in advance for your help.
Why dont you just use the SSDT-T440P.aml and config.plist + kexts attached and mentioned on my guide.
That way you can see what doesn’t really work and we can more easily help you troubleshooting issues.
Put the SSDT-T440p into efi/acpi/patched
 
"Problem Reporting" files are incomplete (you forgot to press F4 in Clover to capture ACPI/origin).

My bad... forgot the Fn trick. Here they are. Ty!
 

Attachments

  • EFI_CLOVER_ACPI.zip
    49.7 KB · Views: 197
  • EFI_CLOVER_misc.zip
    261 KB · Views: 124
Last edited:
Why dont you just use the SSDT-T440P.aml and config.plist + kexts attached and mentioned on my guide. That way you can see what doesn’t really work and we can more easily help you troubleshooting issues. Put the SSDT-T440p into efi/acpi/patched

Skiki, I did that. As far I remember only used the recommended kexts from your guide (except Broadcom ones as I'm not using WiFi) and SSDT-T440P.aml is in place. The only difference is that I generated mine using iasl.
 
My bad... forgot the Fn trick. Here they are. Ty!

Your computer has no EH02.
SSDT-T440P.aml assumes it does.
Modify SSDT-T440P to exclude the EH02 related code.
 
Your computer has no EH02.
SSDT-T440P.aml assumes it does. Modify SSDT-T440P to exclude the EH02 related code.

Sorry if I'm kinda lost here. The only EH02 references I've found in @Sniki source are in SSDT-Disable_EHCI.dsl:

Code:
// Disabling EHCI #1 (and EHCI #2)

//DefinitionBlock("", "SSDT", 2, "Sniki", "Disable_EHCI", 0)
//{
    External(_SB.PCI0, DeviceObj)
    External(_SB.PCI0.EH01, DeviceObj)
    External(_SB.PCI0.EH02, DeviceObj) <<<<<<<
    External(_SB.PCI0.LPC, DeviceObj)

Code:
    // registers needed for disabling EHC#1
    Scope(_SB.PCI0.EH02) <<<<<<<<<<
    {
        OperationRegion(RMP1, PCI_Config, 0x54, 2)
        Field(RMP1, WordAcc, NoLock, Preserve)
        {
            PSTE, 2  // bits 2:0 are power state
        }
    }

Code:
    Scope(_SB.PCI0)
    {
        Device(RMD2)
        {
            Name(_HID, "RMD20000")
            Method(_INI)
            {
                // disable EHCI#1
                // put EHCI#1 in D3hot (sleep mode)
                ^^EH01.PSTE = 3
                // disable EHCI#1 PCI space
                ^^LPC.FDE1 = 1

                // disable EHCI#2
                // put EHCI#2 in D3hot (sleep mode). <<<<<<<
                ^^EH02.PSTE = 3
                // disable EHCI#2 PCI space
                ^^LPC.FDE2 = 1
            }
        }
    }

I have no idea how to change the following code (field definition):

Code:
    Scope(_SB.PCI0.LPC)
    {
        OperationRegion(RMP1, PCI_Config, 0xF0, 4)
        Field(RMP1, DWordAcc, NoLock, Preserve)
        {
            RCB1, 32, // Root Complex Base Address
        }
        // address is in bits 31:14
        OperationRegion(FDM1, SystemMemory, (RCB1 & Not((1<<14)-1)) + 0x3418, 4)
        Field(FDM1, DWordAcc, NoLock, Preserve)
        {
            ,13,    // skip first 13 bits
            FDE2,1, // should be bit 13 (0-based) (FD EHCI#2) <<<<<<<
            ,1,
            FDE1,1, // should be bit 15 (0-based) (FD EHCI#1)
        }
    }
 
Last edited:
Sorry if I'm kinda lost here. The only EH02 references I've found in @Sniki source are in SSDT-Disable_EHCI.dsl:

Yes. SSDT-Disable_EHCI.dsl becomes part of SSDT-T440P.aml via #include.
 
Yes. SSDT-Disable_EHCI.dsl becomes part of SSDT-T440P.aml via #include.

Yes, I know that... the problem is I have no idea how to change the following field definition... if I just remove the FD EHCI#2 entry I will scramble the following bytes position, don't?

Code:
    Scope(_SB.PCI0.LPC)
    {
        OperationRegion(RMP1, PCI_Config, 0xF0, 4)
        Field(RMP1, DWordAcc, NoLock, Preserve)
        {
            RCB1, 32, // Root Complex Base Address
        }
        // address is in bits 31:14
        OperationRegion(FDM1, SystemMemory, (RCB1 & Not((1<<14)-1)) + 0x3418, 4)
        Field(FDM1, DWordAcc, NoLock, Preserve)
        {
            ,13,    // skip first 13 bits
            FDE2,1, // should be bit 13 (0-based) (FD EHCI#2) <<<<<<<
            ,1,
            FDE1,1, // should be bit 15 (0-based) (FD EHCI#1)
        }
    }
 
Last edited:
Yes, I know that... the problem is I have no idea how to change the following field definition... if I just remove the FD EHCI#2 entry I will scramble the following bytes position, don't?

Scope(_SB.PCI0.LPC)
{
OperationRegion(RMP1, PCI_Config, 0xF0, 4)
Field(RMP1, DWordAcc, NoLock, Preserve)
{
RCB1, 32, // Root Complex Base Address
}
// address is in bits 31:14
OperationRegion(FDM1, SystemMemory, (RCB1 & Not((1<<14)-1)) + 0x3418, 4)
Field(FDM1, DWordAcc, NoLock, Preserve)
{
,13, // skip first 13 bits
FDE2,1, // should be bit 13 (0-based) (FD EHCI#2) <<<<<<<
,1,
FDE1,1, // should be bit 15 (0-based) (FD EHCI#1)
}
}

You can't remove it entirely as you need to maintain the bit position of FDE1.

You could write:
Code:
        Field(FDM1, DWordAcc, NoLock, Preserve)
        {
            ,13,    // skip first 13 bits
            ,1,
            ,1,
            FDE1,1, // should be bit 15 (0-based) (FD EHCI#1)
        }

Or (obviously):
Code:
        Field(FDM1, DWordAcc, NoLock, Preserve)
        {
            ,15,    // skip first 15 bits
            FDE1,1, // should be bit 15 (0-based) (FD EHCI#1)
        }

Note: It is not actually even necessary to remove it, as the unused field FDE2 will not cause any problems (the only problem is the references to EC02).
 
@gromalle I have the same touchpad but can't for my life find a working solution for it. Did you manage to?
@AlBeast at this moment there is no ideal solution or 10/10 kext for ALPS >= v7 trackpad. You can try javmain fork of dr.Hurt's kext: two finger scrolling works, prefpane works, but you need to remap keyboard, because brightness up/down and other defaults mapped to another keys.
 
Status
Not open for further replies.
Back
Top