Jump to content

SMBIOS Parser


  • Please log in to reply
18 replies to this topic

#1
mohdumar

mohdumar

    InsanelyMac Protégé

  • Members
  • PipPip
  • 84 posts

Posted Image SMBIOS Parser

Cocoa application to fetch the current loaded SMBIOS configuration from IORegistry.

  • Raw Output tab shows the binary obtained data from ioreg.
  • Parsed Output tab shows parsed data in the form of a table, with key names conforming to those used in smbios.plist. There is also an option to save this parsed data as .plist to disk, for using as smbios.plist after modding. The UUID however is obtained using gethostuuid.
This originally intended to have built-in patcher, but you can use the one in the Lizard app.

Usage: open up the app and click "Fetch SMBIOS from IORegistry".

Download : v1.0.1 b248 Attached File  SMBIOS_Parser.app.zip   65.85KB   990 downloads
Older releases
v1.0.0 b231 Attached File  SMBIOS_Parser.app.zip   63.74KB   286 downloads

Attached Files

  • Attached File  1.png   93.47KB   767 downloads
  • Attached File  2.png   102.91KB   513 downloads


#2
MiniHack

MiniHack

    InsanelyMac Legend

  • Donators
  • 640 posts
  • Gender:Male
Thanks, works well from genuine Mac too.

Might be good to build up some SMBIOS.plists made from genuine Macs. I have contributed mine here from a new MacBook Air. I have xxxx'd out my serial number and uuid for obvious reasons....

Attached File  smbiosMBA.zip   1.01KB   197 downloads

#3
MARKBOARD NETSET

MARKBOARD NETSET

    InsanelyMac Protégé

  • Members
  • Pip
  • 33 posts
  • Gender:Male
  • Interests:Luck for Hack
Hi

Nice app to get smbios i will give a try on my laptop

Thanks go ahead we need more like this app for graphic ... :(

#4
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,121 posts
  • Gender:Male
  • Location:Brazil
Great, thanks.

Someone please run this on a MacPro3,1.

The output could be useful for those of us who are unable to fool Geekbench when using the MacPro3,1 model identifier.
Not that it matters much of course, I'm just very curious to learn why it doesn't work. iMac9,1 and other model identifiers will work, just not MacPro3,1.

For completions sake, there's also smbios tool by fxtentacle (uses dmidecode):
http://www.insanelym...howtopic=153582

#5
MaLd0n

MaLd0n

    ...filling veins with juice of chaos...

  • Moderators
  • 11,139 posts
  • Gender:Male
  • Location:Rio de Janeiro
Attached File  MacPro3_1.zip   833bytes   220 downloads

#6
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,121 posts
  • Gender:Male
  • Location:Brazil
Thanks Mal, awesome.

Turns out I had the order of smbiosdate wrong and a space in "Mac Pro"...I wonder if the four spaces in front of bootrom version are important. Probably not but I added them anyway.

Of course after fixing these minor details, Geekbench still reports it as a Hackintosh. But you would know that already :-)
Attached File  merda.jpeg   114.67KB   254 downloads
Could you run this on the MacPro3,1 as well?
http://www.insanelym...howtopic=153582

#7
Derty

Derty

    InsanelyMacaholic

  • Donators
  • 3,205 posts
  • Gender:Male
good here.

