Contribute
Register

[Guide] Lenovo Thinkpad T440S using Clover UEFI hotpatch

Sniki

Moderator
Joined
Jan 5, 2016
Messages
2,316
Motherboard
HP Elite 8300 SFF
CPU
i7-3770
Graphics
HD 3000 | GTX 1650 LP
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
I haven't yet tried the updated files from the most recent github push, but, when I start Photo Booth, it says that there is no connected camera. When I start Google Hangouts, it tells me that there's something wrong with my camera. Am I missing some special sauce?
A regression from my side, i uploaded wrong SSDT-LED and compiled SSDT-T440S.aml with the wrong SSDT-LED, WAK ends up not being called at all so if laptop sleeps, when you wake it, half of the things do not wake at all, no audio, some usb ports etc.

Will upload the fixes tonight.
 
Joined
Sep 5, 2011
Messages
526
Motherboard
Lenovo T440s
CPU
i5-4200u
Graphics
HD4400
Thank you for the feedback,

Even as they were before the patches were not good enough but in this case they do cause trouble as they are.

I will add the correct ones in a bit more cleaner way.
Also the SSDT-LED that i uploaded is incorrect, so there were some regressions by my side.
The WAK is not being called at all with the new SSDT-LED as i was tired when i uploaded and i uploaded the wrong one while doing the testing.

I will upload the new one later but can you guys do me a favor and test if glitches appear by only adding these properties into IGPU (remove all the old ones):
Let me know how these properties work

Update: Don't add the framebuffer-stolenmem
I should be able to test those later today or tomorrow. What changes do I need to make to SSDT-LED? Thanks again!

EDIT: Just saw your post above regarding the fixes being uploaded tonight. I'll just wait for those!
 

Sniki

Moderator
Joined
Jan 5, 2016
Messages
2,316
Motherboard
HP Elite 8300 SFF
CPU
i7-3770
Graphics
HD 3000 | GTX 1650 LP
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
I should be able to test those later today or tomorrow. What changes do I need to make to SSDT-LED? Thanks again!

EDIT: Just saw your post above regarding the fixes being uploaded tonight. I'll just wait for those!
I hope i can keep my promise ,
Apple Keynote as soon as i get home and if Catalina comes out tonight as well, then it's definitely going to be postponed.

Here is the correct SSDT-LED for you:
Code:
// Fix LED blink after wake from sleep for Lenovo Thinkpads:
// X240, T440, T440P, T440S, T540P, L450, etc
// Credits: Rehabman, vit9696, Sniki

DefinitionBlock("", "SSDT", 2, "Sniki", "_LED", 0)
{
    External(ZWAK, MethodObj)
    External(_SI._SST, MethodObj)
    // In DSDT, native _WAK is renamed ZWAK
    // As a result, calls to this method land here.
    Method(_WAK, 1)
    {
        If ((Arg0 = 3))
        {
            \_SI._SST(One)
        }
        // call into original _WAK method
        Return (ZWAK(Arg0))
    }
}
You shouldn't have any problems with this.
 

QCO

Joined
May 31, 2019
Messages
20
Motherboard
Thinkpad T440s
CPU
i7-4600U
Graphics
HD4400
Is the i3, i5, or i7 Mojave Lenovo t440s any good for video editing, photoshop and audio recording?
:rolleyes: It's a six year old Ultrabook with max. 12 GB RAM. You'll get, what you pay for.

Speaking of RAM, @Sniki: There is still a little flaw in your build. MacOS shows in different places that there are 16 GB of RAM although to my knowledge the upper limit is 12, as there is 4 GB soldered in and a slot that can take up to 8 GB.
 

Sniki

Moderator
Joined
Jan 5, 2016
Messages
2,316
Motherboard
HP Elite 8300 SFF
CPU
i7-3770
Graphics
HD 3000 | GTX 1650 LP
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Speaking of RAM, @Sniki: There is still a little flaw in your build. MacOS shows in different places that there are 16 GB of RAM although to my knowledge the upper limit is 12, as there is 4 GB soldered in and a slot that can take up to 8 GB.
That's supposed to be a problem of the user side.
When you generate your own SMBIOS values you are supposed to set Trust=Yes into config.plist /SMBIOS in order to have correct reporting.
 
