Contribute
Register

Lenovo T460s - El Capitan

Status
Not open for further replies.
@loppol
i didn't know there was an ALC293 solution for AppleHDA! so i converted one i found for ALC292 to work yesterday.

on the sleep, my box would sleep with button push. but not when lid closed.
lid would wake it find. there was an blinking LED after wake issue that need fixing.

the method Q2B is for closing lid, Q2A is for opening. on my T420, lid would wake but screen was still black. I need to add a fix to notify lid after wake and then gfx would wake up. but i think i did it _WAK for the T420.

here what using: EFI, kexts, and DSDT mod stuff in the attached zip.

@nabisco - can you post the same?! i would like to see how you are configuring things and getting SkyLake to work.

for blanking issue I think you can directly find the solution from here:https://github.com/shmilee/T450-Hackintosh/blob/master/DSDT/patch-files/2_led_blink.txt

for wake up from lid sleep could you share some insights of what you did on T420?

also, after I looked at your draft folder, are you currently using the SSDT-XHC-T460.aml?
for dsm method, if you inject codes block to dsdt like what you did on the ssdt, some errors is encountered.
for the new method that pike is using for usb, I asked pike for my dsdt which is very similar to yours, and he said this is the one that won't work.
 
@nabisco - thanks for the info. can you post your config.plist ? and your final dsdtf for comparison?
- on sound what did you have to do besides install the AppleHDA_ALC293.kext?

@loppol -
blinking - yup. i had to fix blinking on my t420 the same way like 3 years ago. shmilee's stuff for the T450 is awesome. used a lot for the T460.

wake with black screen - timeWalker figured this out for his T420s and it worked on the T420
in device _WAK
in the section for Arg0 = 0x03 (full wake)
added
Notify (\SB.LID, 0x80)

USB - yes using SSDT-XHC-T460.aml (below) - what are the errors? i think I am using the Pike UMAP methods?
i inject some basic properties?
what should it look like?


DefinitionBlock("", "SSDT", 2, "hack", "XHC", 0)
{
External(_SB.PCI0.XHC, DeviceObj)

// inject properties for XHCI
Method(_SB.PCI0.XHC._DSM, 4)
{
If (!Arg2) { Return (Buffer() { 0x03 } ) }
Local0 = Package()
{
"RM,pr2-force", Buffer() { 0, 0, 0, 0 },
"subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },
"subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },
"AAPL,current-available", Buffer() { 0x34, 0x08, 0, 0 },
"AAPL,current-extra", Buffer() { 0x98, 0x08, 0, 0, },
"AAPL,current-extra-in-sleep", Buffer() { 0x40, 0x06, 0, 0, },
"AAPL,max-port-current-in-sleep", Buffer() { 0x34, 0x08, 0, 0 },
}
Return(Local0)
}

// set UMAP (Pike)
External (\UMAP, IntObj)
Scope (\_SB)
{
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store ("Method \\_SB._INI Called", Debug)
Store (0xf2ff, \UMAP)
}
}
}
 
Last edited:
@nabisco - thanks for the info. can you post your config.plist ? and your final dsdtf for comparison?
- on sound what did you have to do besides install the AppleHDA_ALC293.kext?

My config.plist and dsdt attached. Please note that it's still work-in-progress, my hack is still not sleeping/waking properly.

For sound, just a couple of config.plist entries, I saw you have it in yours too. Was looking at your patches, did you manage to get all the Fn keys working?
 
Last edited:
@nabisco - thanks for the info. can you post your config.plist ? and your final dsdtf for comparison?
- on sound what did you have to do besides install the AppleHDA_ALC293.kext?

@loppol -
blinking - yup. i had to fix blinking on my t420 the same way like 3 years ago. shmilee's stuff for the T450 is awesome. used a lot for the T460.

wake with black screen - timeWalker figured this out for his T420s and it worked on the T420
in device _WAK
in the section for Arg0 = 0x03 (full wake)
added
Notify (\SB.LID, 0x80)

USB - yes using SSDT-XHC-T460.aml (below) - what are the errors? i think I am using the Pike UMAP methods?
i inject some basic properties?
what should it look like?


DefinitionBlock("", "SSDT", 2, "hack", "XHC", 0)
{
External(_SB.PCI0.XHC, DeviceObj)

// inject properties for XHCI
Method(_SB.PCI0.XHC._DSM, 4)
{
If (!Arg2) { Return (Buffer() { 0x03 } ) }
Local0 = Package()
{
"RM,pr2-force", Buffer() { 0, 0, 0, 0 },
"subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },
"subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },
"AAPL,current-available", Buffer() { 0x34, 0x08, 0, 0 },
"AAPL,current-extra", Buffer() { 0x98, 0x08, 0, 0, },
"AAPL,current-extra-in-sleep", Buffer() { 0x40, 0x06, 0, 0, },
"AAPL,max-port-current-in-sleep", Buffer() { 0x34, 0x08, 0, 0 },
}
Return(Local0)
}

// set UMAP (Pike)
External (\UMAP, IntObj)
Scope (\_SB)
{
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store ("Method \\_SB._INI Called", Debug)
Store (0xf2ff, \UMAP)
}
}
}

if you replace XHCI to XHC on your original_dsdt.dsl
Code:
find . -type f -name 'origin_DSDT.dsl' -exec sed -i '' 's/XHCI/XHC/g' {} +

and then patch your origin_DSDT.dsl :

Code:
# Insert Apple USB properties into USB 3.0 XHC
into method label _DSM parent_adr 0x00140000 remove_entry;
into device name_adr 0x00140000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n
        "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n
        "AAPL,current-available", 2100,\n
        "AAPL,current-extra", 2200,\n
        "AAPL,current-extra-in-sleep", 1600,\n
        "AAPL,device-internal", 0x02,\n
        "AAPL,max-port-current-in-sleep", 2100,\n
    })\n
}\n
end;

you will see the errors.

also for our dsdt , the variable umap is not existed and instead, we have upcp, you can see more info here https://pikeralpha.wordpress.com/2016/07/13/simple-skylake-usb-fix-no-kexts-required/#comments

as what xinyu replied.

by the way, i'm very curious about how did you get all the variable names for the sensors(such as fun,cpu and etc) on EC code block?

I tried to use AIDA to debug sensors' info from EC but it's failed to report names...
 
Last edited:
@tluck
this seems working for me on lid sleep/wake up

#2_system_Q2B.txt
# _Q2B - enable LID Sleep
into method label _Q2B code_regex ([\s\S]*) replace_matched
begin
// this method is for lid close\n
Notify (\\_SB.SLPB, 0x02)\n
\\VCMS (0x01, \\_SB.LID._LID ())\n
Notify (\\_SB.LID, 0x80)\n
end;

into method label _Q2A code_regex ([\s\S]*) replace_matched
begin
// this method is for lid open\n
Notify (\\_SB.SLPB, 0x02)\n
\\VCMS (0x01, \\_SB.LID._LID ())\n
Notify (\\_SB.LID, 0x80)\n
end;
 
@loppol - i will look at the Pike USB method some more. i had forgot to include the USB Injector kext - and the T460 specific SSDT-USB port definitions i created which defines things - which seems to work fine - no errors in log file. thanks!!! may stay with this technique for now.

on my system i did not have to mess with the lid open. glad it was an easy fix for you.
now if i cold only get my gfx sorted. will try to work on that some more later.

yeah i just added 2 EC variables to look at for now. FAN Spee and CPU TEMP (which shows as Heatsink?) anyway yeah the fakesmc plug in for CPU seemed to hang. the ACPI plugin needs some looking at as i am seeing an error about unknown cpu 0x4e or something like that. so i need see about that.

thanks a lot for your input.
 
now if i cold only get my gfx sorted. will try to work on that some more later.

@tluck, I think I have the essentials working on my T460s, thanks for your help.

I used mostly Rehabman's laptop patches plus what you shared. For graphics, I included SSDT-0 (captured using Clover F4, renamed GFX0->IGPU) in my list of SSDTs in Clover, not sure if that can help... Anyway I've attached my latest DSDT and config.plist for your reference.
 

Attachments

  • config_dsdt.zip
    1.2 MB · Views: 107
Last edited:
@loppol - i will look at the Pike USB method some more. i had forgot to include the USB Injector kext - and the T460 specific SSDT-USB port definitions i created which defines things - which seems to work fine - no errors in log file. thanks!!! may stay with this technique for now.

on my system i did not have to mess with the lid open. glad it was an easy fix for you.
now if i cold only get my gfx sorted. will try to work on that some more later.

yeah i just added 2 EC variables to look at for now. FAN Spee and CPU TEMP (which shows as Heatsink?) anyway yeah the fakesmc plug in for CPU seemed to hang. the ACPI plugin needs some looking at as i am seeing an error about unknown cpu 0x4e or something like that. so i need see about that.

thanks a lot for your input.

one thing is weird that the fan speed is not shown every time on hwmonitor or istats, it seems that it's shown only when i chooce to boot without cache option(on clover menu). even i manually rebuild caches before reboot overtime.
 
i saw similar a thing - but i just think the fan speed is zero. i also fixed the CPUPlugin for skylake and it recognizes my CPU now. and i get CPU info too. i can post this out if interested. i have had no success on getting IntelAcceletor for full gfx.

another friend said that a dell with skylake shows the same thing - IntelAccelerator just wedges. my display is like that dell. It is eDP connected vs LVDS. i verified it is eDP by running xrandr on ubuntu.

anyway, it works mostly. some weirdness with external displays. and the Maps don't work for me.
 
i saw similar a thing - but i just think the fan speed is zero. i also fixed the CPUPlugin for skylake and it recognizes my CPU now. and i get CPU info too. i can post this out if interested. i have had no success on getting IntelAcceletor for full gfx.

another friend said that a dell with skylake shows the same thing - IntelAccelerator just wedges. my display is like that dell. It is eDP connected vs LVDS. i verified it is eDP by running xrandr on ubuntu.

anyway, it works mostly. some weirdness with external displays. and the Maps don't work for me.

Hi truck, I'm very interested :lol: and please post it.
what do you mean by 'no success on getting IntelAcceletor for full gfx' . it seems that I don't have that problem for my display.
Screen Shot 2016-07-29 at 10.31.53 AM.png

thanks a lot:clap:
 
Status
Not open for further replies.
Back
Top