geekbench says i have a real macpro...hehe

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com...yList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SMUUID</key>
<string>802643EF-D517-5048-845B-E82CD964D6EB</string>
<key>SMbiosdate</key>
<string>11/06/2009</string>
<key>SMbiosvendor</key>
<string>Apple Inc.</string>
<key>SMbiosversion</key>
<string>MP41.88Z.0081.B07.0910130729</string>
<key>SMboardmanufacturer</key>
<string>Apple Inc.</string>
<key>SMboardproduct</key>
<string>Mac-F221BEC8</string>
<key>SMexternalclock</key>
<string>136</string>
<key>SMfamily</key>
<string>MacPro</string>
<key>SMmanufacturer</key>
<string>Apple Inc.</string>
<key>SMmaximalclock</key>
<string>2760</string>
<key>SMmembankloc_1</key>
<string></string>
<key>SMmembankloc_2</key>
<string></string>
<key>SMmembankloc_3</key>
<string></string>
<key>SMmembankloc_4</key>
<string></string>
<key>SMmemdevloc_1</key>
<string></string>
<key>SMmemdevloc_2</key>
<string></string>
<key>SMmemdevloc_3</key>
<string></string>
<key>SMmemdevloc_4</key>
<string></string>
<key>SMmemmanufacter_1</key>
<string>Kingston</string>
<key>SMmemmanufacter_2</key>
<string>Kingston</string>
<key>SMmemmanufacter_3</key>
<string>Kingston</string>
<key>SMmemmanufacter_4</key>
<string>Kingston</string>
<key>SMmempart_1</key>
<string>99U5471-002.A00LF</string>
<key>SMmempart_2</key>
<string>9905458-009.A00LF</string>
<key>SMmempart_3</key>
<string>99U5471-002.A00LF</string>
<key>SMmempart_4</key>
<string>9905458-009.A00LF</string>
<key>SMmemserial_1</key>
<string></string>
<key>SMmemserial_2</key>
<string></string>
<key>SMmemserial_3</key>
<string></string>
<key>SMmemserial_4</key>
<string></string>
<key>SMmemspeed_1</key>
<string>1366</string>
<key>SMmemspeed_2</key>
<string>1366</string>
<key>SMmemspeed_3</key>
<string>1366</string>
<key>SMmemspeed_4</key>
<string>1366</string>
<key>SMmemtype_1</key>
<string>24</string>
<key>SMmemtype_2</key>
<string>24</string>
<key>SMmemtype_3</key>
<string>24</string>
<key>SMmemtype_4</key>
<string>24</string>
<key>SMproductname</key>
<string>MacPro4,1</string>
<key>SMserial</key>
<string>G89093TK4PC</string>
<key>SMsystemversion</key>
<string>1.0</string>
</dict>
</plist>

Attached Files



#8
mohdumar

mohdumar

    InsanelyMac Protégé

  • Members
  • PipPip
  • 84 posts

The output could be useful for those of us who are unable to fool Geekbench when using the MacPro3,1 model identifier.
Not that it matters much of course, I'm just very curious to learn why it doesn't work. iMac9,1 and other model identifiers will work, just not MacPro3,1.

I have found the source code of the library which Geekbench uses. The list of the original Mac models is in the file:
http://code.google.c...macosxmodel.inc

On line 300 of this file, you can see that MacPro3,1 is part of Hackintosh list. So the library when uses this list, if your SMProductName is MacPro3,1, then it will report Hackintosh.

Moreover, the library checks the model number based on two things (This you can see from line 228 of the file http://code.google.c...acosxsystem.cpp):
  • Product Name - you can check this by running
    sysctl -a | grep "hw.model"
  • Processor Brand Name - you can check this by running
    sysctl -a | grep "machdep.cpu.brand_string"

If these two together match a model in the list file I mentioned above, only then you get a valid model. Otherwise, you can see from line 120 of http://code.google.c...macosxmodel.cpp that it will report Hackintosh.

I hope this resolves your curiosity.

#9
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,121 posts
  • Gender:Male
  • Location:Brazil
Hey, thanks man. I've been wondering about this for years.

It's nice to know that it's not something I'm missing. Well except perhaps a Xeon CPU.

Thanks again.

#10
Noam AA

Noam AA

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 437 posts
  • Gender:Male
  • Location:IL

I hope this resolves your curiosity.


thanks mann!! this was also one of my questions as why the hell i'm getting hackintosh only with macpro3,1
so clear now! thanks!

#11
franky26

franky26

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts
Here an smbios.plist from an original MacPro 5.1 (mid 2010)
2,8GHz Quad-Core Xeon

greetings
Franky

Attached Files



#12
mohdumar

mohdumar

    InsanelyMac Protégé

  • Members
  • PipPip
  • 84 posts
1.0.1 release with very light fixes and OS version info

#13
glavonozac

glavonozac

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts
Hi,

I run a hackintosh - Os X 10.6.6
My System Profiler shows wrong info about my memory modules manufacturer and speed. When I fetch smbios from IOresources using this app it also shows that same wrong memory manufacturer and speed.
I know that i have originally changed that info myself a year ago, but I can't remember where and how?

So my noob question is: where is this smbios info fetched from?

#14
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,121 posts
  • Gender:Male
  • Location:Brazil
The Chameleon boot loader is responsible for passing DMI data and overrides in smbios.plist to the IORegistry. Memory detection was added and improved during the RC5 dev cycle but it doesn't work correctly on all platforms. Laptops seem to have the most issues.

Edit /Extra/smbios.plist.

First make sure you are running a reasonably modern version of Chameleon. It's up to 2.1 now.
If you upgrade to 2.0 final or 2.1 you must replace all instances of "manufacter" with "manufacturer" in smbios.plist.

For example

SMmemmanufacter/manufacturer_1 - Kingston Technologies
SMmempart_1 - KHX8500D2K2
SMmemspeed_1 - 1066
SMmemserial_1 - 3526AE2B
SMmemtype_1 - 19 (18 = DDR, 19 = DDR2, 20 = DDR2 FB-DIMM, 24 = DDR3)

The trailing _1 in the example above defines the occupied slot number:

SMmemblabla_1
SMmemblabla_3

...for two modules in dual channel configuration.

You can get the correct data from Everest or CPU-z on Windows.

Also see post #7 above.

You should know that all of this is purely cosmetical, it does not affect performance in any way.

#15
jm_1990

jm_1990

    InsanelyMac Protégé

  • Members
  • Pip
  • 29 posts
  • Gender:Male
  • Location:Argentina
Anybody have a 2011 Mac Mini Server Smbios? I have a ASUS P8Z68-V PRO, Core i7 2600K and GeForce GTX 560 Ti, and I read that for Z68 motherboards the MacMini5,3 Smbios work very well. The problem is that I only found one smbios.plist with this, and I don't know if it's correct. Here it's the one I'm using.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SMbiosvendor</key>
	<string>Apple Inc.</string>
	<key>SMbiosversion</key>
	<string>MM51.88Z.0077.B0A.1109091226</string>
	<key>SMboardmanufacturer</key>
	<string>Apple Inc.</string>
	<key>SMboardproduct</key>
	<string>Mac-7BA5B2794B2CDB12</string>
	<key>SMfamily</key>
	<string>Macmini</string>
	<key>SMmanufacter</key>
	<string>Apple Inc.</string>
	<key>SMmanufacturer</key>
	<string>Apple Inc.</string>
	<key>SMproductname</key>
	<string>Macmini5,3</string>
	<key>SMserial</key>
	<string>C02GHFCWDKDJ</string>
	<key>SMsystemversion</key>
	<string>1.0</string>
</dict>
</plist>


#16
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,121 posts
  • Gender:Male
  • Location:Brazil
Not sure if it matters, but your SMbiosdate is missing. It's the trailing part of SMbiosversion (YYMMDD format) - 110909. SMbiosdate is MM/DD/YY so that would make it 09/09/11.

In a perfect world you would Google MacMini5,3 DMI and follow links to Linux bug report sites to verify your smbios.plist.

But I did that, also searched on the older June boot ROM string (MM51.88Z.0075.B00.1106271442) and I couldn't find DMI data for any of the MacMini5.x models. The best I could find was a Red Hat boot log but there was no DMI info in it.

#17
THe KiNG

THe KiNG

    InsanelyMac Legend

  • Retired Developers
  • 779 posts
  • Gender:Male

Anybody have a 2011 Mac Mini Server Smbios? I have a ASUS P8Z68-V PRO, Core i7 2600K and GeForce GTX 560 Ti, and I read that for Z68 motherboards the MacMini5,3 Smbios work very well. The problem is that I only found one smbios.plist with this, and I don't know if it's correct. Here it's the one I'm using.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SMbiosvendor</key>
	<string>Apple Inc.</string>
	<key>SMbiosversion</key>
	<string>MM51.88Z.0077.B0A.1109091226</string>
	<key>SMboardmanufacturer</key>
	<string>Apple Inc.</string>
	<key>SMboardproduct</key>
	<string>Mac-7BA5B2794B2CDB12</string>
	<key>SMfamily</key>
	<string>Macmini</string>
	<key>SMmanufacter</key>
	<string>Apple Inc.</string>
	<key>SMmanufacturer</key>
	<string>Apple Inc.</string>
	<key>SMproductname</key>
	<string>Macmini5,3</string>
	<key>SMserial</key>
	<string>C02GHFCWDKDJ</string>
	<key>SMsystemversion</key>
	<string>1.0</string>
</dict>
</plist>


The last 4 from serial match: http://www.everymac....h_keywords=DKDJ
And is what makes the diff b/w models :(

You can make your own serial number and keep only last 4.

#18
rekursor

rekursor

    InsanelyMac Sage

  • Retired Developers
  • 369 posts
Tumbs up for this nice & useful app/idea,

Just one suggestion:
You could start the app and already fetch the smbios to display by using the cocoa awakeFromNib method :)
Inside it you could call your fetch callback method.
awakeFromNib gives you the guaranty by design that all your GUI objects are already constructed and initialized before it gets called...

Hope that helps.
-Rek

#19
indiandragon

indiandragon

    InsanelyMac Protégé

  • Members
  • PipPip
  • 87 posts
  • Gender:Male
  • Location:India
  • Interests:Researcher
Hi guys,

Should we add DMI to smbios.plist ? Since the newer processors has DMI instead of FSB what key should we use instead of


<key>SMexternalclock</key>
<string></string>

Which we were using for FSB ?





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