Joined
Sep 5, 2011
Messages
526
Motherboard
Lenovo T440s
CPU
i5-4200u
Graphics
HD4400
That's supposed to be a problem of the user side.
When you generate your own SMBIOS values you are supposed to set Trust=Yes into config.plist /SMBIOS in order to have correct reporting.
Yep, that's how I do it and mine reports 12GB. I even grabbed the serial numbers off of mine and added them to my SMBIOS :)

EDIT: @Sniki I applied both the frame buffer changes as well as the SSDT-LED changes and everything seems good on my end. I'll report back if I notice anything weird, but the graphical glitches which were easily reproducible are not occurring.
 
Last edited:
Joined
Jul 17, 2019
Messages
31
Motherboard
Lenovo T440s
CPU
i7-4600U
Graphics
HD 4400
Speaking of RAM, @Sniki: There is still a little flaw in your build. MacOS shows in different places that there are 16 GB of RAM although to my knowledge the upper limit is 12, as there is 4 GB soldered in and a slot that can take up to 8 GB.
As @Sniki and @CoBrA2168 mention you have to config in SMBIOS and it's fine. I was a little surprised by this, as Linux and Windows 10 both knew there was only 12GB when I added the new memory without any memory listed in SMBIOS.

EDIT: @Sniki I applied both the frame buffer changes as well as the SSDT-LED changes and everything seems good on my end. I'll report back if I notice anything weird, but the graphical glitches which were easily reproducible are not occurring.
Same report here. Frame buffer is happy with the config you pasted, and SSDT-LED changes seem good across sleep and wake up.
 

QCO

Joined
May 31, 2019
Messages
20
Motherboard
Thinkpad T440s
CPU
i7-4600U
Graphics
HD4400
Okay, I still have problems with the WLAN. I now have a BCM94360CS2 with adapter installed and no kexts with regard to Wifi or Bluetooth. BT works quite well, but Wifi just crashes.

In Wifi.log:
Code:
Wed Sep 11 15:49:37.006 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:49:37.006 <kernel> wl0: leaveModulePoweredForOffloads: Wi-Fi will stay on.
Wed Sep 11 15:49:37.006 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:49:38.502 <kernel> AirPort_Brcm43xx::platformWoWEnable: WWEN[disable], in_fatal_err[0]
Wed Sep 11 15:49:39.917 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:49:41.979 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:49:51.209 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:49:53.272 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:49:58.636 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:49:58.978 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:50:04.676 <kernel> IO80211VirtualInterface::controllerWillChangePowerState : Bringing down link
Wed Sep 11 15:50:04.676 <kernel> IO80211VirtualInterface::handleSIOCSIFFLAGS : Source controllerWillChangePowerState calling peerManager->disable
Wed Sep 11 15:50:04.676 <kernel> IO80211VirtualInterface::controllerWillChangePowerState : Bringing down link
Wed Sep 11 15:50:04.676 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:50:04.676 <airportd[153]> _bsd_80211_event_callback: <en1> Failed to set Per Chain Power Setting <Operation not supported>
Wed Sep 11 15:50:06.756 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:50:15.985 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:50:16.287 <kernel> Setting BTCoex Profile: band:8
Wed Sep 11 15:50:16.288 <kernel> Profile[0]: mode:7; desense:0; desense_level:0; chain_power_offset:<kernel> 0,<kernel> 0,<kernel> 0,<kernel> 0,<kernel>
Wed Sep 11 15:50:16.288 <kernel> Profile[1]: mode:7; desense:0; desense_level:0; chain_power_offset:<kernel> 0,<kernel> 0,<kernel> 0,<kernel> 0,<kernel>
Wed Sep 11 15:50:16.288 <kernel> Profile[2]: mode:7; desense:1; desense_level:3; chain_power_offset:<kernel> 0,<kernel> 0,<kernel> 0,<kernel> 0,<kernel>
Wed Sep 11 15:50:18.044 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:50:27.276 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
 

Attachments

  • debug_5490.zip
    2.2 MB · Views: 54

Sniki

Moderator
Joined
Jan 5, 2016
Messages
2,316
Motherboard
HP Elite 8300 SFF
CPU
i7-3770
Graphics
HD 3000 | GTX 1650 LP
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
As @Sniki and @CoBrA2168 mention you have to config in SMBIOS and it's fine. I was a little surprised by this, as Linux and Windows 10 both knew there was only 12GB when I added the new memory without any memory listed in SMBIOS.


Same report here. Frame buffer is happy with the config you pasted, and SSDT-LED changes seem good across sleep and wake up.
Thank you guys for confirming this.
I finished the last cleanup and uploading the final changes in a few minutes.
At this point the cleanup is so big that now we only have 5 SSDTs in total which i wonder whether i should build SSDT-T440S.aml or let everyone save .dsl files as .aml and place them on patched folder.

Two things to consider are:
1. Only reason i would do this is for the sake of maintenance burden.
2. Question myself if this will bring more trouble and problem reporting by users saying XYZ is not working and the reason is they:
A) Place the .dsl files on patched folder as they are and not save them as .aml
B) Don't know how to save .dsl files as .aml
C) They forget to place one of the SSDTs

So i think it should be better to build SSDT-T440S.aml

At this point now the setup is as clean as it can possibly get therefore i don't except any big update at all.
The only possibilities that may come up are:
- When VoodooPS2 from Acidanthera is fully ready and at that point i will need to adjust SSDT-KBD to get the perfect setup for touchpads using that kext.
- After patching ALC3232 audio codec with Dock Support and in case the two extra nodes need fixes on SSDT-ALC3232

At that point a final update may come up as from now on i will start working on OpenCore.

Okay, I still have problems with the WLAN. I now have a BCM94360CS2 with adapter installed and no kexts with regard to Wifi or Bluetooth. BT works quite well, but Wifi just crashes.

In Wifi.log:
Code:
Wed Sep 11 15:49:37.006 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:49:37.006 <kernel> wl0: leaveModulePoweredForOffloads: Wi-Fi will stay on.
Wed Sep 11 15:49:37.006 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:49:38.502 <kernel> AirPort_Brcm43xx::platformWoWEnable: WWEN[disable], in_fatal_err[0]
Wed Sep 11 15:49:39.917 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:49:41.979 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:49:51.209 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:49:53.272 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:49:58.636 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:49:58.978 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:50:04.676 <kernel> IO80211VirtualInterface::controllerWillChangePowerState : Bringing down link
Wed Sep 11 15:50:04.676 <kernel> IO80211VirtualInterface::handleSIOCSIFFLAGS : Source controllerWillChangePowerState calling peerManager->disable
Wed Sep 11 15:50:04.676 <kernel> IO80211VirtualInterface::controllerWillChangePowerState : Bringing down link
Wed Sep 11 15:50:04.676 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:50:04.676 <airportd[153]> _bsd_80211_event_callback: <en1> Failed to set Per Chain Power Setting <Operation not supported>
Wed Sep 11 15:50:06.756 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:50:15.985 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Wed Sep 11 15:50:16.287 <kernel> Setting BTCoex Profile: band:8
Wed Sep 11 15:50:16.288 <kernel> Profile[0]: mode:7; desense:0; desense_level:0; chain_power_offset:<kernel> 0,<kernel> 0,<kernel> 0,<kernel> 0,<kernel>
Wed Sep 11 15:50:16.288 <kernel> Profile[1]: mode:7; desense:0; desense_level:0; chain_power_offset:<kernel> 0,<kernel> 0,<kernel> 0,<kernel> 0,<kernel>
Wed Sep 11 15:50:16.288 <kernel> Profile[2]: mode:7; desense:1; desense_level:3; chain_power_offset:<kernel> 0,<kernel> 0,<kernel> 0,<kernel> 0,<kernel>
Wed Sep 11 15:50:18.044 <kernel> IO80211AssociationJoinSnapshot::captureRequestCallback Problem reported from corecapture
Wed Sep 11 15:50:27.276 <kernel> AirPort_Brcm43xx::syncPowerState: WWEN[disabled]
Try the latest files (config.plist & SSDT-T440S.aml) and reboot.
If that doesn't fix your problem, try adding AirportBrcmFixup.kext and see if it fixes your problems.
 
Last edited:
Top