Jump to content

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


  • Please log in to reply
1214 replies to this topic

#861
kozlek

kozlek

    InsanelyMac Sage

  • Developers
  • 331 posts
  • Gender:Male
  • Location:Israel

Memory detection is enabled by default in the modules revisions as well.
The memory detection code by Mozodojo and others is different from Asere's in that it only detects the default speed, not what it's been changed to by adjusting the memory multiplier aor base clock in BIOS.
Asere didn't post his source code, so we don't know for certain how he detected actual speed.


Memory detection code is not mine. It's Rekursor's © code. :P

#862
rekursor

rekursor

    InsanelyMac Sage

  • Retired Developers
  • 369 posts

Memory detection code is not mine. It's Rekursor's © code. :)

The spd mem detection code is totally mine and original code indeed (created on a crazy night&day week end development effort) :(
BUT The pci chipset detection that then permits to get supposedly accurate mem speed (included overclocked) is originally code from bs0d that in turn was based on gpl'd code ...
Both are used, and should give good results when the pci chipset detection can match one the the known ones.
Now what can happen is that oc speed could not be detected correctly because this pci detection addon does not handle it, then we rely on what we can: spd if available, SMBIOS if nothing else is usable.
Another thing that could happen is that the rounding as well as the freq multiplicators to get this oc mem speed is not mature enough for few particular cases.
Finally, I also observed that in rare cases a bad oc mem detection could be due indirectly to a bad cpu speed detection.
As mem speed also depends on cpu speed, it can be an issue in few (rare) cases.

-Rek

#863
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,123 posts
  • Gender:Male
  • Location:Brazil

it only detects the default speed, not what it's been changed to by adjusting the memory multiplier aor base clock in BIOS.


It works for me. If I change speed from 800 to 1066 MHz Chameleon detects it, correct speed shows in System Profiler etc etc.

(P45/ICH10R board)

#864
chaosaltar

chaosaltar

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts

Finally, I also observed that in rare cases a bad oc mem detection could be due indirectly to a bad cpu speed detection.
As mem speed also depends on cpu speed, it can be an issue in few (rare) cases.

-Rek


Yep i'm afraid my Travelmate 5720 laptop is one of those cases..Memory speed is detected and then it hangs there indefinitely..any way I can disable it? Unfortunately RC4 was the last one that ever worked on my machine..

Edit: Minor correction, my memory is not oc'ed..

#865
mitch_de

mitch_de

    InsanelyMacaholic

  • Retired
  • 2,902 posts
  • Gender:Male
  • Location:Stuttgart / Germany
TO DEVs:
I readout my NVCAP (hex values about the gpu output devices dvi,vga,...) with NVCAPMaker.
Its little difference to the fixed NVCAP values for nvidia graphicsenabler.
Maybe no problem, but i have often (after sleep) the problem now that my screen gets blue after wakeup.
Before (using little different NVCAPMaker NVCAP values in dsdt.dsl) i didnt had that problem.
Would it be possible to add an NVCAPoverwrite entry to usw own (fitting) NVCAP value ?

NVCAP Maker reads out the NVCAP from the GPU BIOS - you only need an ROM file for usage.
ROM file: /Volumes/TEMP_1/9600.ROM (you may get own rom without readout by nvflash here: http://www.techpower...ndex.php?page=1
Copyright 2008 Arti Itra version 1.4
If you find this program useful you
may consider a PayPal donation to:
arti.macelite@gmail.com

04000000000003000c0000000000000700000000



My NVCAPMaker nvcap= 04 00 00 00 00 00 03 00 0c 0000000000000700000000
chameleon grapcisenabler (fixed NVCAP code for all NVs, diff to mine 9600GT marked bold)
static uint8_t default_NVCAP[]= {
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a,
0x00, 0x00, 0x00, 0x00

};

Attached Files



#866
ed_co

ed_co

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 187 posts

ed_co,

even i am confused with all these "supposed" revisions of Chameleon running around :P
I already alerted people for the situation here on this topic and i'm not going to do it again!
If you want "me" to be sure you're using Chameleon (compiled from the trunk), head over VoodooForums, check my profile, use the package on my signature and please read!!
That package is Chameleon (trunk) not my branch! I don't supply pre-compiled binaries of my branch!
If you don't get memory detection with that package, then we can start blaming Chameleon... or your mobo ;)


Same behaviour.
And yes, I have an overclock, changing the bus speed from 133 to 166, but if I disable that, doesn't recognize the mem as well.
And if works well with AsereBLN boot loader means that my motherboard is not the problem.

Cheers.

#867
d00d

d00d

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 477 posts
  • Gender:Male
  • Location:41.648324, -70.635260

The spd mem detection code is totally mine and original code indeed (created on a crazy night&day week end development effort) ;)
BUT The pci chipset detection that then permits to get supposedly accurate mem speed (included overclocked) is originally code from bs0d that in turn was based on gpl'd code ...
Both are used, and should give good results when the pci chipset detection can match one the the known ones.
Now what can happen is that oc speed could not be detected correctly because this pci detection addon does not handle it, then we rely on what we can: spd if available, SMBIOS if nothing else is usable.
Another thing that could happen is that the rounding as well as the freq multiplicators to get this oc mem speed is not mature enough for few particular cases.
Finally, I also observed that in rare cases a bad oc mem detection could be due indirectly to a bad cpu speed detection.
As mem speed also depends on cpu speed, it can be an issue in few (rare) cases.

-Rek

I could test a debug version to see why actual speed memory detection doesn't work on X58.
Here's trunk r384's bdmesg;
msr(204): platform_info 00011402
msr(207): flex_ratio 00000000
CPU: Vendor/Model/ExtModel: 0x756e6547/0x1a/0x1
CPU: Family/ExtFamily: 0x6/0x0
CPU: MaxCoef/CurrCoef: 0x0/0x14
CPU: MaxDiv/CurrDiv: 0x0/0x0
CPU: TSCFreq: 4100MHz
CPU: FSBFreq: 205MHz
CPU: CPUFreq: 4100MHz
CPU: NoCores/NoThreads: 8/16
CPU: Features: 0x000002ff

Update:
I'll test r517 and open an issue on voodooprojects if it's still an issue.

#868
Defender666

Defender666

    InsanelyMac Protégé

  • Members
  • PipPip
  • 93 posts
can someone help me out with an application to monitor throttling p-states...

i used voodoomonitor but somehow the download on official site is gone.

What app can you recommend to test speedstep is working right.

#869
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,485 posts
  • Gender:Male
  • Location:Tru, Venezuela
@Defender666, This capture say you something? And Coolbook for monitoring from menu bar.

#870
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...

Same behaviour.
And yes, I have an overclock, changing the bus speed from 133 to 166, but if I disable that, doesn't recognize the mem as well.
And if works well with AsereBLN boot loader means that my motherboard is not the problem.

Cheers.

Ok... the mobo thing was just kidding :) but, we can always blame some mobos of having crappy implementations, even the most recent ones. And sometimes bad Bios updates; some are well known to cause more harm than good!
MemDetection seems to need more work, as many other things on Chameleon; with time will be done, i believe.

#871
mitch_de

mitch_de

    InsanelyMacaholic

  • Retired
  • 2,902 posts
  • Gender:Male
  • Location:Stuttgart / Germany

can someone help me out with an application to monitor throttling p-states...

i used voodoomonitor but somehow the download on official site is gone.

What app can you recommend to test speedstep is working right.


Indeed an good question.
Coolbooks shows that, BUT has its "own" Pstates, means not usable to check chameleon/voodoo generated pstates.
In the past i used MSR Tool, but that stopped working since i run in 64 Bit.

Woudl be great if someone could make an new (64 Bit able) simple MHZ/VID(Volt) monitoring tool.

#872
d00d

d00d

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 477 posts
  • Gender:Male
  • Location:41.648324, -70.635260

Indeed an good question.
Coolbooks shows that, BUT has its "own" Pstates, means not usable to check chameleon/voodoo generated pstates.
In the past i used MSR Tool, but that stopped working since i run in 64 Bit.

Woudl be great if someone could make an new (64 Bit able) simple MHZ/VID(Volt) monitoring tool.

The mark-i application can be used in both 32 and 64 bit, see post 692;
http://www.insanelym...p...6771&st=691

#873
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...

Would it be possible to add an NVCAPoverwrite entry to usw own (fitting) NVCAP value ?

Hey Mitch_de,
did you ever got to try the NVCAP key on the booter?

Edit: link to Asere's booter topic; check "Update Version 1.1.9" on first post.

Edited by Azimutz, 18 September 2010 - 05:58 PM.


#874
kozlek

kozlek

    InsanelyMac Sage

  • Developers
  • 331 posts
  • Gender:Male
  • Location:Israel
NVCAP_%devid% for example NVCAP_06cd for GTX470

#875
hotcorez

hotcorez

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 115 posts
Thanks for this mod. hopefully people know that they need to use msr tools or coolbook in 64bit to monitor the changes in cpu speed (ie. if you were previously using cpu-x + voodoopower) and also that they need to use the correct macmodel in smbios to enable speedstep. ie. for a standard intel c2d 7xxx laptop you could use MacBookPro5,1

lizard.app has most of the main models to choose from. newer machines may require a different macmodel as lizard does not contain a list of all the latest models!

hope that makes sense!

#876
mrheat

mrheat

    InsanelyMac Protégé

  • Members
  • PipPip
  • 50 posts
  • Location:Bavaria / Germany
wouldnt it be useful to attach generated p and c states to bdmesg?

#877
mitch_de

mitch_de

    InsanelyMacaholic

  • Retired
  • 2,902 posts
  • Gender:Male
  • Location:Stuttgart / Germany

Hey Mitch_de,
did you ever got to try the NVCAP key on the booter?

Edit: link to Asere's booter topic; check "Update Version 1.1.9" on first post.


Hi, thanks for the info about that nvcap overwrite key. I didnt tried that already. But perhaps that code isnt (isnt planned) in our chameleon builds.

Here the info of the link in one "view":
Attached File  Bildschirmfoto_2010_09_19_um_09.51.51.jpg   60.38KB   32 downloads

I simple patched my boot file by hexedit with the values from NVCAPMaker.
Whats interesting is:
Most changes (to the orig. static/fixed values of chameleon ) can be seen in IORegistry but not all.
Ioregistry explorer shows taht, whats OS X at the end (after driver / system is up) has in use.
I made an screenshoot of orig. cameleon NVCAP and after that with mine (hexedited).
Orig. chameleon: 04 00 00 00 00 00 0d 00 00 00 00 00 00 00 00 0a 00 00 00 00
Attached File  Bildschirmfoto_2010_09_18_um_09.40.30.jpg   29.61KB   30 downloads
You see all injected as fixed coded in chameleon beside one byte which is shown 1c (hard coded 00 in orig. chameleon)

patched NVCAP = 04 00 00 00 00 00 03 00 0c 00 00 00 00 00 00 07 00 00 00 00
Attached File  Bildschirmfoto_2010_09_18_um_09.43.41.jpg   20.64KB   19 downloads
The 0c (of orig.) shown in IOregistry in both cases as 1c (00 coded in orig. / 0c coded in patched) was changed by OS X : 00 > 1c or 0c (patched) > 1c
0d + 0a bytes (in orig.) was changed as in hexedit to 03 and 07 and stays changed in iOregistry view.

conclusion: Both (also orig. hard coded chameleon NVCAP) worked for me (near, only sleep often gets blue screen after wake).
I believe that the NVCAP IOregistry key is not real static ( i mean its read/write): OS X needs some correct basis information of NVCAP to work at early boottime but may change some details after boot is compledted by its drivers to that value. Maybe like Monitor prefpane which detects monitor, other NV driver parts.

#878
kozlek

kozlek

    InsanelyMac Sage

  • Developers
  • 331 posts
  • Gender:Male
  • Location:Israel

I believe that the NVCAP IOregistry key is not real static ( i mean its read/write): OS X needs some correct basis information of NVCAP to work at early boottime but may change some details after boot is compledted by its drivers to that value. Maybe like Monitor prefpane which detects monitor, other NV driver parts.


Chameleon's NVCAP isn't static and changing at a boot time by the boot loader.

#879
sirbow2

sirbow2

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 728 posts
  • Gender:Male

Chameleon's NVCAP isn't static and changing at a boot time by the boot loader.


i was looking in your status and i noticed that you don t have a FakeSMC kext. how is that possible?

#880
mitch_de

mitch_de

    InsanelyMacaholic

  • Retired
  • 2,902 posts
  • Gender:Male
  • Location:Stuttgart / Germany

Chameleon's NVCAP isn't static and changing at a boot time by the boot loader.

Yep. chameleon injects an fixed NVCAP at boottime - but at least one byte got changed somehow at running time of OS X - look at my screenshoots of IORegistry Explorer.
Not all values (of the 20 hex bytes) shown in IORreg are 100% of chameleon bootloaded injects it. Some bytes got changed after the booting by OS X (some drivers i believe).





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