Jump to content

**Definitive CMOS Reset fix**


  • Please log in to reply
60 replies to this topic

#1
stellarola

stellarola

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 682 posts
  • Gender:Male
  • Location:Lextown, KY
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

#2
biciolino

biciolino

    InsanelyMac Protégé

  • Members
  • Pip
  • 29 posts
  • Gender:Male
  • Location:Italy

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.

#3
Ritz Carltn

Ritz Carltn

    Ritz Carltn

  • Members
  • PipPipPipPip
  • 222 posts
  • Gender:Male
  • Interests:HP EliteBook 8540p,i7-820QM, 68CVD Ver F.0F, nVidia NVS5100M, ML with Clover
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



#4
FKA

FKA

    are we there yet?

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,626 posts
  • Gender:Male
Blinding !!

#5
stellarola

stellarola

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 682 posts
  • Gender:Male
  • Location:Lextown, KY
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

#6
ricola

ricola

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 171 posts
  • Gender:Male

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.

#7
STLVNUB

STLVNUB

    InsanelyMac Legend

  • Coders
  • 1,095 posts
  • Gender:Male
Working on my P35c, Thanks very much
One small step for man.
One GIANT Leap to Perfection...

#8
tdtran1025

tdtran1025

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 351 posts

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?

#9
stellarola

stellarola

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 682 posts
  • Gender:Male
  • Location:Lextown, KY

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


You're going to have to dump your DSDT first. Use fassl's DSDT Patcher. There is an entire thread dedicated to it here... http://www.insanelym.....pic=133683%22

-Stell

#10
tdtran1025

tdtran1025

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 351 posts
Never mind. Thank you.

#11
Azimutz

Azimutz

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 759 posts
  • Gender:Male
  • Location:Almadan - Pt.
  • Interests:At the moment, OSx86.. In general, music, audiophile, computers.. to much to mention...
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:
[codebox] 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)
}
}
}
[/codebox]
... 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

#12
Dr. Hurt

Dr. Hurt

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,456 posts
  • Gender:Male
  • Location:Cairo, Egypt and NYC, USA
  • Interests:Wandering around on the internet!! Politics, Sci/Tech, Medicine.
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?

#13
cparm

cparm

    InsanelyMac Legend

  • Retired
  • 997 posts
  • Gender:Male
it work on my p35, i confirme you only have to edit the Length entry from 0x04 to 0x02

#14
Trauma!

Trauma!

    Took too much...

  • Members
  • PipPipPipPipPipPipPip
  • 964 posts
  • Gender:Male
  • Location:France
Hey Stell,

Nice found ;)

Thanks very much dude.

Cya

#15
Cybex

Cybex

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 178 posts
  • Gender:Male
  • Location:Holland
Good job finding the cure! Thumbs up!

#16
jinnggoff

jinnggoff

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 133 posts
  • Gender:Male
  • Location:hackintosh
Wow you're a Genius sir, thanks Stellarola

#17
STLVNUB

STLVNUB

    InsanelyMac Legend

  • Coders
  • 1,095 posts
  • Gender:Male
To make things even stranger, on a mac, the length for RTC is actually 8, may try that value and see what happens.

#18
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,879 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Also here working (edit 0x4 > 0x2) , GA-EP35-DS3.
Thanks

#19
Azimutz

Azimutz

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 759 posts
  • Gender:Male
  • Location:Almadan - Pt.
  • Interests:At the moment, OSx86.. In general, music, audiophile, computers.. to much to mention...

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 ;)

#20
STLVNUB

STLVNUB

    InsanelyMac Legend

  • Coders
  • 1,095 posts
  • Gender:Male

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


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.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy