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.
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).
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.
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.
Apply the RTC patch.
If you have CMOS reset after sleep/wake/reboot in Lion, you need to patch AppleRTC.
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)
0x0C, 0x00, 0x00, 0x00 = 0xC
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.
SBUS (SMBUS) is used to get SMBus kexts loaded.
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).
References (must read if you want to understand what the patches do)
Users browsing this forum: droplets, Google [Bot] and 4 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum