Jump to content

AppleRTC patch = random HDD issue?


nyolc8
 Share

6 posts in this topic

Recommended Posts

I patched my AppleRTC to fix the CMOS reset at reboot after sleep with THIS method. Then my sleep broke, so the machine didn't went into full sleep, only the display turned off and maybe the HDDs. So I made the following modifications to my DSDT:

 

I changed this:

evice (TMR)
		 {
			 Name (_HID, EisaId ("PNP0100"))
			 Name (ATT5, ResourceTemplate ()
			 {
				 IO (Decode16,
					 0x0040,			 // Range Minimum
					 0x0040,			 // Range Maximum
					 0x00,			 // Alignment
					 0x04,			 // Length
					 )
				 IRQNoFlags ()
					 {0}
			 })
			 Name (ATT6, ResourceTemplate ()
			 {
				 IO (Decode16,
					 0x0040,			 // Range Minimum
					 0x0040,			 // Range Maximum
					 0x00,			 // Alignment
					 0x04,			 // Length
					 )
			 })
			 Method (_CRS, 0, NotSerialized)
			 {
				 If (LGreaterEqual (OSFX, 0x03))
				 {
					 If (HPTF)
					 {
						 Return (ATT6)
					 }
					 Else
					 {
						 Return (ATT5)
					 }
				 }
				 Else
				 {
					 Return (ATT5)
				 }
			 }
		 }

 

To this:

Device (TIMR)
		 {
			 Name (_HID, EisaId ("PNP0100"))
			 Name (_CRS, ResourceTemplate ()
			 {
				 IO (Decode16,
					 0x0040,			 // Range Minimum
					 0x0040,			 // Range Maximum
					 0x00,			 // Alignment
					 0x04,			 // Length
					 )
				 IO (Decode16,
					 0x0050,			 // Range Minimum
					 0x0050,			 // Range Maximum
					 0x00,			 // Alignment
					 0x04,			 // Length
					 )
			 })
		 }

 

And changed this:

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

 

To this:

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

 

These modifications fixed nicely the issue, I got proper sleep and no cmos reset at restart.

 

 

 

So here is the problematic part:

 

I have two SATA HDD in my pc, one for OSX(all partitions are hfs), and one for Win8(all partitions are ntfs).

Sometimes my OSX not recognizes the Win8 HDD at all. So it's not appearing in disk utility, not in finder, and there is no ntfs related messages at boot in the console. If I restart, it recognizes it. Or not :D If not, then I restart again and then it recognizes it. So it seems totally random.

 

But this is definitely not happened before patching appleRTC and the DSDT changes.

 

Any idea how to fix my problem? Is the DSDT changes made this HDD problem? If yes, how to fix it?

Link to comment
Share on other sites

Thanks you for the answers, I removed the "IRQNoFlags () {8}" and changed the alignment and length. I'll report back that is fixed or not.

 

Edit: 3 restart since the modifications, it's good since then. I'll post here if the problem appear again. :)

Link to comment
Share on other sites

I figured out that sleep doesn't worked because many times my (btech - cambridge silicon chip) bluetooth dongle wakes up the system imidiatelly (on windows too, so not osx issue) when I put the system into sleep mode, so I changed back the DSDT RTC and TMR devices for (almost) the same as before. I really hoping that this fix the hdd issue... No problem yet.

Now I need to figure out what is the problem with my bluetooth dongle.... :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...