Contribute
Register

[Guide] Lenovo T440s Clover UEFI

Status
Not open for further replies.
Hi guys,

i bought a T440s a month ago. After some long nights of reading and experimenting I’m really glad the mashine is now working really smoothly and nice. Thanks lot to this guide, the work of rehabman and the community. I'd like to add my mustard to this discussion (german proverb :p ), meaning i’d like to share my experience here. Before the T440s a had a first gen MBP, but software support for that ist now reasonable so i wand to give the t440s a try. I aim for uncomplicated daily use with the laptop (-:

System: Lenovo T440s
CPU: i5 4300U @ 1,90 GhZ
RAM: 2 x 4GB
Display: installed with the 1600x900 panel, and upgraded to AUO B140HAN1.2 FHD IPS Panel
HD: Samsung 256GB SSD
WIFI: Broadcom Model BCM94352Z 802.11a/b/g/n/ac 867Mbps Bluetooth 4.0 DW1560
BIOS: 2.36
OS: El captain 10.10.6

WORKING:
- USB 3.0
- WebCam
- Audio (VoodooHDA)
- Internal WIFI + BT 4.0 (BCM94352Z) (!!)
- HiDPI Mode (at 125% = 1512x850, 133% = 1440x810, 150% = 1280x720 and 175% = 1097x617)
- ACPI: Sleep, Shutdown, 2 Batteries (but a little buggy), Brightness Keys

NOT WORKING & NOT TESTED like in ludacrisvp’s starter post:
- Fingerprint Reader
- SD Card Reader
- VGA
- DisplayPort (not yet tested)
- Trackpoint (driver issue)

TODO:
- WWAN Ericsson NW5321 gw > Device is recognized, but the dial up fails. haven't tested it more intense yet, but possibly its only a minor tweak?!
- same for GPS. would love to use it. but at the moment i have no idea how to access it.. future project..

- - - Clover (Version 3811) Configs (did it with Clover Configurator)- - -
Base PLIST is rehabman’s config_HD4600_4400_4200.plist

Shutdown Fix:
- acpi > fix shutdown (had the restart-after-shutdown bug after installing USB 3.0)
- acpi > darkwake = no (not sure if really required, shutdownb fix #2)

Other Clover Fixes:
- kernel and kext patches > Enable 9MB cursor bytes, 0x0a260006
- kernel and kext patches > Enable TRIM for SSD
- kernel and kext patches > Boot graphics glitch, 10.10.x/10.11.x

SMBIOS:
- MacBookPro11,1
- added 2 MemoryStick @ Slot0 + Slot 1 running @ 1600Mhz

AutoBoot (style fix :p):
- Boot > DefaultBootVolume > Latest…
- Boot > Timeout = 0


- - - BIOS Version 2.36 - - -
I upgraded the BIOS with a Windows PE Stick to the BIOS 2.36 - this Version has a bug that the whitelist check for internal m.2 cards is NOT working. so you you don’t have to struggle with external bios flashing, you are free to install every wifi/BT Card you like. I did the BCM94352Z and its running gorgeous! Wifi/BT is activated/deactivating fast and reliable, coverage of the wifi card is also very nice.

The Laptop is running in UEFI only Mode.

- - - DSDT - - -
I extracted the DSDT via Clover after BIOS Update. Then i ran the basic platform patches pointed out in the starter post. Its the easiest way if you at rehabman’s repository to MaciASL. Like ludacrisvp i merged all -compileable- SSDT’s + the DDST into one file, so that the patches apply to all system files.

I added the ssdPRgen.sh script (CPU Powermanagment) generated SSDT right after the DDST.

Default Patches:
- Remove _DSM
- Replace Names (sourceforge)
- Remove WMI (sourceforge - run 3 times to remove all 3 WMI devices)

- Rename PCI0.VID to PCI0.IGPU

!! this fix did not work for me (compile errors) so i manually replaced all PCI0.VID with the PCI0.IGPU and also changed the device name of VID manually to IGPU !!

- Haswell HD4400/HD46000/HD5000
- battery lenovo X220 (remove lines to keep second battery before running)
- IRQ Fix
- SMBUS Fix
- AC Adapter Fix
- Add MCHC
- Fix _WAK Arg0 v2
- Fix PNOT/PPNT
- Add IMEI
- Haswell LPC
- Brightness fix (Haswell)
- 7-series / 8-series USB
- Insert DTGP (sourceforge)

I also added the
- OS Check Fix and the
- ARPT Device (Airport)
- LED Fix
- skipped the Fan Fix

- - - ACPI relted fixes - - -
The FN key fix especially the brightness keys didnt work for me, so i use this for manipulating the brigthness via keyboard:

Code:
 Method (_Q14, 0, NotSerialized)  // _Qxx: EC Query
            {
        Notify (KBD, 0x10)
            }

            Method (_Q15, 0, NotSerialized)  // _Qxx: EC Query
            {
        Notify (KBD, 0x20)
            }

For Sleep:

In the BIOS, i deactivated all the security stuff like pointed out in one of the general stuff guides by rehabman. After this, i got sleep to work with some minor tweaks in DSDT

To prevent the laptop from waking up directly after sleep, i removed
PCI0 - IGBE - PRW (thats the Powersetting for LAN)
PCI0 - XHC(I) - PRW (Powersetting for USB)

I added a Powerbutton to _SB, so that the laptop can be waked by the PowerButton:

Code:
/*
         * PowerButton
         */
        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))  // _HID: Hardware ID
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (Package (0x02)
                {
                    0x1E,
                    0x04
                })
            }
        }

