Contribute
Register

[Guide] Lenovo ThinkPad T440S [OpenCore 0.6.7]

Status
Not open for further replies.
dw1820 wifi: to get reliable wake up from sleep, I have to set "pci-aspm-default = 0"

I patch it in Clover with this, and it works:
XML:
                        <key>PciRoot(0)/Pci(0x1c,0x01)/Pci(0x0,0x0)</key>
                        <dict>
                                <key>pci-aspm-default</key>
                                <integer>0</integer>
                        </dict>
View attachment 469476

Porting it over to OpenCore is much more challenging than I expected ... I've tried this:
XML:
                        <key>PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)</key>
                        <dict>
                                <key>brcmfx-country</key>
                                <string>#a</string>
                                <key>brcmfx-driver</key>
                                <integer>1</integer>
                                <key>pci-aspm-default</key>
                                <data>
                                AAA=
                                </data>
                        </dict>
That's a 2 byte data field of 0x0000. It doesn't work like the clover config, and I end up with ASPM still enabled. I've tried 1 byte 0x00, and Integer of 0, because maybe it's a data type thing? None of the values sticks.

So I decided I'd clobber this field for other pci devices to see if I was just doing it wrong. I added an <integer>0</integer> to everything that has ASPM enabled. I get this outcome:
View attachment 469480

Opencore debug logging says they all succeed:
Code:
09:234 00:002 OC: Setting devprop PciRoot(0x0)/Pci(0x1C,0x0):pci-aspm-default - Success
09:237 00:003 OC: Setting devprop PciRoot(0x0)/Pci(0x1C,0x0)/Pci(0x0,0x0):pci-aspm-default - Success
09:239 00:002 OC: Setting devprop PciRoot(0x0)/Pci(0x1C,0x1):pci-aspm-default - Success
09:241 00:002 OC: Setting devprop PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0):brcmfx-country - Success
09:243 00:002 OC: Setting devprop PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0):brcmfx-driver - Success
09:246 00:002 OC: Setting devprop PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0):pci-aspm-default - Success

So something is coming along after Opencore and re-enabling ASPM, or the "success" is a lie, or something else?

Obvious google searches are failing me. Anybody want to give me a hint? ;)
Im aware of this issue which i faced myself during testing on my DW1820A but mine is CN-096JNT model, mine only works with brcmfx-driver 1 property, no need for ASPM disable, no issue during installer, no kernel panics, even Continuity seems to work like with original Apple Card, will have to test the Instant Hotspot.
Which model do you have ?
So about ASPM there was an issue listed on Acidanthera Bugtracker somewhere, i will link it later if i can find it.
I am having a strange problem with the audio.

I woke up the Thinkpad from sleep and started a video playback in the IINA app on built in speakers. There was no audio. I had to switch the audio device to Line out (was Internal speakers) and back to Internal speakers to get the sound working.

After a few minutes the audio dropped out. I had to switch it again to Line out and back to internal speakers. Then it worked OK for the 20 minutes I needed it.

Anyone with similar experience? I wonder what what the problem might be. I did not connect the audio jack at any point.
I will upload a patched kext for this, the MacPeet Audio patch doesn't have WakeConfigData therefore there are issues after wake from sleep which i will fix them soon.
 
There is a problem with Airdrop because my bluetooth is broken o.0 (just under OpenCore)
 
There is a problem with Airdrop because my bluetooth is broken o.0 (just under OpenCore)

To me it also seems like there is some BT change with OpenCore. Using Clover I was able to use https://github.com/zxystd/IntelBluetoothFirmware to get the built-in Intel BT (I have not changed the WiFi+BT card, just using usb WiFi for now) to work but with OpenCore it never finds any device.
 
Im aware of this issue which i faced myself during testing on my DW1820A but mine is CN-096JNT model, mine only works with brcmfx-driver 1 property, no need for ASPM disable, no issue during installer, no kernel panics, even Continuity seems to work like with original Apple Card, will have to test the Instant Hotspot.
Which model do you have ?
So about ASPM there was an issue listed on Acidanthera Bugtracker somewhere, i will link it later if i can find it.
I have a CN-0VW3T3. It worked fine with only brcmfx-driver=1 for many months. When I updated to OSX 10.15.4, waking from sleep started to hang. I eventually tracked it to the wifi card, and then found the aspm disable that cures it.

I tried Opencore in the middle of it all, figuring a fresh start might help... and oddly enough I can only get the aspm-disable to work with Clover :)
 
Last edited:
Looks like we have to add the option: FixHPET but i can't fix me DSDT.aml with SSDTTime.
It didn't find HPET in my .aml file.

Edit:
I build my own SSDT-HPET.aml add all the options in the Plist Editor but Bluetooth doesn't work. :(
 
Last edited:
I tried Opencore in the middle of it all, figuring a fresh start might help... and oddly enough I can only get the aspm-disable to work with Clover :)
Trying to track this down some more, I put my laptop to sleep and it wouldn’t wake up. I held down the power button to hard power cycle. It turns on, slight speaker click, power LED on the button on, keyboard backlight comes on full, then dims. The screen remains black. It stays on like this for 60 seconds, then shuts off.

I tried all the internet lore disconnecting batteries, cmos battery, etc. No bios screen. I removed the extra memory, all disks, WiFi card, then do the battery dance. Still no bios screen.

I assumed the motherboard was hosed. Time to move on.

So I found a used t440s in the local classifieds. It’s in better physical shape than mine (sadly I couldn’t find an i7 to upgrade to). I swapped my hardware upgrades over and it runs just fine.

A couple of days pass, so I take a crack at poking at aspm-disable again. I lock up the laptop after sleep, hard reboot, and now I have two broken t440s.

Instead of picking up a third, maybe I can resurrect these two. Anybody have any pro tips?

My only guess is that something is putting garbage into the bios or nvram... so maybe picking up a bios programmer and flashing the bios might un**** things.
 
On the bottom cover opposite the touchpad there is a small hole. Below it is a reset button.
 
On the bottom cover opposite the touchpad there is a small hole. Below it is a reset button.
I've spent a lot of times pushing that button, alone and in combination with other things. It seems to have no effect in my case. Thanks for the suggestion :)
 
I've spent a lot of times pushing that button, alone and in combination with other things. It seems to have no effect in my case. Thanks for the suggestion :)
Hmm, use a CH341A flash programmer + SOIC8 test clip to erase and flash clean bios.bin
It's a BIOS / Firmware corruption with that ASPM.

Instead try to tape the pin for aspm on the card physically until a solution comes out for that.
 
Hmm, use a CH341A flash programmer + SOIC8 test clip to erase and flash clean bios.bin
It's a BIOS / Firmware corruption with that ASPM.

Instead try to tape the pin for aspm on the card physically until a solution comes out for that.
That was my plan of last resort. A programmer and cable are ordered and should come tomorrow. If it solves the issue, I may as well attempt to mod the bios to disable APM :)
 
Status
Not open for further replies.
Back
Top