Contribute
Register

[Guide] Lenovo T440s Clover UEFI

Status
Not open for further replies.
Thanks Ludacrisvp.

@EsssBee - I agree 110%... and just got my T440s going in the last 2 days as well and I am at the exact same point/state as you.

I am on Sierra 10.12.2beta. It took a few hours of fussing around to create a working EDID to get around the Sierra Display Prefs not able to load issue. will post that shortly.

DP is on the side is working for me. i using just the 9MB cursor patch. I have a dock station and i can use DP on the dock too. however, it will KP if the display sleeps - or the last stages of reboot. so i have to turn off the external monitor if on the dock during reboot.

Question on your AppleHDA_292 kext. i wasnt able to find a good versions of AppleHDA_292 for the T440. the one have does not seem to have the right verbs and layout. i was going to work on that over the next few days. For comparison i have a T460 for which I tweaked up to get a perfect ALC293... so should be very similar.
so can you post it? maybe save me some time!?

i dumped the codec and it appears to be identical to T450. so audio is/was working fine. but then after a reboot the headphone out stopped working. very weird.

thanks

I have attached my AppleHDA_ALC292.kext file, working great for me in 10.11.6. To fix headphone issues, try Codec Commander, it has support for ALC292, and can initialize the card at boot and on wake, still running flawless for me after a few
days of sleep/wake/reboots - much more stable than VoodooHDA was for me. Good luck.

Does anyone have a 440 with keyboard backlight, and do the lights work? Thinking about upgrading keyboard to one that can light up as it is an option on these models. Wondering if some extra DSDT edits would be required to get Fn+Spacebar to work for lighting up the keyboard ...
 

Attachments

  • AppleHDA_ALC292.kext.zip
    13.5 KB · Views: 125
Does anyone have a 440 with keyboard backlight, and do the lights work? Wondering if some extra DSDT edits would be required to get Fn+Spacebar to work for lighting up the keyboard
Works fine as the OS has no control over it, you manually toggle it on / off via the Fn+spacebar key combo. No DSDT edits needed as it is handled outside of OSX.
 
@Essbee - thanks - i was tinkering around with the audio today and looked at this kext as well as the AppleALC method. i use a dock so i was able to get dock audio and headphones+mic (iPhone) headset to not work automatically. the attached kext (seem like the one from dark-void) mostly works - i did some minor tweaks. Commander codec is needed for sure. so i will see how this set up works over the next few days to work on it some more as it is not quite right on the speaker vs dock vs headset.
 
Works fine as the OS has no control over it, you manually toggle it on / off via the Fn+spacebar key combo. No DSDT edits needed as it is handled outside of OSX.

So I guess these laptops are different than ASUS ones that require DSDT edits and kexts for keyboard lighting to work.
Took a chance and eBay-ed a light up KB for T440, and you are correct, it works with no configuration required. Thanks!
 
@Essbee - thanks - i was tinkering around with the audio today and looked at this kext as well as the AppleALC method. i use a dock so i was able to get dock audio and headphones+mic (iPhone) headset to not work automatically. the attached kext (seem like the one from dark-void) mostly works - i did some minor tweaks. Commander codec is needed for sure. so i will see how this set up works over the next few days to work on it some more as it is not quite right on the speaker vs dock vs headset.

Yeah, probably needs some tweaking, I don't use a dock. I still haven't gotten to trying display port out/DP audio yet.
 
I have a T440 with the following specs:

Intel i5-4300U
Graphics: HD4400
14" HD+ Touch TN (1600X900)
Intel 180GB SSD
ALC 292 Audio
8GB RAM
Internal 3-cell and 6 cell battery
Intel Centrino 7260 wifi
Sierra Wireless Gobi5000 WWAN Card

Ludacrisp..your guide is fantastic, and comprehensive. It took me a while to figure all of this stuff out, but it was well worth it.
I got Mac OS sierra loaded via clover. After doing all the patching and loading appropriate kexts Everything works really well, except for the following:

1. Webcam
2. WWAN card
3. Dual battery not displayed

Of those items, i'm most interested in getting the webcam to function. I can do without the WWAN card or dual battery functionality (unless someone has some ideas on those).
Other posts mention that the webcam works OOB, but I also note those posts aren't for sierra. Mine did not work prior to post-install changes, or after.

Can anyone help with getting the webcam to work? When I look in system profiler, it is not listed under camera or as a USB device. Any assistance is much appreciated.
 
I can report success with DisplayPort connecting to a Samsung TV! Used a generic mini-DP to HDMI adapter to connect. It took a lot of reading/configuring/testing/reconfiguring, but it works perfectly, audio on the TV is very good and 1080p youtube videos look very nice on the big screen as well. All functionality works well, pulling the adapter out during a movie results in a slight flicker and video/audio continues on the laptop screen and built-in speakers. Booting with DP connected is fine, shows the login screen on the TV. No artifacts or display issues on the external display or built-in display.
Only downside so far is that I seem to have lost the ability to sleep when lid closes (I can still sleep via the menu). If I revert back to my config.plist and DSDT that are not patched for DisplayPort functionality, lid closing to sleep works again. Wonder what it could be at this point ... for now just pumped to have display port working! I can post the rough steps if anyone wants (though not many use displayport I guess) ...
 
I have a T440 with the following specs:
After doing all the patching and loading appropriate kexts Everything works really well, except for the following:

3. Dual battery not displayed

do you use the acpi-battery-driver? if yes, there is a hack for the DDST which shows the 2 batteries as one. see https://github.com/RehabMan/OS-X-ACPI-Battery-Driver/issues/15

this linked DDST hack worked for me, but i skipped the FAN/TMP part which i had allready fixed with another patch.

I can report success with DisplayPort connecting to a Samsung TV! Used a generic mini-DP to HDMI adapter to connect. It took a lot of reading/configuring/testing/reconfiguring, but it works perfectly, audio on the TV is very good and 1080p youtube videos look very nice on the big screen as well. All functionality works well, pulling the adapter out during a movie results in a slight flicker and video/audio continues on the laptop screen and built-in speakers. Booting with DP connected is fine, shows the login screen on the TV. No artifacts or display issues on the external display or built-in display.
Only downside so far is that I seem to have lost the ability to sleep when lid closes (I can still sleep via the menu). If I revert back to my config.plist and DSDT that are not patched for DisplayPort functionality, lid closing to sleep works again. Wonder what it could be at this point ... for now just pumped to have display port working! I can post the rough steps if anyone wants (though not many use displayport I guess) ...

sounds great. regarding the sleep on lid close: if you are not using this already, maybe try the following DDST fix to "force" sleep. i used this as the sleep-on-lid-close didnt work. as seen on a t460s thread here: https://www.tonymacx86.com/threads/lenovo-t460s-el-capitan.194688/page-7#post-1294829 . but i manually inserted it to keep the existing code (cause i hope this may keep some fancy lid functionally i dont know about yet :p ):

Code:
Method (_Q2A, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        \VCMS (0x01, \_SB.LID._LID ())
                        If (LEqual (\ILNF, 0x00))
                        {
                            If (\IOST)
                            {
                                If (LNot (\ISOC (0x00)))
                                {
                                    Store (0x00, \IOST)
                                    \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x60D0)
                                }
                            }
                            Else
                            {
                                \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5002)
                                If (LEqual (\PLUX, 0x00))
                                {
                                    If (VIGD)
                                    {
                                        //\_SB.PCI0.IGPU.GLIS (0x01)
                                        //\_SB.PCI0.IGPU.VLOC (0x01)
                                      
                                         /*
                                         * FORCE WAKE
                                        */
                                        Notify (\_SB.LID, 0x80)
                                        Notify (\_SB.SLPB, 0x02)

                                    }
                                    Else
                                    {
                                        \_SB.PCI0.PEG.VID.VLOC (0x01)
                                    }

                                    Notify (\_SB.LID, 0x80)
                                }
                            }
                        }

                    }

                    Method (_Q2B, 0, NotSerialized)  // _Qxx: EC Query
                    {
                        \UCMS (0x0D)
                        \VCMS (0x01, \_SB.LID._LID ())
                        If (LEqual (\ILNF, 0x00))
                        {
                            If (LAnd (\IOEN, LNot (\IOST)))
                            {
                                If (LNot (\ISOC (0x01)))
                                {
                                    Store (0x01, \IOST)
                                    \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x60D0)
                                }
                            }
                            Else
                            {
                                \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5001)
                                If (LEqual (\PLUX, 0x00))
                                {
                                    If (VIGD)
                                    {
                                        /*
                                         * FORCE SLEEP
                                        */
                                        Notify (\_SB.LID, 0x80)
                                        Notify (\_SB.SLPB, 0x02)

                                  
                                  
                                        //\_SB.PCI0.IGPU.GLIS (0x00)
                                    }                                    Else
                                    {
                                        \_SB.PCI0.PEG.VID.VLOC (0x00)
                                    }

                                    Notify (\_SB.LID, 0x80)
                                  
                                    /*
                                     * FORCE SLEEP
                                     */
                                    Notify (\_SB.SLPB, 0x02)
                                }
                            }
                        }
                      
                     
                    }

btw @EsssBee thanks for your ALC292 kext. will try this driver soon to switch from voodooHDA, as there is a small but annoying bug i started noticing: when i plug out the headphones while the notebook is sleeping, it doesn't switch back to internal speakers after wake, unless i plug-in + plug-out the headphones again...
 
Status
Not open for further replies.
Back
Top