DawTaylor Posted September 24, 2013 Share Posted September 24, 2013 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 More sharing options...
TimeWalker75a Posted September 24, 2013 Share Posted September 24, 2013 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 More sharing options...
DawTaylor Posted September 24, 2013 Share Posted September 24, 2013 AppleACPIPlataform.kext 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 More sharing options...
TimeWalker75a Posted September 24, 2013 Share Posted September 24, 2013 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 More sharing options...
DawTaylor Posted September 24, 2013 Share Posted September 24, 2013 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? 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 More sharing options...
TimeWalker75a Posted September 24, 2013 Share Posted September 24, 2013 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 More sharing options...
DawTaylor Posted September 24, 2013 Share Posted September 24, 2013 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 More sharing options...
TimeWalker75a Posted September 24, 2013 Share Posted September 24, 2013 Yes you do.. Add this method (yes, I'm not copying the code, use your hand here ) http://puu.sh/4zkgj.png Split registers like this: http://puu.sh/4zkkV.png Edit _BIF: http://puu.sh/4zkn1.png Edit _BST: http://puu.sh/4zkok.png Link to comment Share on other sites More sharing options...
DawTaylor Posted September 24, 2013 Share Posted September 24, 2013 So, things highlighted in purple must be changed, and things highlighted in green must be added, right? What about that _CST thing? Your _CST still won't whown (no AICPMVers in IORegistry) Link to comment Share on other sites More sharing options...
TimeWalker75a Posted September 24, 2013 Share Posted September 24, 2013 Correct. Make sure your HPET is enabled (0xf io ioreg), if it's not your OSYS check fails and you have to add Darwin somewhere. Clover should take care of _CST when enabling C-state generator, nothing on your side can be done, unless you code PM ACPI tables yourself. Link to comment Share on other sites More sharing options...
DawTaylor Posted September 24, 2013 Share Posted September 24, 2013 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 More sharing options...
TimeWalker75a Posted September 24, 2013 Share Posted September 24, 2013 It seems you are good - 0x2710 is greater than 0x07D1 If (_OSI ("Darwin")) { Store (0x2710, OSYS) } Link to comment Share on other sites More sharing options...
DawTaylor Posted September 24, 2013 Share Posted September 24, 2013 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 More sharing options...
TimeWalker75a Posted September 25, 2013 Share Posted September 25, 2013 You have P-State generator disabled, what do you expect? Link to comment Share on other sites More sharing options...
DawTaylor Posted September 25, 2013 Share Posted September 25, 2013 I just enabled P-States and this is what I got. With AICPUPM. P-State error 18 at step 35 Followed by KPs around AICPUPM Without AICPUPM I got something about 'Fall back to old SMC mode', but my system boots up. Link to comment Share on other sites More sharing options...
TimeWalker75a Posted September 25, 2013 Share Posted September 25, 2013 What do you mean *with AICPUMP* ? Do you add and remove the kext or you toggle the key in Clover? Fall back to Old SMC mode is expected and is even seen on real Apple machines. Link to comment Share on other sites More sharing options...
DawTaylor Posted September 25, 2013 Share Posted September 25, 2013 I mean that I add the kext and the errors occurs, without the kext the only error that occurs is the "fall back". I toggled "GeneratePstates = Yes" in clover. Link to comment Share on other sites More sharing options...
TimeWalker75a Posted September 25, 2013 Share Posted September 25, 2013 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 More sharing options...
DawTaylor Posted September 25, 2013 Share Posted September 25, 2013 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 More sharing options...
TimeWalker75a Posted September 25, 2013 Share Posted September 25, 2013 You don't need reset address and values, Dell has proper length FACP table. Bus speed is valid for my i3-2350M, who knows whats yours .. it could be different. I recall you had an APCI table called SSDT in your patched folder, what kind of table was it? Link to comment Share on other sites More sharing options...
DawTaylor Posted September 25, 2013 Share Posted September 25, 2013 I have SSDT.aml generated using revo boot tool. Link to comment Share on other sites More sharing options...
TimeWalker75a Posted September 25, 2013 Share Posted September 25, 2013 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. huh ? Link to comment Share on other sites More sharing options...
DawTaylor Posted September 25, 2013 Share Posted September 25, 2013 So, should I remove the SSDT from the patched folder? Link to comment Share on other sites More sharing options...
TimeWalker75a Posted September 25, 2013 Share Posted September 25, 2013 Yes you should, it creates conflict! Remove it, enable both generators in Clover and install AppleIntelCPUPM back.. should do it. Link to comment Share on other sites More sharing options...
DawTaylor Posted September 25, 2013 Share Posted September 25, 2013 (edited) 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 September 25, 2013 by DawTaylor Link to comment Share on other sites More sharing options...
Recommended Posts