PDA

View Full Version : Snow Leopard CMOS reset fix


candykane
07-13-2009, 07:43 AM
Snow leopard beta's have the nasty property that when you reboot it resets your cmos. You can fix this by editing your dsdt file.

Length should be changed to 0x02, its normally 0x04.


Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x02, // Length
)
})
}

kizwan
07-13-2009, 08:20 AM
@candykane
Thank you for sharing that information. At least some activity here. :)

uman
07-30-2009, 06:37 PM
candykane,

With Leopard 10.5.6, I have:

Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{8}
})
}


Do you know if:

a. the change you suggest is harmless on Leopard
b. whether the IRQNoFlags needs to be there or not in Leopard/Snow Leopard?

Thanks.

digital_dreamer
08-01-2009, 01:32 AM
uman,
Absolutely harmless on either OS.
That 8 needs to be changed to 2, but has no affect in Leo.


The IRQNoFlags and following line {8} needs to be deleted, too.
Were you experiencing KPs in SL? I don't know about Leo, but this is known for KPs in SL on ASUS boards.

regards,
MAJ

uman
08-02-2009, 02:58 AM
Thanks, I'll make the change.

I'm still using Leo.

infinitek
08-20-2009, 12:03 AM
pardon my ignorance but what are you guys using to view and edit your DSDTs.....?

ariadri
08-20-2009, 04:07 AM
[QUOTE=infinitek;31544]pardon my ignorance but what are you guys using to view and edit your DSDTs.....?[/QUOTE


download this app http://www.applelife.ru/poleznye_keksty_utility_i_solyusheny_dlya_osx86/9675/860.html#entry93244

after you drag your dsdt.aml you will get a dsdt.dsl which you can edit. once your done just drag your dsdt.dsl back to the app and it will transform it back to dsdt.aml just like magic ^_^

infinitek
08-20-2009, 08:05 PM
Thanx...........

mwgdrwg
08-21-2009, 11:06 AM
Thanks for this - it fixed that for me. Still have kernel panic and have yet to successfully load the OS though....

dgandra
09-05-2009, 02:15 AM
On Device (RTC) section I have the value 0x04 for alignment. I saw on the first post that candykane has 0x00 but on the following posts nobody comment anything about that. Do I have to set the alignment value to 0x00 or leave it with its current value?

thanks in advance!

osxfr33k
09-22-2009, 02:34 AM
Where would that script go? Where in the DSDT.dsl end? Middle? This is where it gets confusing to me. Can you show a little script before it and after it to see where you fit it in? Is ther a good DSDT patcher that automatically places this script in the correct sections, places in the DSDT.dsl file?

I use DSDTSE and it has many hack but open in a separate editor window and I usually do nto knwo where to put that script in the main DSDT.dsl editor window?

It looks liek I don't have RTC in my DSDT? Yet I don't see a problem with the CMOS? Maybe because of my motherboard? Asus Maximus Formula X38 chipset.

MikeHunt79
09-23-2009, 02:37 PM
Hi, here is my RTC section from my acer aspire one, I've got length = 0x08, do I need to change both length values?


Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
})
Method (_CRS, 0, Serialized)
{
If (LEqual (HPTS, One))
{
Return (BUF0)
}
Else
{
Return (BUF1)
}
}
}

ariyako
11-20-2009, 03:43 PM
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0074, // Range Minimum
0x0074, // Range Maximum
0x01, // Alignment
0x04, // Length
)
})
}


Should i modify 0x04 into 0x02 too? ;)

Ianxxx
11-28-2009, 12:36 AM
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (ATT0, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x02, // Length <-- JUST EDIT THIS ONE
)
})
Name (ATT1, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x04, // Length <-- LEAVE THIS ALONE
)

ariyako
11-28-2009, 05:41 PM
thanks alot ;)

spalek83
12-06-2009, 01:49 PM
CMOS reset fix (via kext)

http://www.kexts.com/view/151-cmos_reset_fix_%28via_kext%29.html

SaCleoCheater
01-29-2010, 11:49 PM
The Snow Leopard CMOS DSDT mod was used by Apple in the MacBook Air'.

The mod was not created, only discovered.

uman
02-26-2010, 06:23 PM
According to BuildSmart (see: http://netkas.org/?p=114#comment-45114), if you have a length of 0x08 and alignment of 0x01, then your manufacturer's DSDT is following the ASL spec. So you shouldn't have to make a change.

Why is not making a change important? I've heard that if you change the length to 0x02, then 10.6, and 10.6.1 are fine WRT to sleep, but in 10.6.2, you'll introduce a sleep bug. I heard this on the Russian side of infinitemac.

Can someone confirm? I'm moving to SL in the next week or so (also upgrading my lappie's CPU), so if no one confirms before then, I'll give it a try.

Oh, and BTW, I find that looking at the DSDT for the closest Mac model to your hardware is really helpful...

kizwan
02-26-2010, 08:49 PM
According to BuildSmart (see: http://netkas.org/?p=114#comment-45114), if you have a length of 0x08 and alignment of 0x01, then your manufacturer's DSDT is following the ASL spec. So you shouldn't have to make a change.
.......................
My acer aspire 9420 only experiencing bios reset when trying to hibernate. I have not tried 10.6.2 but did you mean my laptop will behave normally (no bios reset) with 10.6.2 without "CMOS reset fix"? FYI, aspire 9420 dsdt follow ASL spec.

kizwan

uman
02-27-2010, 01:37 AM
My acer aspire 9420 only experiencing bios reset when trying to hibernate. I have not tried 10.6.2 but did you mean my laptop will behave normally (no bios reset) with 10.6.2 without "CMOS reset fix"? FYI, aspire 9420 dsdt follow ASL spec.

kizwan

Hi kizwan--

My laptop dies if I try hibernate too on 10.5.6. As to your question, the RTC fix is needed by some, but not all BIOSes for 10.6. Are you running SL? Did you have to put the RTC fix in your DSDT?

The russian text "suggested" that with 10.6.2, that you can go back to 0x08. But it never answered that *if* you already had 0x08 as the length, whether you need to change to 0x02 in the first place.

So that's what I was trying to find out. In any case, I intend to try and I will post here when I find out.

kizwan
02-27-2010, 12:40 PM
Hi kizwan--

My laptop dies if I try hibernate too on 10.5.6. As to your question, the RTC fix is needed by some, but not all BIOSes for 10.6. Are you running SL? Did you have to put the RTC fix in your DSDT?
.........................
I had tried 10.6.0 & 10.6.1 before. I also had tried RTC fix & it solved BIOS reset issue whenever I tried to hibernate.

I will try 10.6.2 without RTC fix on my Acer Aspire 9420 when I get my laptop tonight.

kizwan

uman
02-28-2010, 03:51 AM
Thanks for trying the 10.6.2. I was hip deep in the ICH7 Datasheet and ACPI Programmers draft trying to verify if the shutdown/restart and sleep fixes for ICH9/10 will work. I'm hoping to install SL this week. But my Core 2 Duo CPU arrived, so I'm hoping to try that first with Leopard.

kizwan
03-01-2010, 08:43 AM
Thanks for trying the 10.6.2. I was hip deep in the ICH7 Datasheet and ACPI Programmers draft trying to verify if the shutdown/restart and sleep fixes for ICH9/10 will work. I'm hoping to install SL this week. But my Core 2 Duo CPU arrived, so I'm hoping to try that first with Leopard.
Hi uman,

After several test, reboot, lost my keyboard, kernel panic & etc with 10.6.2, I found out that I still need to change (RTC device) the length from 0x08 to 0x02. If not BIOS reset will occurred when restarting the computer after sleep (hibernatemode 3).

Right now I faced a dead-end with my wireless card. It won't turn on after sleep.

kizwan

uman
03-01-2010, 05:32 PM
I'm sorry for the trouble! Thanks so much for testing this out. I guess BuildSmart was wrong!

I did upgrade my CPU, so now I can try out 64-bit SL.

One thing that drives me crazy, though, is that the vanilla retail scene is changing so rapidly. Are you aware of a recent guide that steps through a retail SL installation? I'd like to use Chameleon RC4, and I *think* I want a hidden EFI partition.

I have Leo installed currently, and I have a new hard drive for SL, and an external USB case.

I think I need to restore the retail DVD to a dmg on my current drive. Then install to the new drive in the USB case. Then install various kexts, Chameleon, my DSDT for SL, and then try booting off the USB drive. If all works, then I swap the drives, and then migrate my data from the old drive.

Does that sound about right?

kizwan
03-01-2010, 06:18 PM
...........................
One thing that drives me crazy, though, is that the vanilla retail scene is changing so rapidly. Are you aware of a recent guide that steps through a retail SL installation? I'd like to use Chameleon RC4, and I *think* I want a hidden EFI partition.

I have Leo installed currently, and I have a new hard drive for SL, and an external USB case.

I think I need to restore the retail DVD to a dmg on my current drive. Then install to the new drive in the USB case. Then install various kexts, Chameleon, my DSDT for SL, and then try booting off the USB drive. If all works, then I swap the drives, and then migrate my data from the old drive.

Does that sound about right?
If it is possible, instead restore retail DVD to a dmg file, why don't you just restore retail DVD to a (new) partition in your current drive using Disk Utility. The size of this partition don't have to be big, 8GB will do (retail DVD size less than 8GB).

Then upgrade your current boot loader to Chameleon 2 RC4. This is how you placed 10.6 kext files without overwriting 10.5 kext files:-
Extra/10.5/Extensions
Extra/10.5/Extensions.mkext
Extra/10.6/Extensions
Extra/10.6/Extensions.mkext But I guess you know this already. ;) This way you still can boot to your leo.

Finally, reboot, select "Mac OS X Install DVD" and install Snow Leo to new drive.

For unknow reason, I can't use "boot" file from Chameleon RC4 package. It just stuck after selecting OSX partition. I just replaced the "boot" file from PC EFI 10.6 downloaded from netkas.org.

kizwan

uman
03-01-2010, 06:42 PM
If it is possible, instead restore retail DVD to a dmg file, why don't you just restore retail DVD to a (new) partition in your current drive using Disk Utility. The size of this partition don't have to be big, 8GB will do (retail DVD size less than 8GB).

I presume it has to be a bootable partition?

Then upgrade your current boot loader to Chameleon 2 RC4. This is how you placed 10.6 kext files without overwriting 10.5 kext files:-
But I guess you know this already. ;) This way you still can boot to your leo.
Current drive? I don't understand why I would install Chameleon to the old drive. Are you assuming that I would copy over the Leo installation to the new drive? I don't want to do that because it was a hacked up iPC install, not retail at all.

Finally, reboot, select "Mac OS X Install DVD" and install Snow Leo to new drive.

When the SL installer runs, it will allow installation to a USB external (my new) drive?

For unknown reason, I can't use "boot" file from Chameleon RC4 package. It just stuck after selecting OSX partition. I just replaced the "boot" file from PC EFI 10.6 downloaded from netkas.org.

kizwan

I've heard some people are having trouble with Cham RC4. Do you think it's worth trying out?

BTW, thanks for all your help! Also, does your Acer have ICH7? I spent some time verifying some DSDT fixes in the ACPI Programmer's Guide and the ICH7 Datasheet. I will try them out when I get SL running, and then post in the DSDT sub-forum.

kizwan
03-01-2010, 07:43 PM
I presume it has to be a bootable partition?
Yes.

Current drive? I don't understand why I would install Chameleon to the old drive. Are you assuming that I would copy over the Leo installation to the new drive? I don't want to do that because it was a hacked up iPC install, not retail at all.
Actually, I was suggesting you to use your current drive as Snow Leo installation media. Of course I meant installing Snow Leo to new drive. Install Snow Leo is easy but to be able to boot Snow Leo (after install) you will require patched kexts. Meaning, if I were you, I will prepare EFI/Boot-132 partition for Snow Leo before installing Snow Leo.

I have external drive (80GB) which I use as installation media, where it have 3 partition; first partition is a FAT32 partition for data only, second partition is a Boot-132 partition (origin was Boot-132 USB) and third partition is where I restore retail DVD. Second partition is set to bootable. Boot-132 partition using Chameleon 2 RC2 & upgraded to Chameleon 2 RC4+PC EFI 10.6. This external drive can be consider as my "universal" installer where I can use it to install Leo or Snow Leo.

When the SL installer runs, it will allow installation to a USB external (my new) drive?
Looks like SL installer different than Leo installer. I can select partition when launching the installer manually.

I've heard some people are having trouble with Cham RC4. Do you think it's worth trying out?
I think it worth to try. If it not working for you, just replace the "boot" with working one (RC3 or PC EFI 10.6).

I use Chameleon 2 RC2 installer to install chameleon to EFI partition & replaced "boot" file with "boot" file from RC4 package.

BTW, thanks for all your help! Also, does your Acer have ICH7? I spent some time verifying some DSDT fixes in the ACPI Programmer's Guide and the ICH7 Datasheet. I will try them out when I get SL running, and then post in the DSDT sub-forum.
My acer 9420 have ICH7. FYI, my wireless working after sleep. I think it fixed by updating IONetworkingFamily.kext in EFI partition with 10.6.2 version. I also change to plist only for my dell wireless (broadcom device id 4315).

I also played with DSDT & made several changes:-
- Remove USB2.0 entry to make it seen as external device. This to enable sleep.
- Sleep when LID close.
- Change NVCAP value for GeForce Go 7300 to enable dual-screen.
- Change ConfigData for ALC883 to enable internal mic, hence enabling external mic.

kizwan

uman
03-03-2010, 11:36 PM
Argh. I'm so frustrated. I've failed to install SL using prasys's (http://prasys.co.cc/2009/08/installing-snow-leopard-for-osx86/) 1st 3 methods.

So right now I'm installing on a separate hard drive )which I will replace as my main one) from a MacBook Pro. After that presumably succeeds, do I just need to install Chameleon to the EFI partition, and then any kexts I need before first boot from it?

I must say, retail SL installation is a PITA!

kizwan
03-04-2010, 11:37 AM
............................
So right now I'm installing on a separate hard drive )which I will replace as my main one) from a MacBook Pro. After that presumably succeeds, do I just need to install Chameleon to the EFI partition, and then any kexts I need before first boot from it?
Yes. fakesmc.kext (by netkas) & PlatformUUID.kext are the important kexts you need to put. AppleDecrypt.kext no longer required/working with SL.

Which part did you have problem? Are you installing to MBR or GUID partition table?
I must say, retail SL installation is a PITA!
Yeah. ;)

By default SL will boot in 64bit mode and on some machines it can cause problem (even though the machines is 64bit capable). So I would suggest you to run it in 32bit mode. Just set the "Kernel Flags" with "arch=i386".

kizwan

uman
03-04-2010, 12:39 PM
Which part did you have problem? Are you installing to MBR or GUID partition table?

GUID-- I want to have a hidden EFI partition. My goal is to keep /S/L/E as virgin :) as possible, so I can update more easily.

By default SL will boot in 64bit mode and on some machines it can cause problem (even though the machines is 64bit capable). So I would suggest you to run it in 32bit mode. Just set the "Kernel Flags" with "arch=i386".

I tried that (although come to think of it know, I may have been using the deprecated -x32 flag...

I posted more details of what I was trying to do, and some questions outside of the DSDT subforum, since I've hijacked this thread and felt bad. Thanks for your help!

josefka
04-01-2010, 05:51 PM
Kizwan,
I see you've fixed your Go 7300 in the DSDT. Can you please tell me how, because I have a black screen after wake on my DVI monitor. Mon Asus F3JC sleep and wake well, but I have to turn it off because of this black screen. I have an EFI string in boot.plist to make it work.

Thank you

greatings

kizwan
04-01-2010, 06:29 PM
Kizwan,
I see you've fixed your Go 7300 in the DSDT. Can you please tell me how, because I have a black screen after wake on my DVI monitor. Mon Asus F3JC sleep and wake well, but I have to turn it off because of this black screen. I have an EFI string in boot.plist to make it work.

Thank you

greatings
Is this wake from sleep or just display turn off (e.g. turn off when idle). I'm too have problem if display turn off, it will remain black. So I set to not turn off display when idle in system preferences.

If it is system sleep, please look to my NVCAP in my DSDT (search for "7300"):-
http://www.mediafire.com/?zmnbzhwq0mt
or
http://www.mediafire.com/?mozqymgktyn

EDIT: What laptop do you have? Mine, Acer Aspire 9420, don't have DVI port.

kizwan