Help - Search - Members - Calendar
Full Version: AppleSMBIOSEFI for Tiger and Leopard
InsanelyMac Forum > OSx86 Project > New Releases and Updates
Pages: 1, 2, 3, 4
~Eureka
Hi guys,

Here is the beta AppleSMBIOSEFI I have been working on. It will work with original AppleSMBIOS but will try to fix or add some values that original AppleSMBIOS misses. Therefore, you don't have to worry about AppleSMBIOS being updated.

It is based on original AppleSMBIOS and it only works with EFI system right now. It is for both Tiger and Leopard. In addiation, it should fix "About This Mac" crash problem and wrong "Bus Speed" issue.

You can change the memory speed. Just boot with "memorySpeed=n" (n is the speed number you want)
You can change the memory type. Just boot with "memoryType=n" (n is the type number you want, 18 is DDR, 19 is DDR2)

Example:
memoryType=19 memorySpeed=533

Again, it is just the beta version and you still need the original AppleSMBIOS with it.

Chun-Nan

==============================
static const char *
SMBMemoryDeviceTypes[] =
{
"RAM", /* 00h Undefined */
"RAM", /* 01h Other */
"RAM", /* 02h Unknown */
"DRAM", /* 03h DRAM */
"EDRAM", /* 04h EDRAM */
"VRAM", /* 05h VRAM */
"SRAM", /* 06h SRAM */
"RAM", /* 07h RAM */
"ROM", /* 08h ROM */
"FLASH", /* 09h FLASH */
"EEPROM", /* 0Ah EEPROM */
"FEPROM", /* 0Bh FEPROM */
"EPROM", /* 0Ch EPROM */
"CDRAM", /* 0Dh CDRAM */
"3DRAM", /* 0Eh 3DRAM */
"SDRAM", /* 0Fh SDRAM */
"SGRAM", /* 10h SGRAM */
"RDRAM", /* 11h RDRAM */
"DDR SDRAM", /* 12h DDR */
"DDR2 SDRAM", /* 13h DDR2 */
"DDR2 FB-DIMM" /* 14h DDR2 FB-DIMM */
};
==============================

Click to view attachment

Update: 5/6/2008
1. It will use value of "cpu->externalClock" first. If that value returns 0, it will use value of "FSBFrequency".
2. Add "FSB" flag. You can change the FSB value in case the value is still not correct. Just boot with "FSB=n" (n is the speed number you want) However, it doesn't update the value back to "FSBFrequency" yet.

Click to view attachment

Update: 7/2/2008
1. based on AppleSMBIOS-28
2. Added "serial-number", "board-id", and "system-type". The default serial-number is "W1234567890".
3. Released AppleSMBIOSEFI from memory after adding the values.
4. It should work both on Tiger and Leopard. (I used Tiger to compile the source code.)

Click to view attachment
Click to view attachment

P.S. CoolbookController won't work with AppleSMBIOSEFI_28 because model is set to "MacPro3,1". Try AppleSMBIOSEFI_28Air instead or change the model to the ones supported by CoolbookController.
2LMan
So if an update comes out where there is a new SMBios, then I don't have to worry as this will rectify any issues?
iSkylla
Why not just use SMBIOSEnabler by Kabyl?

http://osrom.net/
Chrysaor
Working good here with vanilla SMBIOS 1.0.14 (from 5.3).
My system can use vanilla SMBIOS without any problems but hardware overview in system profiler gives an error. With SMBIOSEFI system profiler works and using memoryType=19 shows DDR2.
pet1
This works better than smbiosenabler.
mitch_de
Really great - that fixes my About this mac crash .
(SystemProfiler runs, didnt crash)

No other ( i tested much!) AppleSMBIOS had fixed that.

This one fixed that crash !

THANKYOU !
Cillit Bang
Could someone plz send me the original AppleSMBIOS file? I don't have it anymore.

And how do I have to install this?
Chrysaor
QUOTE(Cillit Bang @ Jun 4 2008, 08:05 AM) *
Could someone plz send me the original AppleSMBIOS file? I don't have it anymore.

And how do I have to install this?


You can get it from 10.5.3 update from Apple using Pacifist.
Cillit Bang
Unfortunately, 10.5.3 Update doesn't contain this file.
Schweppes
Try downloading 10.5.3 ComboUpdate instead of 10.5.3 Update (420 Mb)
fyr
The AppleSMBIOS.kext is in the guenuine update... and combo.
mrroboto
it does not show the right bus speed. 760MHz instead of 800MHz

is it just comsetic or the real speed?
macita
sorry for the question, but how i must install it?
xtraa
1. use the Finder and copy it in the folder /System/Library/Extensions
2. open terminal and type

sudo chmod -R 755 /System/Library/Extensions/AppleSMBIOS.kext

then type

sudo chown -R 0:0 /System/Library/Extensions/AppleSMBIOS.kext

Reboot.
cyclonefr
nice Chun-Nan ! Worked perfect.

Are you expecting to include a serial number changer too ?
Cillit Bang
Where do I have to copy the unzipped folder?

EDIT: Guys, plz help! I don't know what to do with the downloaded file.
macgirl
I also have 720Mhz Hus Speed instead of 800 shock.gif
sama7896
QUOTE(Cillit Bang @ Jun 5 2008, 01:41 PM) *
...

look in build/developement install kext with kexthelper


Thanks Chun-Nan !
SuperNet33
QUOTE(macgirl @ Jun 5 2008, 01:53 PM) *
I also have 720Mhz Hus Speed instead of 800 shock.gif


Is there a fix for this yet?
GLXOZ
Displayed 100Mhz FSB in system profiller, diagnostic information not found, memory frequency 0 Mhz how fix this. In native SMBIOS and 27th version all displayed much better.
derailed_spark
Great ! After trying all AppleSMBios kexts i could find to get my real FSB instead of 100 MHz, ilstalling this kext made my problem dissapear. THANK YOU !
Cillit Bang
Thanks. Everything working fine except memory frequency showing 0 MHz. How can I fix that?
00Diabolic ~~
Ok I'm confused. AppleSMBIOSEFI.kext is the kext we install and this tricks the vanilla SMBIOS into reading your system information correctly using EFI? Is that correct?

My bios does not send the correct information to my system. For example my bios sends to OSX that my FSB is 179mhz x 4 = 716mhz so I have to use the -g flag to force my system to 200mhz and thus I get my 800mhz in OSX even though it shows 716mhz.

Could this AppleSMBIOSEFI.kext correct that? I am guessing not. Currently I am using a SUPERHAI SMBIOS and it pulls my FSB as 716mhz because in his SMBIOS he pulls the information from a special string which I would bet is the same thing used in this AppleSMBIOSEFI.kext.

Please correct me if I'm wrong or explain how this one works differently?
macita
QUOTE(xtraa @ Jun 5 2008, 02:17 PM) *
1. use the Finder and copy it in the folder /System/Library/Extensions
2. open terminal and type

sudo chmod -R 755 /System/Library/Extensions/AppleSMBIOS.kext

then type

sudo chown -R 0:0 /System/Library/Extensions/AppleSMBIOS.kext

Reboot.


Argh...

i mean where it was the kext..i found it inside the package.

thnx
rals2007
Doesnt work in Tiger 10.4.11 with original AppleSMBIOS and EFI installed
...
~Eureka
QUOTE(mrroboto @ Jun 4 2008, 01:25 PM) *
it does not show the right bus speed. 760MHz instead of 800MHz

is it just comsetic or the real speed?


QUOTE(macgirl @ Jun 5 2008, 12:53 PM) *
I also have 720Mhz Hus Speed instead of 800 shock.gif


Hi mrroboto and macgirl,

You can give AppleSMBIOSEFI_b2 a try.

Chun-Nan

QUOTE(Cillit Bang @ Jun 5 2008, 03:32 PM) *
Thanks. Everything working fine except memory frequency showing 0 MHz. How can I fix that?


Hi Cillit Bang,

You can change the memory speed. Just boot with "memorySpeed=n" (n is the speed number you want)
You can change the memory type. Just boot with "memoryType=n" (n is the type number you want, 18 is DDR, 19 is DDR2)

Example:
memoryType=19 memorySpeed=533

Chun-Nan

QUOTE(00Diabolic ~~ @ Jun 5 2008, 05:19 PM) *
Ok I'm confused. AppleSMBIOSEFI.kext is the kext we install and this tricks the vanilla SMBIOS into reading your system information correctly using EFI? Is that correct?

My bios does not send the correct information to my system. For example my bios sends to OSX that my FSB is 179mhz x 4 = 716mhz so I have to use the -g flag to force my system to 200mhz and thus I get my 800mhz in OSX even though it shows 716mhz.

Could this AppleSMBIOSEFI.kext correct that? I am guessing not. Currently I am using a SUPERHAI SMBIOS and it pulls my FSB as 716mhz because in his SMBIOS he pulls the information from a special string which I would bet is the same thing used in this AppleSMBIOSEFI.kext.

Please correct me if I'm wrong or explain how this one works differently?


Hi 00Diabolic,

I think it has something to do with BIOS, ACPI table, or EFI table. AppleSMBIOS just read values from them. If the source is wrong, the outcome is wrong, too.

The difference will be that you don't have to replace AppleSMBIOS whenever it is being updated unless the stucture in AppleSMBIOS changes a lot.

Chun-Nan
macita
So i must use it with original AppleSMBIOS.kext and I MUSTS NOT REPLACE IT OR RENAME IT AS AppleSMBIOS.kext but live as it....


lemme try...
rals2007
Chun-Nan:

Any chance of fixing it on Tiger?

It doesnt work.

Loaded the original AppleSMBIOS of 10.4.11 with E.F.I. installed
Cillit Bang
Thanks. Now I got it working. But I wanna add it to my Boot.plist. Do I have to type in there any key or can I just put in the string?

EDIT: Any chance to get a real Serial Number shown in "Hardware" instead of "System Serial Number"?
Goron
@MACGirl:
QUOTE
I also have 720Mhz Hus Speed instead of 800 shock.gif


From your rig description i guess your opteron is overclocked? If your RAM divider isnīt 1:1 (result: 800MHz) it could be the correct speed your RAM is currently working at ...

Cheers

Goron
verleihnix
Hi Chun-Nan,

Great work so far.
This is what it does to my hack.
I like to change the model description and serial number as well.
Thanks for your efforts.
Cillit Bang
What I also noticed is that there is a double space between "2GB 800 MHz_ _DDR2 SDRAM". I know I'm never satisfied but I hope you can fix that. tongue.gif
macgirl
QUOTE(Chun-Nan @ Jun 6 2008, 02:36 AM) *
Hi mrroboto and macgirl,

You can give AppleSMBIOSEFI_b2 a try.

Chun-Nan

Thanks biggrin.gif


EDIT:
Worked thumbsup_anim.gif


QUOTE(Goron @ Jun 6 2008, 04:35 AM) *
@MACGirl:
From your rig description i guess your opteron is overclocked? If your RAM divider isnīt 1:1 (result: 800MHz) it could be the correct speed your RAM is currently working at ...

Cheers

Goron

Yes my Opteron is overclocked but I am not using AppleSMBIOSEFI on my AMD rig, just in my Dell Laptop, on Windows TAT and CPUZ reports 800Mhz (on the Dell of course).
MacUser2525
QUOTE(Cillit Bang @ Jun 6 2008, 06:16 AM) *
Thanks. Now I got it working. But I wanna add it to my Boot.plist. Do I have to type in there any key or can I just put in the string?

EDIT: Any chance to get a real Serial Number shown in "Hardware" instead of "System Serial Number"?


You put the values in the Kernel Flags key section if this is what you mean. Thanks Chan-Nan I have to check my notes/.kext's installed but I do believe I am running totally vanilla install except for the EFI strings needed now.

CODE
     <key>Kernel</key>
     <string>mach_kernel</string>
     <key>Kernel Flags</key>
     <string>-v memoryType=19 memorySpeed=700</string>
     <key>Timeout</key>
     <string>5</string>
mrroboto
QUOTE(Chun-Nan @ Jun 6 2008, 07:36 AM) *
Hi mrroboto and macgirl,

You can give AppleSMBIOSEFI_b2 a try.

Chun-Nan


It Works!
Thanx smile.gif
pion
what about photoshop or other apps since we not using macdotnub's AppleSMBIOS-27??
ontoid
Wokrks ! Thank U
And it does pick up values settedup by DMICFG
like: machine_model or serial number
Click to view attachment
Click to view attachment
mrroboto
QUOTE(pion @ Jun 7 2008, 08:37 AM) *
what about photoshop or other apps since we not using macdotnub's AppleSMBIOS-27??


CS3 works
sonotone
Works well also here on my Inspiron 9400, Cpu, Ram, speeds and serial number are correctly displayed. Just on thing, the laptop is recognized as a Mac Pro.
Good Job! thumbsup_anim.gif
derailed_spark
From now on this should be moved as the "proper" way to have a working smbios in distros ...
macgirl
My XPS is recognized as "Mac" on Model Name and "XPS M1330" on Model Identifier not as "Mac" and "macpro3,1" like others.

I don't know where the name is set, I am using vanilla AppleACPIPlatform.kext also shock.gif
GLXOZ
All work fine, thanx for our work.
mrroboto
QUOTE(macgirl @ Jun 7 2008, 03:27 PM) *
My XPS is recognized as "Mac" on Model Name and "XPS M1330" on Model Identifier not as "Mac" and "macpro3,1" like others.

I don't know where the name is set, I am using vanilla AppleACPIPlatform.kext also shock.gif



Same here!!!
ontoid
Not sure but ...
I think that in your case Machine model Data entries are from DMI Bios records
and have priority before Model Identifier stored in AppleSMBIOSEFI.kext.

In my case i did edition of those records and wrote there
model: iMac7,1 witch gave me iMac7,1 not MacPro3,1
Same Story is serial number
Click to view attachment

To edit DMI DATA i used small app called DMICFG

Recently figured tiny issue:
(Sometimes) After restart system does not loading monitor calibration profile
and keyboard layout (modifier keys) are reverted to default state.
cyclonefr
MacPro3,1 are stored in the kernel, and not in the SMBIOS.

If you are using vanilla kernel, then that's why you see your model identifier as Dell and not Mac Pro.
verleihnix
So, what is the best way to change the Model Name, ID and serial Number?
And how to do it?
Cillit Bang
I wanna know that, too! Nun-Chan why don't you answer anymore?
macgirl
QUOTE(verleihnix @ Jun 9 2008, 11:23 AM) *
So, what is the best way to change the Model Name, ID and serial Number?And how to do it?
QUOTE(Cillit Bang @ Jun 10 2008, 07:34 AM) *
I wanna know that, too! Nun-Chan why don't you answer anymore?

If you are running with the ToH kernel, just modify the AppleSMBIOSEFI.cpp
verleihnix
Hi,
I am using the vanilla and ToH on two different riggs.
Do I have to compile AppleSMBIOSEFI.cpp?
macgirl
If you modified something yes, but open the Project on Xcode and hit the Build button, it will compile the whole thing and create the new kext.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.