Jump to content

**Definitive CMOS Reset fix**


56 posts in this topic

Recommended Posts

So looks like RTC needs to be edited again to fix this damn CMOS reset bug for AWARD bios based boards in Snow Leopard...

 

Here's the entry that needs to replace RTC or RTC0 in your DSDT...

 

Enjoy!

 

 

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

 

 

I think the important part is that the Length ends with 0x02.

 

-Stell

Link to comment
Share on other sites

So looks like RTC needs to be edited again to fix this damn CMOS reset bug for AWARD bios based boards in Snow Leopard...

-Stell

 

Confirmed working on Abit IP35 Pro.

CMOS reset not happening anymore.

 

Good Job, Stellarola.

Link to comment
Share on other sites

Good Job!

stellarola,

 

So looks like RTC needs to be edited again to fix this damn CMOS reset bug for AWARD bios based boards in Snow Leopard...

 

Here's the entry that needs to replace RTC or RTC0 in your DSDT...

 

Enjoy!

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

I think the important part is that the Length ends with 0x02.

 

-Stell

Link to comment
Share on other sites

I was doing some edits with my own board, MSI P45 Platinum which by default doesn't have the CMOS reset bug. I decided to add some RTC entires to my DSDT from a MacPro1,1. The result was CMOS RESET! So I was a bit curious how the entires could effect AWARD bios boards and similar. I took a look at the DSDTs of an ABIT and a Gigabyte and they both had similar RTC entires to each other and these boards suffered from the CMOS reset. I decided to inject my working RTC from my board's DSDT and wham, it worked. To be honest though, I think all that needs to be changed is the Length. Anyone is welcome to try this, but the above code works for sure.

 

 

-Stell

Link to comment
Share on other sites

Confirmed working on Abit IP35 Pro.

CMOS reset not happening anymore.

 

Hi biciliono,

Would you upload your DSDT.aml file? I have exactly same motherboard as yours and I do not know how to edit my DSDT.aml file (generated by DSDT Patcher GUI)

 

<<<<solved>>>> editted my DSDT.aml with iasl.app :unsure:

 

Thanks Stell.

Link to comment
Share on other sites

I was doing some edits with my own board, MSI P45 Platinum which by default doesn't have the CMOS reset bug. I decided to add some RTC entires to my DSDT from a MacPro1,1. The result was CMOS RESET! So I was a bit curious how the entires could effect AWARD bios boards and similar. I took a look at the DSDTs of an ABIT and a Gigabyte and they both had similar RTC entires to each other and these boards suffered from the CMOS reset. I decided to inject my working RTC from my board's DSDT and wham, it worked. To be honest though, I think all that needs to be changed is the Length. Anyone is welcome to try this, but the above code works for sure.

-Stell

 

Forgive me asking this noobie question: how do you edit these lines?

Link to comment
Share on other sites

Nice :P that was fast, since last morning...

You're right, Stell.. it's the "lenght" that matters. I've been playing a bit with values from Mac's dsdt's and they don't work.. sticking with "0x02"! So, this is my rtc device:

                Device (RTC)
               {
                   Name (_HID, EisaId ("PNP0B00"))
                   Name (ATT0, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0070,             // Range Minimum
                           0x0070,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                   })
                   Name (ATT1, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0070,             // Range Minimum
                           0x0070,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       If (LEqual (OSFX, 0x03))
                       {
                           If (HPTF)
                           {
                               Return (ATT1)
                           }
                           Else
                           {
                               Return (ATT0)
                           }
                       }
                       Else
                       {
                           Return (ATT0)
                       }
                   }
               }

... only edited 0x04 to 0x02. The fix for the "panic" is present too (IRQNoFlags removed).

To add some info, the real culprit for the cmos reset is the new AppleRCT.kext 1.3 used in Snow Leopard. Using the same kext from Leo also solves the issue but, prevents the use of x64 bit mode. So, this is quite nice...

Thannnnks Stell :D

 

p.s.: Also like to thank Rama (on irc), who first pointed last morning the AppleRTC.kext solution.

 

p.s.s.: mobo= Asus, bios= Phoenix Award

Link to comment
Share on other sites

I'm using Leopard with PC EFI v10 and I always get the CMOS resetting. (BIOS beep + CPUID/PatchID message in BIOS).

I have disabler set to disable AICPM and EFI kexts. I tried this DSDT fix and it still doesn't work.

 

I've always had this problem since I first installed Leopard (10.5.4 if I remember correctly). Does the constant resetting harm the BIOS in any way? Anyone knows a fix for this?

Link to comment
Share on other sites

I'm using Leopard with PC EFI v10 and I always get the CMOS resetting. (BIOS beep + CPUID/PatchID message in BIOS).

I have disabler set to disable AICPM and EFI kexts. I tried this DSDT fix and it still doesn't work.

 

I've always had this problem since I first installed Leopard (10.5.4 if I remember correctly). Does the constant resetting harm the BIOS in any way? Anyone knows a fix for this?

 

Doc, your's is the first case i heard of cmos reset out of Snow Leopard. If it's just a reset to defaults, i don't think it will harm anything. I had the same concern and i was told not to worry.

If i run into any relevant info, i'll remember you :)

By the way.. did you try Snow? In case you don't know, there's already a kernel for us, just no running 64 bit "anything".. i mean, not even apps. The kernel is missing x86_64 arch and more important, it doesn't have (yet) the patch Voodoo has so the Pentium D can be recognized as 64 bit capable.. but, even so, it's totally worth running the white kitty!

Snow just rocks :D

 

-------------------------------

 

STLVNUB.. don't bother, mate. I already tryed it ;)

Link to comment
Share on other sites

To make things even stranger, on a mac, the length for RTC is actually 8, may try that value and see what happens.

On my Laptop, I have it as 8 and I don't have this CMOS Reset Thing.

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

Link to comment
Share on other sites

Yeah still does same thing, worth a try though.

Also the Alignment is different on Mac, didn't try that, may make a difference, but doubt it.

 

Also tryed the alignment...

 

On my Laptop, I have it as 8 and I don't have this CMOS Reset Thing.

 

On Snow Leopard? ... your sig...

Link to comment
Share on other sites

Don't get excited.. just asking.. your sig says 10.5.7. (EDIT: said)

This is mainly a Award bios problem.. if you have another bios, that's why you don't have the reset.

Or you just don't have it because you laptop is similar to a Mac.. who knows ;) lucky you.

Link to comment
Share on other sites

Have been wondering why this cmos error happens and why the fix works.

SO...

I suspect that the MAC RTC is 512 bytes, as changing the length value from 4 to 2

makes the following line appear in Kernel.log.

 

Jul 12 06:47:17 localhost kernel[0]: RTC: Only single RAM bank (128 bytes)

 

Appears PC RTC only has 128 Bytes??

 

Anyone else shed some light???

Sounds plausible. I just noticed it was 128 Bytes from the log, too.

 

Love the fix! What a time saver when doing many boots.

I find the latest SL release very buggy. Lots of warmd KPs.

 

regards,

MAJ

Link to comment
Share on other sites

Have been wondering why this cmos error happens and why the fix works.

SO...

 

yeah.. that 128 byte thing got me curious too and i've been messing with it in the past hours.

Well, sure has to do with the memory size for RTC device! Take a look at this patent.. it's suitable for both noobs and geeks :rolleyes:

I also did some more testing with other Alignment/Lenght/Range values.. goes like this:

 

- in Alignment only tested 0x01 with no visible difference, whatever the value for Lenght. Didn't tested more values because, 01 is the only one i found on dsdt beside 00.

 

- in Lenght:

0x00= RTC: device map memory failed ... boot stalls some lines after. No reset!

0x01= RTC: invalid device register map ... boot stalls some lines after. No reset!

0x03= 0x02 (this was just out of curiosity.. don't think there's such a value.)

Anything 04≤ resets cmos on my machine.

 

Maybe Apple is going to upgrade RTC on future Mac's shipping Snow Leopard??! Don't forget that, to my knowledge (with the exception of DrHurt case) this started with Snow, most possibly with the introduction of AppleRTC.kext 1.3. Using Leo RTC kext also cures the reset and booting Leo with the patched dsdt doesn't show any RTC messages at boot (at least in my machine with Voodoo kernel).

There's still to many "maybes"... going to try to find more info on the matter...

Link to comment
Share on other sites

I think the cause of the CMOS reset in my case is NOT related to the RTC. I have absolutely no problems so far except for a BIOS beep on every boot/restart.

Link to comment
Share on other sites

 Share

×
×
  • Create New...