Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

Ph0rk0z
Copy link
Owner

@Ph0rk0z Ph0rk0z commented Feb 23, 2021

I think previously this was for the thinklight? 2 bits, shmoo bits, the driver wants 0x200 and the backlight level. Unfortunately this doesn't want to work on windows and I'm not sure why yet. Maybe something doesn't load or I need to throw the DLL in IDA and find out what is up. I have not worked out events yet.. perhaps windows operates on those more.

I think previously this was for the thinklight? 2 bits, shmoo bits, the driver wants 0x200 and the backlight level.  Unfortunately this doesn't want to work on windows and I'm not sure why yet. Maybe something doesn't load or I need to throw the DLL in IDA and find out what is up. I have not worked out events yet.. perhaps windows operates on those more.
I need to check the TP acpi driver and see hwo brightness setting of auto and manual work as well as the events, it currently doesn't work in windows for some reason either.
Still works fine on linux. Interstingly, the EC never has that extra 0x200 in EC ram that the driver expects, even on my x250.
@Ph0rk0z
Copy link
Owner Author

Ph0rk0z commented Mar 1, 2021

I think part of the problem with windows is that SMI is used to set the backlight and not the EC. The actual methods don't write to the EC when I looked at the DSDT from X250.

Method (KBLS, 2, NotSerialized)
    {
        Return (SMI (0x14, 0x09, Arg0, Arg1, 0x00))
    }

Method (MLCG, 1, NotSerialized)
                        {
                            Local0 = \KBLS (0x00, 0x00)
                            Return (Local0)
                        }

                        Method (MLCS, 1, NotSerialized)
                        {
                            Local0 = \KBLS (0x01, Arg0)
                            If (!(Local0 & 0x80000000))
                            {
                                If ((Arg0 & 0x00010000))
                                {
                                    \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6001)
                                }
                                ElseIf (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
                                {
                                    \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
                                }
                            }

                            Return (Local0)
                        }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant