Chameleon with SMBIOS patching |
Chameleon with SMBIOS patching |
|
mackerintel
InsanelyMac Geek
|
![]() |
Nov 18 2008, 07:25 PM Post #1
|
![]() ![]()
|
Hello all. Despite not having much free time I could held myself off coding and wrote an SMBIOS patching for Chameleon. As usual compiled version + patch. Thanks superhai for pointing me which values have to be changed in SMBIOS. This work is really fresh. I didn't test it much yet. After installing it you need to specify the SMBIOS values in com.apple.Boot.plist. Original message by superhai. In square brackets - the names of variables in com.apple.Boot.plist
QUOTE There are certain things that are more important than others. But the values I change in SMBIOSResolver are the following that smbios uses: Table Type 0 (bios): version (MBP41.88Z.00C1.B00.0802091544) [SMbiosversion] Table Type 1 (system): manufacturer (Apple Inc.) [SMmanufacter] productname (MacBookPro4,1) [SMproductname] version (1.0) [SMsystemversion] serial-number (SECRETSERIAL) [SMserial] Table Type 4 (cpu): external-clock [SMexternalclock] maximum-clock [SMmaximalclock] Table Type 17 (memory): manufacturer (Unknown) [SMmemmanufacter] memorytype [SMmemtype] memoryspeed [SMmemspeed] serialnumber (Unknown) [SMmemserial] partnumber (Unknown) [SMmempart] devicelocator [SMmemdevloc] banklocator [SMmembankloc] You should check if they contain a sane value, and if not update with a dummy value (what I have in parentesis is what I used). Except clock and memoryspeed, which should be calculated or provided from some kind of input file, for memory you could also make routine to read spd data via smbus, but i dont think that is feasible due to space. Serialnumbers could be made more appleish or just provide whatever is there. Depending on your BIOS you may not need to modify all theese parameters. If there are multiple tables of the same type then modifications will be applied to all of them. If you want to modify only first table then suffix "_1" to parameter name, "_2" for second, ... Eg SMmemserial changes serials of all memory banks SMmemserial_1 changes the serial of first bank SMmemserial_2 changes the serial of second bank Here is extract from my com.apple.Boot.plist using superhai's values: CODE <key>SMbiosversion</key> <string>MBP41.88Z.00C1.B00.080209154</string> <key>SMmanufacter</key> <string>Apple Inc.</string> <key>SMproductname</key> <string>MacBookPro4,1</string> <key>SMsystemversion</key> <string>1.0</string> <key>SMserial</key> <string>SECRETSERIAL</string> Thanks for Korrupted for moving thread
Attached File(s)
|
![]() |
|
roisoft
InsanelyMac Legend
|
![]() |
Nov 18 2008, 07:41 PM Post #2
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
this patch contains your previous DSDT patch?
gracias amigo |
|
mackerintel
InsanelyMac Geek
|
![]() |
Nov 18 2008, 07:44 PM Post #3
|
![]() ![]()
|
|
|
roisoft
InsanelyMac Legend
|
![]() |
Nov 18 2008, 07:47 PM Post #4
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
Compiled version: yes diff-file: no ok, thanks... I´ll try it... edit: works fine with my Asus P5W-DH C2D-E6750 ....congrats ![]() ![]() CODE p5w-dh-deluxe-de-roisoft:~ roisoft$ sysctl hw hw.ncpu: 2 hw.byteorder: 1234 hw.memsize: 2147483648 hw.activecpu: 2 hw.optional.x86_64: 1 hw.optional.sse4_2: 0 hw.optional.sse4_1: 0 hw.optional.supplementalsse3: 1 hw.optional.sse3: 1 hw.optional.sse2: 1 hw.optional.sse: 1 hw.optional.mmx: 1 hw.optional.floatingpoint: 1 hw.packages: 1 hw.tbfrequency: 1000000000 hw.l2cachesize: 4194304 hw.l1dcachesize: 32768 hw.l1icachesize: 32768 hw.cachelinesize: 64 hw.cpufrequency_max: 2664000000 hw.cpufrequency_min: 1998000000 hw.cpufrequency: 1998000000 hw.busfrequency_max: 1332000000 hw.busfrequency_min: 1332000000 hw.busfrequency: 1332000000 hw.pagesize: 4096 hw.cachesize: 2147483648 32768 4194304 0 0 0 0 0 0 0 hw.cacheconfig: 2 1 2 0 0 0 0 0 0 0 hw.cpufamily: 1114597871 hw.cpu64bit_capable: 1 hw.cpusubtype: 4 hw.cputype: 7 hw.logicalcpu_max: 2 hw.logicalcpu: 2 hw.physicalcpu_max: 2 hw.physicalcpu: 2 hw.machine = i386 hw.model = MacPro3,1 hw.ncpu = 2 hw.byteorder = 1234 hw.physmem = 2147483648 hw.usermem = 2013290496 hw.pagesize = 4096 hw.epoch = 0 hw.vectorunit = 1 hw.busfrequency = 1332000000 hw.cpufrequency = 1998000000 hw.cachelinesize = 64 hw.l1icachesize = 32768 hw.l1dcachesize = 32768 hw.l2settings = 1 hw.l2cachesize = 4194304 hw.tbfrequency = 1000000000 hw.memsize = 2147483648 hw.availcpu = 2 |
|
|
THe KiNG
InsanelyMac Sage
|
![]() |
Nov 19 2008, 08:43 AM Post #5
|
![]() ![]() ![]() ![]() ![]() ![]()
|
this patch contains your previous DSDT patch? gracias amigo Compiled version: yes diff-file: no AFAIK it dosen't work for me Refuse to load my modded DSDT, it dosent like my audio stuff injection then it freeze, freeze also on -s |
|
Slice
InsanelyMac Legend
|
![]() |
Nov 19 2008, 08:49 AM Post #6
|
![]()
|
Please look here
http://forum.insanelymac.com/index.php?sho...20&start=21 it appears after DSDT patch with chameleon. I am not alone with this bug. Any ideas? |
|
mackerintel
InsanelyMac Geek
|
![]() |
Nov 19 2008, 08:57 AM Post #7
|
![]() ![]()
|
AFAIK it dosen't work for me Refuse to load my modded DSDT, it dosent like my audio stuff injection then it freeze, freeze also on -s Please look here http://forum.insanelymac.com/index.php?sho...20&start=21 it appears after DSDT patch with chameleon. I am not alone with this bug. Any ideas? Does problem also appears if both features (SMBIOS & DSDT) are activated but don't really do anything (smbios version, but no smbios parameters in Boot.plist and unmodified DSDT dump present in DSDT.aml). How exactly was DSDT patched? I think that information in SMBIOS and DSDT is incomplete or contradictory. @ all: if you have suggestion of what other fields of SMBIOS would be useful to be able to modify post it here |
|
Slice
InsanelyMac Legend
|
![]() |
Nov 19 2008, 09:54 AM Post #8
|
![]()
|
I tried.
This is my Boot.plist CODE <dict> <key>Kernel</key> <string>mach_kernel</string> <key>Kernel Flags</key> <string></string> <key>Timeout</key> <string>5</string> <key>SMbiosversion</key> <string>MBP41.88Z.00C1.B03.0802271651</string> <key>SMmanufacter</key> <string>Apple Inc.</string> <key>SMproductname</key> <string>MacBookPro4,1</string> <key>SMsystemversion</key> <string>1.0.14</string> <key>SMserial</key> <string>W88261E7YP4</string> <key>device-properties</key> <string></string> </dict> My pictures and dsdt
Attached File(s)
Picture_1.png ( 60.78K )
Number of downloads: 1089
Picture_2.png ( 37.26K )
Number of downloads: 813
Picture_3.png ( 59.64K )
Number of downloads: 764
Picture_4.png ( 33.29K )
Number of downloads: 559
dsdt_fixed.txt ( 178.76K )
Number of downloads: 332 |
|
mackerintel
InsanelyMac Geek
|
![]() |
Nov 19 2008, 02:01 PM Post #9
|
![]() ![]()
|
|
|
BlackCH
Insanely Custom
|
![]() |
Nov 19 2008, 03:20 PM Post #10
|
![]() ![]() ![]() ![]() ![]() ![]() ![]()
|
It works here; DSDT override and SMBIOS features.
The only problem is that vanilla SMBIOS doesnt pick cpu/bus speeds correctly; so I still have to add a SMBIOS injector (AppleSMBIOSEFI.kext) to get all the info right. So Name and Idetifiers comes from chameleon and the rest are provided by the kext...
Attached File(s)
|
|
mackerintel
InsanelyMac Geek
|
![]() |
Nov 19 2008, 03:25 PM Post #11
|
![]() ![]()
|
It works here; DSDT override and SMBIOS features. The only problem is that vanilla SMBIOS doesnt pick cpu/bus speeds correctly; so I still have to add a SMBIOS injector (AppleSMBIOSEFI.kext) to get all the info right. So Name and Idetifiers comes from chameleon and the rest are provided by the kext... You have to set theese values: QUOTE Table Type 4 (cpu):
external-clock [SMexternalclock] maximum-clock [SMmaximalclock] |
|
Slice
InsanelyMac Legend
|
![]() |
Nov 19 2008, 04:31 PM Post #12
|
![]()
|
I have currently no time to look at you DSDT. However I would suggest using vanilla AppleSMBIOS with SMBIOS-patching chameleon. Also looking at sysctl hw may give an answer. Yes, I have vanilla SMBIOS without any SMBIOSEFI additions. Looking for other informations... |
|
mackerintel
InsanelyMac Geek
|
![]() |
Nov 19 2008, 04:48 PM Post #13
|
![]() ![]()
|
Yes, I have vanilla SMBIOS without any SMBIOSEFI additions. Looking for other informations... Strange. Because serial in properties should be the same as in Boot.plist. Are you sure that you have installed Chameleon correctly? Have you set your SMmaximalclock and SMexternalclock? Could you post your ioreg -lw0? |
|
robertoSTUDIOS
InsanelyMac Protégé
|
![]() |
Nov 19 2008, 05:53 PM Post #14
|
![]()
|
Hi!
Grat stuff! Working serial, modell, etc... but what the format is SMExternalclock and SMMaxclock? And SMmaxclock is my processor clock without multiplier? I have Intel CoreDuo 2.17 Memory speed is 667. How to set this keys? Help Please! |
|
mackerintel
InsanelyMac Geek
|
![]() |
Nov 19 2008, 06:05 PM Post #15
|
![]() ![]()
|
Hi! Grat stuff! Working serial, modell, etc... but what the format is SMExternalclock and SMMaxclock? And SMmaxclock is my processor clock without multiplier? I have Intel CoreDuo 2.17 Memory speed is 667. How to set this keys? Help Please! Your spelling is incorrect Everything is in Mhz. Here the description of the fields in SMBIOS specifications: QUOTE Max Speed: Maximum processor speed (in MHz) supported by the system for this processor socket. 0E9h for a 233MHz processor. If the value is unknown, the field is set to 0. Note: This field identifies a capability for the system, not the processor itself. External Clock: External Clock Frequency, in MHz. If the value is unknown, the field is set to 0. E.g. For Dual-Core 1.86Ghz at 133 FSB you should put: CODE <key>SMexternalclock</key> <string>133</string> <key>SMmaximalclock</key> <string>1866</string> to your com.apple.Boot.plist I haven't tested this myself since theese values are correctly supplied by BIOS on my system. |
|
hoyanf
InsanelyMac Geek
|
![]() |
Nov 20 2008, 04:02 AM Post #16
|
![]() ![]()
|
|
|
Superhai
InsanelyMac Legend
|
![]() |
Nov 20 2008, 04:24 AM Post #17
|
![]()
|
|
|
Slice
InsanelyMac Legend
|
![]() |
Nov 20 2008, 10:10 AM Post #18
|
![]()
|
Next attempt
CODE <key>SMexternalclock</key> <string>133</string> <key>SMmaximalclock</key> <string>2400</string> How can I know that my AppleSMBIOS v1.0.14 is true vanilla? EDITED: My problem is resolved. It is a bug of IntelEnhancedSpeedStep v1.4.0. After replacing it by Superhai driver processor speed is OK.My bus speed must be 200.
Attached File(s)
|
|
milanca
InsanelyMac Protégé
|
![]() |
Nov 20 2008, 10:52 AM Post #19
|
![]()
|
Working great here as well, on Q6600, all vanilla kexts with fake plists.
Thanks. QUOTE How do you install this ChameleonSM ?? Can't seem to find it anywhere in this discussion thread. its assumed that we already know that. If you have chameleon installed just replace 'boot' file in your leopard root partition with this new one renaming it to 'boot'. If not, install chameleon first (from the installer, the best way) then replace boot file. |
|
Slice
InsanelyMac Legend
|
![]() |
Nov 20 2008, 11:49 AM Post #20
|
![]()
|
I build AppleSMBIOS from
With this Chameleon by mackerintel "my" version works without problem. But some other key needed.
Attached File(s)
|
![]() |
|
Lo-Fi Version | Time is now: 31st July 2010 - 02:07 PM |