Jump to content

Chameleon RC5 mode with mem detection enabled and automatic P-States & C-States generation for native power managment


kozlek
 Share

1,214 posts in this topic

Recommended Posts

Hey Y'all

 

I am using RC5 rev 619 that i got from from iFabio's installer. I have a Asus Z8NA-D6 mb with two Xeon e5520's

 

I am trying to get Power management working natively in hope it may help me with my sleep Problem, or lack there of I wrote a ost about that here :

 

http://www.insanelymac.com/forum/index.php...t&p=1576092

 

I also have been posting in the Guide to Z8NA-D6 that Peach-os started.

 

anyways just a few questions about this installer.

 

Memory detection doesn't seem to work for me if I don't define mem speed in the smbios it comes up at 800mhz instead of the 1066 it should be ( actually there are 1333 speed but i use a force 1066 option in the bios as i belive the 5520's dont support 1333)

 

also If use both DropSSDT=yes, or leave that out it always says in the bdmesg "pstates failed cpu unsupported"

 

are Xeon 5520's not supported by this bootloader?

 

If i use dropSSDT = No and a DDST that I got from PeachOS i still get the same bdmesg, but I can see a p-states in the IOReg, also i see CSTinfo. (i always get C-sates generated successfully msgs)

 

I am thinking i need to dump SSDT tables from Windows and follow some of Gringo's earlier advice. But I am actualy still unsure as to where this will solve the sleep problems since i do have p-sates and cstates....no?

 

My GA-Ex58_ud3r with a i7 920 sleeps very nicely. i looked at that and i have 8 p-states and no CSTinfo. (using asere's RC4 bootloader on that one)

 

I have attached the IOreg and bdmesg from running RC5 with the DSDT.aml and no DropSSDT, as this is what gives me the pstates

bdmeg_DSDT_noDrop.rtf

post-572945-1288895465_thumb.png

Link to comment
Share on other sites

I really don't understand why someone needs P-States or C-Staes generated by the loader for LGA1156/1366 motherboards? Doesn't these motherboards generate beautiful SSDTs with all necessary information (_PSS, _CST, _PSD and so on)?

Link to comment
Share on other sites

Hi Chaosaltar...

Did you made a complete install of the booter? boot0, boot1h and boot... Probably has nothing to do with this, just to be sure.

If you get the same result try to disable memory detection, UseMemDetect=n.

Also, do you get that hang with -f or..?

The hang i managed to reproduce on my system is at the "Using PCI-Root-UID value:..." message and combined with -f argument, like reported by others.

 

Hey thanks for the reply, yes I did do a complete install, as per the instructions in the downloaded binaries :-). I haven't tried disabling mem detection, I will do so and also try -f.

 

Thanks again,

 

Yiannis

Win,partially..with MemDetection turned the system boots up but it is just unbearably slow, it feels like there's a ton of interrupts happening while I use the system, slowing everything down.

Just for reference here is my smbios config

	<key>SMexternalclock</key>
<string>200</string>
	<key>SMmaximalclock</key>
	<string>2000</string>
<key>SMbiosversion</key>
<string>MBA11.88Z.00BB.B00.0712201139</string>
<key>Board Id</key>
<string>Mac-F42C8CC8</string>
<key>SMmanufacter</key>
<string>Apple Inc.</string>
<key>SMproductname</key>
<string>MacBookPro5,1</string>
<key>SMboardmanufacter</key>
<string>Apple Inc.</string>
<key>SMsystemversion</key>
<string>1.0</string>

 

and boot.plist

 

	<key>Kernel</key>
<string>mach_kernel</string>
<key>Timeout</key>
<string>5</string>
<key>Kernel Flags</key>
<string>arch=i386</string>
<key>Graphics Mode</key>
	<string>1024x768x32</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>DropSSDT</key>
<string>No</string>
<key>PciRoot</key>
<string>1</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>SystemType</key>
<string>2</string>
<key>RestartFix</key>
<string>true</string>
<key>UseMemDetect</key>
<string>No</string>

Link to comment
Share on other sites

I really don't understand why someone needs P-States or C-Staes generated by the loader for LGA1156/1366 motherboards? Doesn't these motherboards generate beautiful SSDTs with all necessary information (_PSS, _CST, _PSD and so on)?

 

Hey Mozodojo, yeah, sorry i think i was like jojo the idiot circus boy with his pretty new pet.

 

I booted my z8na-d6 with e5620's with RC5 rev 619, with no DSDT.aml, no "dropDDST=yes", no "Generate C-states", no "Generate P-states". and i checked IOreg to find 8 p-states and CSTinfo.

 

I guess i was way off base on this, sorry.

Link to comment
Share on other sites

My notebook had different C-States for AC Power and Battery Power. I can't find anything related to this in the source code. I also fail to see where the PDC0 value (TEMP in Asus BIOSes) is read, because that will tell you what is possible / enabled in the BIOS.

 

Anyone here able to dump the value of PDC0 or TEMP in some way – after OSPM has evaluated Method _PDC – to check / validate the injected code? I guess not eh?

Link to comment
Share on other sites

Ok, just an update:

The problem again was that Speedstep was activated, 8 P-states generated (Checked using bdmesg and found 'em in ioreg) but the CPU was stuck on the lowest P-state (537Mhz).

 

A further inspection of ioreg under: ACPI_SMC_PlatformPlugin i found the property "CPUPLimit" has a value of 0x7 which

is P-State #8 (537Mhz), and after some googling i found that the reason for such a problem is that no MacBook/Pro/Air has 8 P-States, to solve it i had to do one of the following:

 

* Choose another Mac model in SMbios.plist, a one that might have 8 P-States but since no MacBook has such a number

i would have to choose a MacPro, iMac..etc , something that i didn't want to do since mine is a laptop.

 

OR

 

* Edit the plist file for the model i already choosed (MacBook3,1) in:

S/L/E/IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatfomPlugin/Contents/Resources/MacBook3_1.plist

Then add the following lines just before "<key>StepDataDict</key>" :

 

<key>PLimitDict</key>

<dict>

<key>MacBook3,1</key>

<integer>0</integer>

</dict>

 

Those lines enforce the CPUPLimit property to be 0x0 hence speedstep will work in the full range of P-States.

 

Sorry for making it that long but i just wanted to explain it in detail so it might help someone else with the same probelm.

 

The rest of my problem now is that C-States are generated successfully but i can't see any CSTinfo in ioreg

and memory speed is detected as 600Mhz instead of 667Mhz.

Am using r629 which i compiled couple of days ago.

Any hints?

 

Thanks,

ToBeMac

Link to comment
Share on other sites

To enable C-States you must enable LPC via DSDT device id masking or LPC device id injector.

 

A part of LPCB code from my DSDT:

			Device (LPCB)
		{
			Name (_ADR, 0x001F0000)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"name", 
						Buffer (0x0D)
						{
							"pci8086,3b09"
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

Link to comment
Share on other sites

To enable C-States you must enable LPC via DSDT device id masking or LPC device id injector.

 

A part of LPCB code from my DSDT:

			Device (LPCB)
		 {
			 Name (_ADR, 0x001F0000)
			 Method (_DSM, 4, NotSerialized)
			 {
				 Store (Package (0x02)
					 {
						 "name", 
						 Buffer (0x0D)
						 {
							 "pci8086,3b09"
						 }
					 }, Local0)
				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				 Return (Local0)
			 }

 

 

Thanks for your reply!

Well, i searched my DSDT and didn't find such a device at all.

What do you think i should do next?

 

Thanks again.

Link to comment
Share on other sites

Search for:
Name (_ADR, 0x001F0000)

That's the one you are looking for :)

 

Aha! It's here with a different name of ISAB:

			 Device (ISAB)
		 {
			 Name (_ADR, 0x001F0000)
			 Device (PS2M)
			 {
				 Name (_HID, EisaId ("PNP0F13"))
				 Name (CRS, ResourceTemplate ()
				 {
					 IRQNoFlags ()
						 {12}
				 })
				 Method (_CRS, 0, NotSerialized)
				 {
					 Return (CRS)
				 }
			 }

 

Yet when i tried to copy/paste the method mozodojo posted i got an error saying that DTGP is not found as in:

   
		 Device (ISAB)
		 {
			 Name (_ADR, 0x001F0000)
			 Method (_DSM, 4, NotSerialized)
			 {
				 Store (Package (0x02)
					 {
						 "name",
						 Buffer (0x0D)
						 {
							 "pci8086,3b09"
						 }
					 }, Local0)
				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				 Return (Local0)
			 }				
			 Device (PS2M)
			 {
				 Name (_HID, EisaId ("PNP0F13"))
				 Name (CRS, ResourceTemplate ()
				 {
					 IRQNoFlags ()
						 {12}
				 })
				 Method (_CRS, 0, NotSerialized)
				 {
					 Return (CRS)
				 }
			 }

 

Looks like am doing something stupid or maybe i shouldn't just copy/paste it as is.

Link to comment
Share on other sites

Looks like you need to go to read some FAQs and tutorials about DSDT editing. Here it is offtopic.

 

Ok, after some searching and reading:

* DTGP method implemented in DSDT

* LPC device obtained through lspci -nn

* added the method you mentioned above with my own device id:

 

			 Device (ISAB)
		 {
			 Name (_ADR, 0x001F0000)
			 Method (_DSM, 4, NotSerialized)
			 {
				 Store (Package (0x02)
					 {
						 "name",
						 Buffer (0x0D)
						 {
							 "pci8086,2815"
						 }
					 }, Local0)
				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				 Return (Local0)
			 }

 

what about the "name" and the buffer value?

Up to this point i still get the initialization error of C-States at boot, and no CSTinfo in ioreg (AppleLPC is there though with the correct id of 2815).

 

Anything else am missing?

Thanks.

Link to comment
Share on other sites

Ok, after some searching and reading:

* DTGP method implemented in DSDT

* LPC device obtained through lspci -nn

* added the method you mentioned above with my own device id:

 

what about the "name" and the buffer value?

Up to this point i still get the initialization error of C-States at boot, and no CSTinfo in ioreg (AppleLPC is there though with the correct id of 2815).

 

Anything else am missing?

Thanks.

 

As I have previously mentioned, at this point there is simply no solution for that particular error on our rigs.

Link to comment
Share on other sites

As I have previously mentioned, at this point there is simply no solution for that particular error on our rigs.

 

Oh, looks like am not alone in that C-State error boat!

Your rig is having the same "symptoms", aka. no C-States/CSTinfo?

 

I wonder if this has something to do with the "Dell" brand after all :P

Link to comment
Share on other sites

Oh, looks like am not alone in that C-State error boat!

Your rig is having the same "symptoms", aka. no C-States/CSTinfo?

 

I wonder if this has something to do with the "Dell" brand after all :)

 

You are far from alone in this particular boat. Here is a good topic discussion which references this issue and its possible causes:

 

http://www.insanelymac.com/forum/index.php?showtopic=190780

 

This is likely to be my last Dell. I'm getting a Mac next. :)

Link to comment
Share on other sites

* added the method you mentioned above with my own device id:

That's your problem right there. :)

 

If your LPC device's device ID was known by the driver, you would not need to patch the device ID in the first place!

 

The whole idea of adding the device ID is to replace your LPC device's device ID with one that is recognized by AppleLPC.kext. Check info.plist inside and (not sure how much this matters) pick one that is close to your real ID.

Link to comment
Share on other sites

That's your problem right there. :D

 

If your LPC device's device ID was known by the driver, you would not need to patch the device ID in the first place!

 

The whole idea of adding the device ID is to replace your LPC device's device ID with one that is recognized by AppleLPC.kext. Check info.plist inside and (not sure how much this matters) pick one that is close to your real ID.

 

 

Well, that's true i believe since with or without the method, i have AppleLPC load with the correct device ID:

 

post-594519-1289082789_thumb.png

 

 

Yet the problem remains, getting the same C-State error at boot and no CSTinfo in ioreg.

Maybe i have to do something in MacBook3_1.plist file in ACPI_SMC_PlatfomPlugin just like i did to change CPUPlimit to 0x0? or it's just the C-State "curse" of Dell? :D

 

You are far from alone in this particular boat. Here is a good topic discussion which references this issue and its possible causes:

 

http://www.insanelymac.com/forum/index.php?showtopic=190780

 

This is likely to be my last Dell. I'm getting a Mac next. ;)

 

 

Yep! the new MacBook Air is so seductive :)

Link to comment
Share on other sites

Yet the problem remains, getting the same C-State error at boot and no CSTinfo in ioreg.

Maybe i have to do something in MacBook3_1.plist file in ACPI_SMC_PlatfomPlugin just like i did to change CPUPlimit to 0x0? or it's just the C-State "curse" of Dell? :D

 

Yep! the new MacBook Air is so seductive :)

 

As nearly everything Apple, it is indeed a pinnacle of human engineering.

 

Since very recently, while using the latest VoooBattery.kext by Superhai, I have lost the charge level indicator. Now, with the A/C adapter unplugged, it just shows 0%, with it plugged in, it reads (Not Charging) instead of the usual percentage or time.

Also, my external USB HD disconnect shortly after boot up, perhaps a related issue. Is the USB port not getting enough current?

 

I have already posted this issue in the Dell M1530 DSDT.aml thread, however it might possibly be related to the Chameleon RC5.

Link to comment
Share on other sites

I have installed the new boot loader on my AMD machine, but now I can't boot :-(

I think it must be a solution to fix this :-)

 

Or is the only way to fix this to make a new installation of the OS ?

 

I have attached a photo what's going on when booting, after "press any key to continue...." it's just reboots :-(

 

Help

 

EDIT

 

I have try to boot with -x , but with no luck

 

EDIT 2

 

I have made a new installation of the OS, it's looks like this boot loader don't like AMD

 

 

//Peter

post-683117-1289120662_thumb.jpg

Link to comment
Share on other sites

Is there a list of Graphics cards supported by the current Chameleon?

 

Which Source file would I see this list in?

 

Thanks

 

Edited:

 

Found it.

 

/i386/libsaio/nvidia.c

 

and

 

/i386/libsaio/ati.c

Link to comment
Share on other sites

I know that this is off-topic talk (for this topic) but I thought that one of the devs might be interested in it. To forward it to a more appropriate forum / right developer. Anyway. The CPU type for an Intel Core i5-540m should be 0x602 and not 0x601 (I have one here). Thank you.

Link to comment
Share on other sites

Has anyone else noticed that with the latest Chameleon Revisions that there is less Graphics Cards card working particularly the older cards?

 

Example, nVidia 7300 GT 256MG I tested will not give me a login screen. Just a blue screen. I will get a login screen with GraphicsEnabler=No

 

Another example nVidia 210 GT black screen. Same here I will get a login screen if I use GraphicsEnabler=No

 

I have even tried nvflash.exe to get the roms for each, then nvcap maker and osx86tools to generate EFI strings which did not help any.

 

Maybe the 210GT was never really working perfectly before from my searching but these two cards I listed are in the nvidia source files so they are suppose to be supported right?

 

7300 GT has always worked for me in the past.

 

Thanks

Link to comment
Share on other sites

This thread is rather long at 52 pages so forgive me if this has already been asked...

 

Does this new version allow you fix the RTC CMOS reset problem without DSDT editing?

 

I only ask because I've made a USB stick to install OSX from, and it's annoying that I lose all my BIOS settings when I do this.

 

I would put DSDT on my USB stick but I am using it on more than 1 kind of PC...

Link to comment
Share on other sites

 Share

×
×
  • Create New...