USB 3.0:
I got USB 3.0 working with the USBInjectAll.kext by rehabman. Before that, i replaced all EHC1 (USB 2) instance with EH01, and XHCI to XHC as stated in some tutorial.


Other running custom kexts besides the one mentioned at the beginning:
- instead of the voodooPS2 i use the closed source SmartTouchpad PS2 driver. it’s heavily configurable without coding and in installed it in hope of multitouch (which doenst work properly on my setup in the current version). but scrolling and 3,4,5 finger click runs nice most of the time. i added the configfile for the touchpad
- instead of the appleHDA i use VoodooHDA which runs quite nice (except it doesnt load settings at startup)
- For wifi i run brcmPatchRAM2 & BrcmFirmwareRepo & FakePCIID_Broadcom_WiFi.kext

- - - Display - - -
On the FullHD panel it was really hard for me to work with, because all seems so tiny. So i tried to find a way to scale up the screen a bit without changing the resolution. i ended up using the HiDPI Mode for Retina Displays. For this i manipulated the Display Plist with this guide :
https://www.tonymacx86.com/threads/adding-using-hidpi-custom-resolutions.133254/ and the calculator at
resolution calculator at https://comsysto.github.io/Display-...or-with-HiDPI-Support-For-Scaled-Resolutions/

its required to overwrite the self-information of your display (EDID) and to add HiDPi Modes manually. I now run the laptop at roughly 125% = 1512x851 HiDPI which seems like a nice compromise in scaling and smoothness. on 1600x900 HiDPI the screen looks a bit blurry. I also noted, that the scaling mode draws more power, but it didnt seem to change battery time to bad.

I added my Overwrite File, but its probably only working with this revision = the AUO B140HAN1.2 panel.

For accessing the HiDPI resolution i use RDM: https://github.com/avibrazil/RDM

- - - Apple Store - - -
To use the apple store, i had to reset the ethernet so that LAN is en0 like stated in another tutorial by rehabman.

So far, i attached the configured SmartTouchpad.plist and the Display Overwrite File + an ioreg

Hope this adds a bit for the easiness of future installs. happy doing :D
 

Attachments

  • ApplePS2SmartTouchPad.kext_info.plist
    44.5 KB · Views: 269
  • Display EDID HDPI Overwrite for S:L:D Folder.zip
    2.4 KB · Views: 110
  • current_ioreg.ioreg
    2.3 MB · Views: 119
