PDA

View Full Version : About This Mac & AppleSMBIOS in Snow Leopard


grumptink
10-28-2009, 01:36 AM
Hey guys, long time stalker, first time poster ;)

Just moved from 10.5.6 using Munky's EFI bootloader to 10.6.1 using Chameleon 2 RC3 & PC-EFI 10.5 installed on the main drive, thanks in main to sk1nhd33t's easy to follow guide.

Evrything is running very smoothly apart from two little problems, sleep *surprise* and "About This Mac" crashing. I think sleep failing might be related to my "About This Mac" problem so that's what I've been trying to fix.

I noticed that System Profiler was reporting my Processor speed and Bus Speed incorrectly so tried fixing it using Chameleon's smbios.plist, but it didn't fix my problem. I then read that the smbios.plist is only a cosmetic fix.

I decided to go looking for a Snow Leopard compatible SMBIOS enabler, but all I could find was andyvand's SMBIOS for Snow Leopard. As you can guess, it didn't work. As a randmom stab in the dark, to see if my theory was right, I set my install to use the 32bit kernel and installed the AppleSMBIOS.kext that I was using under 10.5.6. Low and behold, it worked.

From what I can see in System Profiler, it's changed my Boot ROM Version and System Serial Number, it looks like a Netkas AppleSMBIOS. But I might be wrong. What I'd like to know is, how can I patch my own 64bit Snow Leopard AppleSMBIOS based on the 32bit Leopard one.

I've attached a screen shot of the AppleSMBIOS loaded showing it's version and the Serial number values it's changed.

Cheers for reading guys :)

00010
10-28-2009, 01:42 AM
Thanx for letting me know how to use the SMBios.kext from leo in snow leo, just boot in -x32.

Thanx Dude/ Dudette!


BTW, Are you using a Dell?

grumptink
10-29-2009, 12:37 AM
Hey guys, nobody have any ideas on how to fix my problem?

Imkantus
10-29-2009, 10:59 AM
This is an ACPI compatibility issue. Do you have a fixed DSDT.aml applied?

AppleSMBIOSEFI.kext made by Chun-Nan does the fix, also - this might help you to keep using 1.4 stock AppleSMBIOS.kext - but I guess it's i386 only as well (not sure).

grumptink
10-29-2009, 02:59 PM
Hey Imkantus, thanks for the reply.

Chun-Nan's AppleSMBIOSEFI.kext doesn't help, but I think it's designed to work exclusively from the EFI partition, not an extra folder on the main partition or S/L/E.

As for my DSDT, it's patched for HPET, RTC, _WAK, ALC883 Audio and the Snow Leopard CMOS reset fix.

Am I missing something?

Imkantus
10-29-2009, 07:11 PM
Did you ensure, that SMBIOSEFI has been loaded, via kextstat command on Terminal?

I would alos recommend to try the SMBIOS of Andy again & to controll if the correct one has been loaded by checking the Copyright Information at Extensions section in the System Profiler - if you haven't done like that yet.

grumptink
10-29-2009, 07:17 PM
Update, Chun-Nan's AppleSMBIOSEFI.kext did the trick when i dumped it in S/L/E. No idea why I didn't try that before, probably used to using an "Extra" folder ;)

I know Andy's AppleSMBIOS was loaded correctly when I gave it a whirl. Actually, it did sort of work, as it did correct my CPU speed in System Profiler, it just didn't fix the "About This Mac" crash.

I'm happy for now, but I would like a 64bit solution so I'm future proofed.

thorazine74
10-29-2009, 08:02 PM
Try editing smbios.plist with your cpu's values.

Imkantus
10-29-2009, 08:15 PM
Well the source code is avaible (http://rapidshare.com/files/299673764/AppleSMBIOSEFI_28.zip.html) - so what's missing is someone to port it. :D

Having 64-Bit Kernel & Extensions isn't that much important as 64-Bit application still work cause the 32-Bit Kernel uses virtual address space. :)

@thorazine74
You're sure that just setting the values via smbios.plist fixes the "About this Mac" crash, alltough other smbios value injects he has tied didn't?

00010
10-29-2009, 09:49 PM
I have a fully 64-bit system.

I use the Vanilla kernel on my laptop. Most that can use Vanilla are fully 64bit (I think)

grumptink
10-29-2009, 10:02 PM
Try editing smbios.plist with your cpu's values.Yes, but as I said before, it's only a cosmetic fix ;)
Well the source code is avaible - so what's missing is someone to port it.Well I can tell you right now, myself attempting that would be like putting wheels on a tomato. Time consuming, and completely pointless.
Having 64-Bit Kernel & Extensions isn't that much important as 64-Bit application still work cause the 32-Bit Kernel uses virtual address space.I know, I'm just fussy :D
@thorazine74
You're sure that just setting the values via smbios.plist fixes the "About this Mac" crash, alltough other smbios value injects he has tied didn't?I'm sure it's something to do with how each method injects the info, I just don't know how.

