Jump to content

redracer68

Members
  • Content Count

    10
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by redracer68


  1. SUCCESS!

     

    Over the past two weeks I have nearly gone insane and I've also learned more than I expected.

     

    Following parts of Felix Chan and Mnorthern's conversation on insanelymac, as well as a dozens of other places I've done the following to my DSDT.

     

    First, I added the following operation region's just above _SB, this gives _WAK the proper things to reference for backlight.

    OperationRegion (BRIT, SystemMemory, 0xF2048254, 0x04)
        Field (BRIT, AnyAcc, Lock, Preserve)
        {
            LEVL,   32
        }
    
        OperationRegion (BRI2, SystemMemory, 0xF2048250, 0x04)
        Field (BRI2, AnyAcc, Lock, Preserve)
        {
            LEV2,   32
        }
    
        OperationRegion (BRI3, SystemMemory, 0xF20C8250, 0x04)
        Field (BRI3, AnyAcc, Lock, Preserve)
        {
            LEVW,   32
        }
    
        OperationRegion (BRI4, SystemMemory, 0xF20C8254, 0x04)
        Field (BRI4, AnyAcc, Lock, Preserve)
        {
            LEVX,   32
        } 

    Then I removed and simplified the _WAK method. (There was a ton of stuff in there that wasn't needed and confused things.

    This tells it to store certain values on sleep and then recall them on wake. (Referencing the above regions)

    Method (_WAK, 1, NotSerialized)
        {
            Store (0x80000000, LEVW)
            Store (0x061A061A, LEVX)
            Store (0x80000000, LEV2)
            Store (0x12FF, LEVL)
            Return (Package (0x02)
            {
                Zero, 
                Zero
            })
        }
    

    After these two edits specifically I was able to get wake working just fine.  (I really had to get this working to consider having OSX permanently on the x201)

     

    I've done a ton of other edits simplifying the DSDT and clearing it up. (I completely removed most of the other vid devices such as PEG and all of the DVI's as they are not needed)

     

    Attaching my DSDT as well.  Should be fully functional on all x201 models as far as I can tell.

    Also added the device model so it shows as the correct one in system info.

     

     

    Let me know what you think!

    DSDT.zip


  2. Actually I did find where brightness is in my DSDT.  Seen Here starting at line:10237

    Scope (PCI0.LPC.EC)
            {
                Name (BRTW, Package (0x12)
                {
                    0x64, 
                    0x64, 
                    0x02, 
                    0x03, 
                    0x04, 
                    0x05, 
                    0x07, 
                    0x08, 
                    0x0A, 
                    0x0C, 
                    0x0E, 
                    0x11, 
                    0x14, 
                    0x16, 
                    0x1E, 
                    0x2A, 
                    0x3F, 
                    0x64
                })
                Name (BRTB, Package (0x03)
                {
                    Package (0x10)
                    {
                        0x04, 
                        0x07, 
                        0x0A, 
                        0x0C, 
                        0x11, 
                        0x14, 
                        0x1A, 
                        0x1E, 
                        0x24, 
                        0x2C, 
                        0x32, 
                        0x39, 
                        0x4D, 
                        0x6C, 
                        0xA0, 
                        0xFF
                    }, 
    

    But looking at my _WAK section at 12913 I see no reference to any brightness of any kind.  

    Method (_WAK, 1, NotSerialized)
        {
            If (LOr (LEqual (Arg0, Zero), LGreaterEqual (Arg0, 0x05)))
            {
                Return (WAKI)
            }
    
            Store (Zero, SPS)
            Store (Zero, \_SB.PCI0.LPC.EC.HCMU)
            \_SB.PCI0.LPC.EC.EVNT (One)
            \_SB.PCI0.LPC.EC.HKEY.MHKE (One)
            \_SB.PCI0.LPC.EC.FNST ()
            UCMS (0x0D)
            Store (Zero, LIDB)
            If (LEqual (Arg0, One))
            {
                Store (\_SB.PCI0.LPC.EC.HFNI, FNID)
            }
    
            If (LEqual (Arg0, 0x03))
            {
                Store (\_SB.PCI0.LPC.EC.AC._PSR (), PWRS)
                If (OSC4)
                {
                    PNTF (0x81)
                }
    
                If (LNotEqual (ACST, \_SB.PCI0.LPC.EC.AC._PSR ()))
                {
                    \_SB.PCI0.LPC.EC.ATMC ()
                }
    
                If (VIGD)
                {
                    \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
                    Store (\_SB.GDCK.GGID (), Local0)
                    If (LOr (LEqual (Local0, Zero), LEqual (Local0, One)))
                    {
                        \_SB.PCI0.VID.GDCS (One)
                    }
                    Else
                    {
                        \_SB.PCI0.VID.GDCS (Zero)
                    }
    
                    If (WVIS)
                    {
                        VBTD ()
                    }
                }
    
                AWON (Zero)
                If (CMPR)
                {
                    Notify (\_SB.SLPB, 0x02)
                    Store (Zero, CMPR)
                }
            }
    
            If (LEqual (Arg0, 0x04))
            {
                NVSS (Zero)
                Store (Zero, \_SB.PCI0.LPC.EC.HSPA)
                Store (\_SB.PCI0.LPC.EC.AC._PSR (), PWRS)
                If (OSC4)
                {
                    PNTF (0x81)
                }
    
                If (And (PPMF, One))
                {
                    STEP (0x08)
                }
    
                \_SB.PCI0.LPC.EC.ATMC ()
            }
    
            If (XOr (\_SB.PCI0.EXP4.PDS, \_SB.PCI0.EXP4.PDSF))
            {
                Store (\_SB.PCI0.EXP4.PDS, \_SB.PCI0.EXP4.PDSF)
                Notify (\_SB.PCI0.EXP4, Zero)
            }
    
            \_SB.GDCK.GWAK (Arg0)
            \_SB.PCI0.LPC.EC.BWAK (Arg0)
            \_SB.PCI0.LPC.EC.HKEY.WGWK (Arg0)
            Notify (\_TZ.THM0, 0x80)
            VSLD (\_SB.LID._LID ())
            If (VIGD)
            {
                \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
            }
    
            If (LLess (Arg0, 0x04))
            {
                If (And (RRBF, 0x02))
                {
                    ShiftLeft (Arg0, 0x08, Local0)
                    Store (Or (0x2013, Local0), Local0)
                    \_SB.PCI0.LPC.EC.HKEY.MHKQ (Local0)
                }
            }
    
            If (LEqual (Arg0, 0x04))
            {
                Store (Zero, Local0)
                Store (CSUM (Zero), Local1)
                If (LNotEqual (Local1, CHKC))
                {
                    Store (One, Local0)
                    Store (Local1, CHKC)
                }
    
                Store (CSUM (One), Local1)
                If (LNotEqual (Local1, CHKE))
                {
                    Store (One, Local0)
                    Store (Local1, CHKE)
                }
    
                If (Local0)
                {
                    Notify (_SB, Zero)
                }
            }
    
            Store (Zero, RRBF)
            Return (WAKI)
        }
    
    

    I have no clue how to call it or tell it what brightness to use. 


  3. Hey guys.  Any help at all on this would be greatly appreciated!!!

     

    I've been working pretty solidly on getting my x201 fully operational.

    Everything works sleep related.  Beeps when going into sleep just like windows. (I think that's called ACPI sleep) And wakes just fine.  EXCEPT the backlight stays off when waking back up.

     

    I was looking at the IOReg output before and after sleep and noticed a difference.  (Below)

     

    Before Sleep, The IOPowerManagement for AppleBacklightDisplay only has 2 power states... Current and Max.

     

    ScreenShot2013-11-06at70500AM_zpsc726a6c

     

    After sleep, that same device has 3 power states.  Current and Max like before. But now it has a DevicePowerState.

    ScreenShot2013-11-06at70449AM_zpsc9d25d9

     

     

    What is happening here?  And could this be the issue with the backlight not coming back on? 

    Attaching the DSDT.aml from my system.

    dsdt.aml.zip


  4. It didn't reboot automatically for me.  I gave it about 5 minutes to make sure it wasn't doing anything and then powered off manually. 

    I then booted from the installer drive and selected OSX disk from the first boot menu. 

    Once booted I immediately loaded EDP and installed everything else from it. 

×
×
  • Create New...