Last edited:
Gemuesekanal,

Thanks for the post, I have a T440s that is partially working (sound and sleep are big issues for me, but BlueTooth works for sound as a workaround). Another issue for me is not having any references to XHCI in any files, I have USB3 enabled in BIOS (2.32). Can you let me know what exactly you mean by merging DSDT/SSDT's into one file? All of my patches have been to DSDT, I did use ssdPRgen.sh to generate SSDT, and put that SSDT along with the patched DSDT and any other SSDT files (from F4 in Clover boot menu) into my EFI/Clover/ACPI folder.
Anyway, I am now inspired to start all over again, and update the BIOS to 2.36 first (currently using a USB WiFi dongle).
 
Another issue for me is not having any references to XHCI in any files, I have USB3 enabled in BIOS (2.32). Can you let me know what exactly you mean by merging DSDT/SSDT's into one file? All of my patches have been to DSDT, I did use ssdPRgen.sh to generate SSDT, and put that SSDT along with the patched DSDT and any other SSDT files (from F4 in Clover boot menu) into my EFI/Clover/ACPI folder.

mhh, i struggled with the sleep quite a while, too. in fact it took me over a week.. after all for me, i didnt need to fix much of the dsdt, it was mostly about deactivating stuff in the bios.. and then fixing the the immediately wake up caused by the ethernet. for the sound i was lazy and so did the voodooHDA as first try without any dsdt fixes and it worked...
i extracted the DSDTs from clover as well und then copied the content into one file = DSDT.sdl. i had some compile errors. so i deleted the ssdt's which had such errors... maybe not the best way, but it worked for me.
Sounds like your dsdt is a bit different. the XHCI Device is listed as a child of PCI0. did you try to look for "XHC" only? i had about 100 occurences when i searched for XHCI...
 
mhh, i struggled with the sleep quite a while, too. in fact it took me over a week.. after all for me, i didnt need to fix much of the dsdt, it was mostly about deactivating stuff in the bios.. and then fixing the the immediately wake up caused by the ethernet. for the sound i was lazy and so did the voodooHDA as first try without any dsdt fixes and it worked...
i extracted the DSDTs from clover as well und then copied the content into one file = DSDT.sdl. i had some compile errors. so i deleted the ssdt's which had such errors... maybe not the best way, but it worked for me.
Sounds like your dsdt is a bit different. the XHCI Device is listed as a child of PCI0. did you try to look for "XHC" only? i had about 100 occurences when i searched for XHCI...

Hi,

I was able to find XHCI it, I had incorrectly renamed it previously. I have now named it as XHC and did the USB sleep changes you mentioned and sleep now works again, thanks! For some reason, the BlueTooth part of my Intel 7260 Wifi/BT card does work perfectly, I use headphones with it. Can you tell me where you bought your replacement WiFi card, I would like to not use USB WiFi?
The big issue for me is getting sound to work. I have done the ALC292 DSDT edit (with layout id 1), I have the 3 items for ALC292 in config.plist and am loading an AppleHDA ALC292 kext that I believe is correctly patched for layout id and codec id. But I do not get sound, even if I remove the kext and use voodoohda latest version. Wondering if you can attach your config.plist so I can examine it for differences? thanks.
 
Can you tell me where you bought your replacement WiFi card, I would like to not use USB WiFi?

While I didn't order mine from eBay this is the card you want.
Dell Wireless DW1560 Broadcom BCM94352Z M.2 NGFF WIFI Card 6XRYC

http://www.ebay.com/itm/Dell-Wirele...94352Z-M-2-NGFF-WIFI-Card-6XRYC-/131768554927

Also be sure you are on the correct EFI BIOS version before you swap cards or you wont be able to get past the error message for an invalid network card (until you remove the card and update to correct BIOS).

Make sure you are using BIOS v2.36 .. no earlier or later (if later you may not be able to downgrade to it).
Support models: ThinkPad T440, T440s
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/gjuj23us.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/gjuj23us.txt
 
Make sure you are using BIOS v2.36 .. no earlier or later (if later you may not be able to downgrade to it).
Support models: ThinkPad T440, T440s
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/gjuj23us.exe
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/gjuj23us.txt

Thanks Ludacrisvp, I have the update already and was going to apply it soon, and look for the replacement card soon. Hoping someone can assist with figuring out why I dont have audio.
 
I was curious about the bios situation - i have a T440s with 2.36 bios - but there are newer versions of the bios. does anyone know if the newer bios versions be ok for broadcom wifi replacement?
 
For some reason, the BlueTooth part of my Intel 7260 Wifi/BT card does work perfectly, I use headphones with it. Can you tell me where you bought your replacement WiFi card, I would like to not use USB WiFi?

nice! my intel card bluetooth was working very unstable, too.

The big issue for me is getting sound to work. I have done the ALC292 DSDT edit (with layout id 1), I have the 3 items for ALC292 in config.plist and am loading an AppleHDA ALC292 kext that I believe is correctly patched for layout id and codec id. But I do not get sound, even if I remove the kext and use voodoohda latest version. Wondering if you can attach your config.plist so I can examine it for differences? thanks.

i think i didn't do any sound related DSDT or Clover fixes. i'm not using the original appleHDA kext but the VoodooHDA Driver. didn't had to do any config.plist edits for the kext... not sure about the disadvantages of the voodooHda, but on my machine the basics i tested are running quite well: all inputs/outputs recognized, microphone working, internal speaker, bluetooth audio etc.. input jack/dp audio out not tested yet..

I was curious about the bios situation - i have a T440s with 2.36 bios - but there are newer versions of the bios. does anyone know if the newer bios versions be ok for broadcom wifi replacement?

its a bug and its fixed in later versions of the bios... https://www.bios-mods.com/forum/Thr...0s-allows-to-use-an-unauthorized-Wi-Fi-module
 
Last edited:
I have finally got sound going, with AppleHDA_ALC292.kext. Turns out, after much troubleshooting, that I had to do the fix described here: https://www.tonymacx86.com/threads/fix-10-11-4-broken-audio-with-applehda-injector-dummyhda.188853/
Also, to fix sound disappearing after sleep, I used CodecCommander, which has ALC292 support built in. My issues with VoodooHDA was that it would randomly not load every couple of days, requiring cache rebuild/reboot. So far what I am using is working perfectly, even after about 20 reboots, and lots of sleep/wake cycles. Audio is nice and sound on internal speakers and wired headphones.

I need to get the DisplayPort (and maybe audio with DP) working, not sure if anyone has that going OK on a T440s? Right now connecting DP blanks out the LCD display, no display on the external monitor and I have to reboot to get the LCD working again.

So for me whats working now:

Sleep, including via the Lid closing (and wakes up when lid is opened)
LED on lid flashing when sleeping
Display - Fully accelerated
Battery (but kind of flaky in displaying % remaining due to having dual batteries)
Built-In Ethernet
Function Keys
Brightness (can change using Fn F5/F6)
Sound, including after Sleep (Fn F2/F3 to change volume). This includes the microphone and headphone ports.
Wifi - with USB dongle for now, working on getting a supported NGFF card, BIOS at 2.36 to be ready for this.
Bluetooth - Works with the Intel AC7260 card for now, doesn't always load on each boot, but cache rebuild/reboot brings it back again. Will get replaced as NGFF wifi card will have BT with it.
Camera - A bit dark and grainy in FaceTime, but is perfect in Skype.

Not working:

Don't Care: Card Reader - Not supported, never use one, have it disabled in BIOS anyway..
Don't Care: VGA output - hasn't been supported on Mac in a long time, don't use it anyway.
DisplayPort output - just starting to think about this one, seems not many people use it.

This is a great thread, thanks to all involved.
 
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.

thanks
 
Last edited:
Status
Not open for further replies.
Back
Top