thorazine74
10-30-2009, 02:14 PM
Yes, but as I said before, it's only a cosmetic fix ;)
Well I can tell you right now, myself attempting that would be like putting wheels on a tomato. Time consuming, and completely pointless.
I know, I'm just fussy :D
I'm sure it's something to do with how each method injects the info, I just don't know how.

What do you mean only chosmetic? SMBIOS.plist just injects the values so System Profiler displays them, some of them are only of chosmetic value (i.e. RAM speed or Manufacturer or Serial Number) but others like Mac Model seems to be very important because OS X read those valuse and acts different depending what Mac Model you have. Its a good practice to have real data from a Mac Model close to your system specs, though I'm not sure which variables are really necessary apart from Mac Model...
It serves the same purpose as kext-based SMBIOS injectors, though it may not inject the same values as others like Andy's patched one, though arguably most of the values are useless. And it should work in 32 & 64 bits.
If you have a properly filled SMBIOS table About This Mac or System Profiler should not crash. What CPU do you have? I think you may have to edit the CPU and bus speeds in smbios.plist, I'm not sure because I never have to, I think its autodetected but maybe in your case it didnt work?
If you use smbios.plist injecting you probably should use vanilla unpatched AppleSMBIOS.kext and have no other SMBIOS injector kext installed.

Imkantus
10-31-2009, 01:21 AM
Maybe it helps to use all the values SMBIOSEFI injects via smbios.plist? (Including modell, serial number and all the stuff)

Ofcourse just an idea...

grumptink
11-04-2009, 01:56 AM
What do you mean only chosmetic? SMBIOS.plist just injects the values so System Profiler displays them, some of them are only of chosmetic value (i.e. RAM speed or Manufacturer or Serial Number) but others like Mac Model seems to be very important because OS X read those valuse and acts different depending what Mac Model you have. Its a good practice to have real data from a Mac Model close to your system specs, though I'm not sure which variables are really necessary apart from Mac Model...
It serves the same purpose as kext-based SMBIOS injectors, though it may not inject the same values as others like Andy's patched one, though arguably most of the values are useless. And it should work in 32 & 64 bits.
If you have a properly filled SMBIOS table About This Mac or System Profiler should not crash. What CPU do you have? I think you may have to edit the CPU and bus speeds in smbios.plist, I'm not sure because I never have to, I think its autodetected but maybe in your case it didnt work?
If you use smbios.plist injecting you probably should use vanilla unpatched AppleSMBIOS.kext and have no other SMBIOS injector kext installed.Sorry guys, been away for a couple of days.

I don't know how it differs from other AppleSMBIOS injectors, but as for using a SMBIOS.plist, and it only fixing the System Profiler cosmetically, I was referring to a post I'd read on Prasys's blog, here (http://prasys.co.cc/2009/09/guidecreating-your-own-smbios-plist/).

In regards to "About This Mac" crashing, I've tried using a properly filled in SMBIOS.plist, with no other injectors present, and the only difference in the information displayed is what I expect, serial number, Boot ROM version. I've even edited my SMBIOS.plist to match the injector's values on the off chance it might work, but nothing.

When using EFI 10.5, which features a CPU auto detect, it picks up my CPU as a C2D 3.0 GHz, which is wrong, but it's the same as I got before the auto detect patch and also the same as when I boot without using any form of SMBIOS injector regardless of the bootloader being used. With AppleSMBIOSEFI.kext and Netkas's AppleSMBIOS.kext it reports it as a C2D 2.13 GHz, which is correct, and "About This Mac" doesn't crash.

grumptink
11-04-2009, 01:57 AM
Maybe it helps to use all the values SMBIOSEFI injects via smbios.plist? (Including modell, serial number and all the stuff)

Ofcourse just an idea...Tried using all the available values, and also with just main ones, model number, CPU & Bus speed etc.

meattattat
11-04-2009, 04:57 AM
:( about this mac crashes too

mingzhi
11-11-2009, 05:55 AM
oh yeah! Finally fixed about this mac problem using AppleSMBIOSEFI.kext. Greet done Chun-Nan and thanks Imkantus.

meattattat
11-11-2009, 07:06 AM
oh yeah! Finally fixed about this mac problem using AppleSMBIOSEFI.kext. Greet done Chun-Nan and thanks Imkantus.

is that a 32-bit or a 64-bit kext?:eek: