Jump to content
piter2619

dsdt patching in order to enable sleep

Recommended Posts

Hello,

now that i've learned how to extract a dsdt and boot it from chameleon i need to patch it in order to enable sleep.

This is my laptop http://www.samsung.com/it/consumer/pc-peripherals-printer/notebook/business/NP200A5B-A01IT-spec

The problem is that i don't have any experience in dsdt patching and there's no dsdt.aml file for my laptop in the database.

I can just apply patches via dsdt editor.

So my question is: which are the patches from the folder Notebook Core i Sandy Bridge (or from every other folder) that are recommended to enable sleep for my system?

Which are the kext for power management recommended to enable sleep for my system?

Or is there a tutorial that explains how to make new patches by your own?

Thanks.

Link to comment
Share on other sites

How to apply a patch using DSDT Editor




If you will apply several patches you can compile only once, after all patches are applied.


When applying a patch, check the before/after tabs and try to understand what is being changed and why.


Important: always start from an original DSDT. Don't use "extract DSDT" if you booted using a patched dsdt.aml from other PC. If you can't boot without a patched DSDT, use Windows or Linux to extract the original DSDT from BIOS.


If you update BIOS, most likely you will have to patch DSDT again, so it's a good idea to create a full patch, with all needed patches (separated by ";"), like the many examples here.

I already know

Power management:


If AppleIntelCPUPowerManagement doesn't work (need to use NullCPUPowerManagement) even if you enable GenerateCStates and GeneratePStates in Chameleon, check if AppleLPC is loaded (run "kextstat" command in terminal), if it's not, apply one of the LPC patches according to your chipset (desktop/laptop ICH7, ICH8, ICH9, ICH10, Nehalem, Sandy Bridge).


If you get "No HPET(s) available" kernel panic you may need the HPET patch. The example is used on Gigabyte mobos, but it may also be needed in other mobos and laptops (adapt _CRS to return the ResourceTemplate right above).

My laptop boots properly without any kext like nullcpupowermanagement or fakesmc and the other stuff for power management and i dont know what are GenerateCStates and GeneratePStates so i didn't enable this feature on chameleon; do i have to try patching AppleLPC anyway?

Should i try this?

USB problems:


There are many USB patches, EHCI, UHCI, ICH9 USB sleep, EHCI sleep/ownership, some are generic, some are organized by chipset. If you have problems with USB ports, if you see errors or warnings in kernel log about EHCI or UHCI, you can try these patches.

i dont have usb problems

Sleep problems:


Problems with sleep are usually related to power management and USB.


If the system goes to sleep and wakes immediately, look for "Wake reason" in kernel log and edit method _PSW or remove _PRW from that device in DSDT.

The problem isnt that goes to sleep and wakes immediately, the problem is that when i click stop button it simply turn off the screen while fan, power and other devices are still enabled, so it wont sleep at all

CMOS reset:


Apply the RTC patch.


If you have CMOS reset after sleep/wake/reboot in Lion, you need to patch AppleRTC.



Audio:


You can use HDEF (or AZAL to HDEF if you already have device AZAL) and a codec patch (ALC*) if you will use a patched AppleHDA, or if you just want to have audio information in System Profiler.


Make sure layout-id in DSDT (hex) coincides with LayoutID in AppleHDA (decimal)


Example:LayoutID (dec) layout-id (hex)

12 0x0C, 0x00, 0x00, 0x00 = 0xC

889 0x79, 0x03, 0x00, 0x00 = 0x379





DTGP is required by many patches, so you will probably need it.



IRQs is a "generic" patch, it's always used. In some cases more IRQs are added to device HPET, compare patches for various chipsets.

straight

SBUS (SMBUS) is used to get SMBus kexts loaded.

i dont know what smbus kexts are

Shutdown patches are BIOS specific, apply if the PC doesn't turn off properly.



There are other hardware specific and some "cosmetic" patches (only fix warning and remark messages in compilation, but aren't really necessary).

clear

References (must read if you want to understand what the patches do)


DSDT fixes for Gigabyte boards

P5K PRO

DSDT: trick retail drivers by changing "device-id" (e.g USB), Fix sleep issues of ICH9/-R faking ICH10-R

Slow Sata Issue Fix, How to fix HPET IRQ conflict that cause that

ALC889A, Gigabyte (Intel)

[HOW TO] Patch AppleHDA - Knowledge Base, Guide for how to fix/use original AppleHDA

DSDT - Vanilla Speedstep - Generic Scope (_PR)

Shutdown Fix

Atheros Ar9285, Working starting with 10.6.5

GA-EX58 and GA-X58A DSDT native power management modifications

Final solution (FIX) for GMA950 Desktop edition

SpeedStepper, AICPUPM patcher for ASUS P8P67 (and others)

CMOS Resets on Restarts after Sleep and Wake in 10.7 (Lion)

they are referred to other mobo.

Sorry for the too many lacks of knowledge that i have, thanks in advice to anyone that can explain me either one or more of the above questions

Link to comment
Share on other sites

hello


must read a lot about mac os x


if u lappy boot without fakesmc and nullcpupowermanagement is unique in the world....


fakesmc is indispensable for boot a hack


and nullcpu if u don't have a proper dsdt to have native power management ..


good hack

PB Easy Note TM 86 - i5 430 M - H55M - Ram - 6 GB - Alc272 - Radeon HD 5470 512 QE/CI

Lenovo G500 - i5 3230m - HM77 - Ram - 8 GB - Conexant audio - HD 4000

My OS X Files 

Link to comment
Share on other sites

hmm..maybe it boots without fakesmc and nullpower because they are loaded by the unishit usb drive (btw i also tried Olarila usb to boot but unfortunately it didn't work for my laptop so i'm using unishit because it's the only one i can boot with)


edit: if native power management means embedded speedstep technology i do have

Link to comment
Share on other sites

You were right my notebook cant boot without nullcpupowermanagement :D

The explanation is that when i boot with unishit usb that usb bootloader loads nullcpu fake smc and other mandatory kext; now if the /Extra/Extensions folder is empty unishit loads those kexts while if the /Extra/Extension is not empty unishit doesnt load the kexts so i get kp if the /E/E is not empty but there's no nullcpupowermanagement.kext.

What i've done now is that i put in /E/E the kext that were normally loaded by unishit plus other kexts i need and that's it.

Now remains the hardest part: patching the dsdt to enable sleep D:

Link to comment
Share on other sites

hello


lion and mountain lion don't use E/E, to use a feature call KernelCache u acelerate the boot process


so, all kext in s/l/e


and in chameleon


UseKernelCache=Yes


extract u clean dsdt and attach here


to see what can i do, also alert u many hack don't sleep at all.


good hack

PB Easy Note TM 86 - i5 430 M - H55M - Ram - 6 GB - Alc272 - Radeon HD 5470 512 QE/CI

Lenovo G500 - i5 3230m - HM77 - Ram - 8 GB - Conexant audio - HD 4000

My OS X Files 

Link to comment
Share on other sites

hello

thanks for your support.

so this is what i've tried according to this post http://Olarila.com/forum/viewtopic.php?f=19&t=634 until now

tried to enable GenerateCStates and GeneratePStates in Chameleon but kp, i couldnt get rid of nullcpu;

then i checked that my AppleLPC is loaded so i dont need that patch.

Regarding "No HPET(s) available" I think i dont have kp due to this.

Finally i succesfully patched AppleIntelCPUPowerManagement and rebooted but also here kp (this time after loaded successfully AppleIntelCPUPowerManagement and AppleIntelCPUPowerManagementClient) so until now I'm forced to use NullAppleIntelCPUPowerManagement.

Attached my DSDT untouched, any hints appreciated.

Thank you

DSDT.aml.zip

Link to comment
Share on other sites

hello


there it is

 

DSDT.aml.zip

 

remove nullcpupowermanagement


set in org.chamelon


p and c-sates=yes


and read about powermanagement in topic


must patch appleintelcpupowermanagement


good hack

PB Easy Note TM 86 - i5 430 M - H55M - Ram - 6 GB - Alc272 - Radeon HD 5470 512 QE/CI

Lenovo G500 - i5 3230m - HM77 - Ram - 8 GB - Conexant audio - HD 4000

My OS X Files 

Link to comment
Share on other sites

hello


there it is

 

[attachment=0]DSDT.aml.zip[/attachment]

 

remove nullcpupowermanagement


set in org.chamelon


p and c-sates=yes


and read about powermanagement in topic


must patch appleintelcpupowermanagement


good hack

 

Hello,


Thanks for posting the dsdt.


I have patched AppleIntelCPUPowerManagement correctly according to thishttp://Olarila.com/forum/viewtopic.php?f=9&t=1003, removed nullcpupowermanagement, set p and c-sates=yes in org.chameleon


I've tried with your dsdt and it says Invalid Character in ProcessorOP, in an infinite loop


while if I boot with the untouched dsdt AppleIntelCPUPowerManagement starts correctly and the boot continues until "Waiting for DSMOS" and "Realtek Ethernet ..."


but kp just before "DSMOS has arrived"

Link to comment
Share on other sites

i tried to apply your patches such as dgtp and hdef or hpet but if i reboot i get "Invalid Character In ProcessorOP", maybe because your patches are for i5 i7 processors while mine is i3


and the strange thing is that the kp occurs not when the AppleIntelCPUPowerManagement is initialized (it inizialises correctly) but just a while before the boot process is completed :?

Link to comment
Share on other sites

hello


the patches are for the dsdt u have originally

 

 

yeah i applied the patches to my original dsdt, extracted with your dsdt editor


but if i reboot using the patched dsdt i get "Invalid Character In ProcessorOP" and so the boot process cannot begin..also the dsdt you have kindly patched for me dont work on my laptop because of this problem

 

nothing to do with cpu


good hack

 

A ok..i understood..I was just trying to guess which is the problem

Link to comment
Share on other sites

hello


man revise u procedure


u are doing something wrong in that process


that is not possible


the dsdt is good


try ti play with p and c-states


p-states=no


c-states=yes


and vice versus


and see the dmesg


in terminal


sudo dmesg


and see what is generated


maybe u must use ssdt


good hack

PB Easy Note TM 86 - i5 430 M - H55M - Ram - 6 GB - Alc272 - Radeon HD 5470 512 QE/CI

Lenovo G500 - i5 3230m - HM77 - Ram - 8 GB - Conexant audio - HD 4000

My OS X Files 

Link to comment
Share on other sites

Hello


Finally I'm able to boot without the NullAppleIntelCPUPowerManagement !!! :D


I've extracted the SSDT tabe, put it in /Extra folder then unselected Generate P C States flags then selected DropSSDT flag and thats it


Now..The sleep is properly working, just the pc wakes up immediately


I wrote this command on terminal

syslog -k Sender kernel -k Message Req Wake

and Wake Reason is GLAN EHC1 EHC2


So I applyed EHCI patch and then sleep works, but in a very strange way: I have to press the power button several times and then i


have to press a key on the keyboard to enable the screen; also when i close the lid its not going to sleep..


What else can I try? Maybe I can just edit _PRW and _PSW methods from GLAN and EHC1 EHC2?


Thanks

Edited by Guest
Link to comment
Share on other sites

edit: so applying ehci patch the system is going to sleep normally but when I want to wake it up I have to press the power button once then fan at max speed and computer waking up, then i have to press a second time the power button to enable the screen; if i press the power button just once the screen stays turned off.

Any ideas on how to patch the DSDT in a way such that i have to press the power button once to have also the screen ready? Besides the wake up time is a bit longer, like 10 seconds while in windows 1 2 seconds

Thanks

Link to comment
Share on other sites

edit: so applying ehci patch the system is going to sleep normally but when I want to wake it up I have to press the power button once then fan at max speed and computer waking up, then i have to press a second time the power button to enable the screen; if i press the power button just once the screen stays turned off.

Any ideas on how to patch the DSDT in a way such that i have to press the power button once to have also the screen ready? Besides the wake up time is a bit longer, like 10 seconds while in windows 1 2 seconds

Thanks

 

hi. you need to fix _Wak and Wak method. and fix Processors HPET and another methods. _CRS , ..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.





×
  • Create New...