Jump to content

[Guide] Dell XPS 15 L502X (Early 2011) Snow Leopard Install (possibly L702x too)


wen1
 Share

3,030 posts in this topic

Recommended Posts

Default DSDT has no fixes what so ever.. hence you need to have it fixed. Your IOReg shows that you are using VoodooBattery in conjunction with AppleSmartBatteryManager kext, which is two kexts for same thing - it's generally not a good idea at all. Your adapter (ADP0) has no power resources for wake defined, so sleep from LID will (and most likely was already broken) break as it requires _PRW to function properly. If you are using VoodooBattery then you are rolling back AppleACPI kext, or otherwise it wouldn't work.. this is second thing that's generally not advisable, especially keeping in mind that it's AppleACPI kext from 10.6 that you prolly keep rolling back even on 10.9.. nonsense?

 

Your _CST still won't whown (no AICPMVers in IORegistry) which means Apple_SMC_Platform_Plugin will fail to register LCP device and thus your temps will be higher than they could be.

 

Re: HWMonitor, I see no relation to that. I have kozlek's git branch in my SourceTree and I keep compiling and installing new versions a soon as notification about new commits to master branch come up.

 

I already removed the voodoo battery, don't know when I installed it, now I only have apple smart battery kext.

 

 

 

Your adapter (ADP0) has no power resources for wake defined, so sleep from LID will (and most likely was already broken) break as it requires _PRW to function properly.
Your _CST still won't whown (no AICPMVers in IORegistry) which means Apple_SMC_Platform_Plugin will fail to register LCP device and thus your temps will be higher than they could be.

 

I really don't know how to add this, could you point me where to research for it?

Link to comment
Share on other sites

I already removed the voodoo battery, don't know when I installed it, now I only have apple smart battery kext.

 

 

I really don't know how to add this, could you point me where to research for it?

Yeah, see.. you've uninstalled voodoo, but AppleACPI kext probably remains rolled back, could you check it's version number? 

For ADP0 you rename it to ADP1 in every occurrence and add _PRW to it like so:

 

            Name (_PRW, Package (0x02)
            {
                0x0A, 
                0x03
            })
Link to comment
Share on other sites

AppleACPIPlataform.kext
 

4zhvN.png


 
The ADP0 in my DSDT

                    Device (ADP0)
                    {
                        Name (_HID, "ACPI0003")
                        Method (_PSR, 0, NotSerialized)
                        {
                            If (LEqual (ECON, One))
                            {
                                Notify (\_PR.CPU0, 0x80)
                                Sleep (0x64)
                                Notify (\_PR.CPU0, 0x81)
                            }

                            Return (PWRS)
                        }

                        Method (_PCL, 0, NotSerialized)
                        {
                            Return (_SB)
                        }
                    }

Should I change it to...
 

                    Device (ADP1)
                    {
                         Name (_PRW, Package (0x02)
                         {
                            0x0A, 
                            0x03
                         })
                    }

What do I do with occurrences like these?

                    Method (_Q83, 0, NotSerialized)
                    {
                        P8XH (Zero, 0x83)
                        Acquire (MUT0, 0xFFFF)
                        Store (ACIN, PWRS)
                        Release (MUT0)
                        Notify (ADP0, 0x80)
                        OCNT ()
                    }

Just change "Notify (ADP0, 0x80)" to "Notify (ADP1, 0x80)" ?

Link to comment
Share on other sites

Just change "Notify (ADP0, 0x80)" to "Notify (ADP1, 0x80)" ?

No.. you append to it, not replace the entire thing... The rest of the orcurrences you just change ADP0 to ADP1, yes.

 

What you are showing is kext dependencies. not version .. also, I was interested in seeing the version of IOACPIFamily and AppleACPIPlatform kexts.

10.8.5 has IO of version 1.4 and Platform of version 1.8.. if you have anything lower than that you have a rollback installed. By the looks of i386 checkbox checked it's something that comes from 10.7 or lower, because 10.8 doesn't have 32 bit extensions, nor does 10.9.

Link to comment
Share on other sites

Accordingly to this, my IOACPI is 1.4 and AppleACPI is 1.3.5, so I guess I need to update it to 1.8. How do I get it? From an install media?

 

 

4zjdv.png

 

 

 

So, this is how my ADP1 should look like?

 

                   Device (ADP1)
                    {
                        Name (_HID, "ACPI0003")
                        Method (_PSR, 0, NotSerialized)
                        {
                            If (LEqual (ECON, One))
                            {
                                Notify (\_PR.CPU0, 0x80)
                                Sleep (0x64)
                                Notify (\_PR.CPU0, 0x81)
                            }
 
                            Return (PWRS)
                        }
                        Name (_PRW, Package (0x02)
             {               
             0x0A,
             0x03
             })
                        Method (_PCL, 0, NotSerialized)
                        {
                            Return (_SB)
                        }
                    }
Link to comment
Share on other sites

 

Accordingly to this, my IOACPI is 1.4 and AppleACPI is 1.3.5, so I guess I need to update it to 1.8. How do I get it? From an install media?

 

So, this is how my ADP1 should look like?

It should be at least of version 1.8, because 1.8 is in 10.8.5, in 10.9 it could be higher.. if you have the media around you can surely grab that from there.. But if you are relying on rollbacks only means that DSDT EC RAM registers and _BIF and _BST methods are not patched to support 8-bit register handling, thus your battery icon will be gone and kext will be unable to work.. until you do the edits...

Rollbacks are easy.. but dirty, so you have a price to pay sooner or later.

 

ADP edit is correct now.

Link to comment
Share on other sites

It should be at least of version 1.8, because 1.8 is in 10.8.5, in 10.9 it could be higher.. if you have the media around you can surely grab that from there.. But if you are relying on rollbacks only means that DSDT EC RAM registers and _BIF and _BST methods are not patched to support 8-bit register handling, thus your battery icon will be gone and kext will be unable to work.. until you do the edits...

Rollbacks are easy.. but dirty, so you have a price to pay sooner or later.

 

ADP edit is correct now.

 

So I need to grab ACPIPlataform from my install media and install it, then patch _BIF and _BST for it to work?

Link to comment
Share on other sites

This is my HPET.

 

 

 

  Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (_CID, EisaId ("PNP0C01"))
                    Name (BUF0, ResourceTemplate ()
                    {
                        IRQNoFlags ()
                            {0}
                        IRQNoFlags ()
                            {8}
                        IRQNoFlags ()
                            {11}
                        IRQNoFlags ()
                            {15}
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            )
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        If (LGreaterEqual (OSYS, 0x07D1))
                        {
                            If (HPAE)
                            {
                                Return (0x0F)
                            }
                        }
                        Else
                        {
                            If (HPAE)
                            {
                                Return (0x0B)
                            }
                        }

                        Return (Zero)
                    }

                    Method (_CRS, 0, Serialized)
                    {
                        If (HPAE)
                        {
                            CreateWordField (BUF0, 0x04, HPT0)
                            If (LEqual (HPAS, One))
                            {
                                Store (0xFED01000, HPT0)
                            }

                            If (LEqual (HPAS, 0x02))
                            {
                                Store (0xFED02000, HPT0)
                            }

                            If (LEqual (HPAS, 0x03))
                            {
                                Store (0xFED03000, HPT0)
                            }
                        }

                        Return (BUF0)
                    }
                }

 

 

Link to comment
Share on other sites

I made that manual patches you suggested, but it stil doesn't works.

 

Edit:

 

Maybe I found out the (old) problem. Don't know why, my system doesn't works without NCPUPM, even after I flashed my bios.

 

AICPUPM alone -> KP

AICPUPM + NCPUPM -> OK (no sleep)

NCPUPM alone -> OK (no sleepl)

None of them -> OK (no sleep)

 

Edit 2:

 

I just noticed that my system doesn't even shutdown, it goes through the whole shutdown process, but them it keeps flashing the HD led and never turns off.

Link to comment
Share on other sites

Then everything you do in terms of PM is pointless, because it can't work without the kext. It's the same thing as having NullCPU installed at all times, it block speedstep and CPU PM completely.

You have to remove any third party ACPI table that is CPU related and DropOEM SSDT tables from BIOS, then use both generators from Clover to enable your speedstep.

Link to comment
Share on other sites

This is what I have under ACPI and CPU in my config.plist

<key>ACPI</key>
<dict>
<key>DropOemSSDT</key>
<string>Yes</string>
<key>FixDsdtMask</key>
<string>0x0000</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>ResetAddress</key>
<string>0x64</string>
<key>ResetValue</key>
<string>0xFE</string>
</dict>
<key>CPU</key>
<dict>
<key>BusSpeedkHz</key>
<string>99678</string>
</dict>
Link to comment
Share on other sites

Done, no SSDT.aml and both (C and P) generators enabled in clover, AICPUPM installed back, now my system boots up with the kext, but speedstep still doesn't works.

 

About bus speed, should it work if I remove it? Or should I find which value to inform?

Edited by DawTaylor
Link to comment
Share on other sites

 Share

×
×
  • Create New...