Jump to content

Getting Snow Leopard to recognize your CPU


DigitalDJ
 Share

227 posts in this topic

Recommended Posts

Did you actually try manually specifying in smbios.plist?!

 

Did you have CDs/DVDs in your drive at the time? Seems unlikely to add such an extra boot time.

OK, that worked, i.e. manually editing the smbios file. Thanks.

What is the advantage of this new method? Seems to me to be easier to just put the CPUinjector in the E/E folder rather than having another boot file and editing the smbios file.

The CD drive thing adds 23 secs and there are no CD/DVDs in at the time!

Link to comment
Share on other sites

OK, that worked, i.e. manually editing the smbios file. Thanks.

What is the advantage of this new method? Seems to me to be easier to just put the CPUinjector in the E/E folder rather than having another boot file and editing the smbios file.

The CD drive thing adds 23 secs and there are no CD/DVDs in at the time!

 

What do we have to edit on smbios.plist?????

 

I had the 20 sec extra boot time with PCEFI v10.2 but netkas fixed it with a new version.

 

Cheers!

Link to comment
Share on other sites

Well done with the development of this DigitalDJ. I have just downloaded the new version and try it tonight. :rolleyes:

I have removed CPUInjector.kext and tried the new boot file and it works as advertised with my E7300 being reported as an Intel Core 2 Duo. I know you said that if would default to that anyhow but that's good enough for me and I didn't have to use the SMBIOS edit.

 

Thanks DigitalDJ.

Link to comment
Share on other sites

What do we have to edit on smbios.plist?????

I had the 20 sec extra boot time with PCEFI v10.2 but netkas fixed it with a new version.

Cheers!

Look on page 1!

"You can also attempt to manually specify your CPU type by editing smbios.plist with:

<key>SMcputype</key>

<string>1281</string>"

It would be good if DDJ used 10.3 to get rid of this irritating boot CD procedure. What's the point of it anyway?

Link to comment
Share on other sites

Look on page 1!

"You can also attempt to manually specify your CPU type by editing smbios.plist with:

<key>SMcputype</key>

<string>1281</string>"

It would be good if DDJ used 10.3 to get rid of this irritating boot CD procedure. What's the point of it anyway?

 

Oh, I see, hehehe!!

 

I was asking what to edit on smbios.plist to get rid off the anoying long boot time. Not the CPU info. However, I will test the Bootloader later when I get home after work.

 

Sorry.

 

Cheers!

Link to comment
Share on other sites

DigitalDJ,

 

Installed new "boot" file in the root directory, modified smbios.plist, CPU type shows up as "Unknown".

 

From my earlier post, CPUInjector.kext works fine as long as I enable NullCPUPowerManagement.kext.

 

Am I doing anything wrong?

 

Thx

ccg

Link to comment
Share on other sites

It would be good if DDJ used 10.3 to get rid of this irritating boot CD procedure. What's the point of it anyway?

Yeah I got that too on my lappie(b/c dvd is on ide, hdd on ahci) and anyway is not working(cant see/boot any retail dvd), no problem on AHCI/desktop.

 

@DigitalDJ what about Serial Number (processor tray) key, can you add that also?

I know is just cosmetic, but you never know what app would complain about that...so IMO better to have it then not ^_^

 

Thanks for your work!

Link to comment
Share on other sites

Nice work DigitalDJ this is working fine for me with the new boot file.

 

I see Superhai had commented in post #19 that he was going to add the Apple tables but there wasn't much interest at the time. Have you spoken with other Chameleon members or netkas to get this integrated into their code? Or are you intending to maintain and extend a separate code base?

 

I think now there is a good reason to do this because it is more than a cosmetic fix for System Profiler info.

Link to comment
Share on other sites

Ok.

 

I've tested the bootloader and it detects the CPU as it should.

 

But it takes my hack to boot almost 10 seconds more than it usually takes. Also, the debug information about the drives is anoying. I don't have any CD/DVD on my optical drive.

 

I went back to Netkas' stock PCEFI v10.3 with CPUInjector.kext.

 

Anyway, thanks for your big effort. You should talk to Netkas and Chameleon team to make an ass-kicking bootloader.

 

Cheers!

Link to comment
Share on other sites

Hi, I also experienced the delay and the debug messages. And just as imacken it didn't report any processor type either. I will try the smbios.plist mod later.

 

Keep up the good work, digitaldj, I think this is really useful (also the processor serial number could be handy as The King said)!

Link to comment
Share on other sites

I mates.

 

I am a new user, how to calculate not have much knowledge about this even, but like I could help in some way if possible, have the original dvd the snow leopard and installed it on my PC through the chameleon boot, so that not have the graphical operating the processor or in total, so I have a core and not recognized by SL

I tried to install the chameleon provided by digital dj but without success if I can help in this regard would be great.

 

 

IF I can help would be very grateful, since already let my hardware for some tips

 

 

ASUS P6T

xfx gtx275

i7 920

 

Thanks for any help and sorry for my "ingles sou portugues"

Link to comment
Share on other sites

I have removed CPUInjector.kext and tried the new boot file and it works as advertised with my E7300 being reported as an Intel Core 2 Duo. I know you said that if would default to that anyhow but that's good enough for me and I didn't have to use the SMBIOS edit.

 

Thanks DigitalDJ.

Hi blackosx,

I have istalled SL based on your excellent guide. Also I have tried CPUInjector.kext and it works.

Could you explain how do you change to the new boot file?

Hope you can update your installation guide v2.4 to incoporate installation of this new boot file.

Thanks

Link to comment
Share on other sites

Hi blackosx,

I have istalled SL based on your excellent guide. Also I have tried CPUInjector.kext and it works.

Could you explain how do you change to the new boot file?

Hope you can update your installation guide v2.4 to incoporate installation of this new boot file.

Thanks

Just use the same procedure as per Blackosx guide Chapter 4c. (Obviously changing the folder to the appropriate one for this job!)

Link to comment
Share on other sites

Unfortunately, this fix causes a random kernel panics on startup for my E8500. I have added 0103 cpu-type in injector.

May be this is because of difference in specified value and autodetected by OS.I have only fakesmc and openhaltrestart installed so AppleCPUPowerManagment works and may be it causes these panics.

Link to comment
Share on other sites

Hmm, tried to add SMcputype manually - still doesn't work ;)

I just had a quick look at the code: I'm afraid chameleon has difficulties to detect my number of cores. I remember when I installed chameleon it reverted back to MacPro although it should have set the defaults for iMac (regarding to this: )

		switch (Platform.CPU.NoCores)
	{
		case 1: sm_defaults=sm_macmini_defaults; break;
		case 2: sm_defaults=sm_imac_defaults; break;
	   default: sm_defaults=sm_macpro_defaults; break;
	}

Link to comment
Share on other sites

CPUnjector detects Intel Xeon instead of Core 2 duo. Can I fix it?

And another question: System Profiler shows Memory bus speed 800MHz instead of my 1066MHz (10.5 Leopard detected correctly). Why so? How to fix? smbios.plist editing won't work ;)

 

Thanks

Link to comment
Share on other sites

Hmm, tried to add SMcputype manually - still doesn't work :)

I just had a quick look at the code: I'm afraid chameleon has difficulties to detect my number of cores. I remember when I installed chameleon it reverted back to MacPro although it should have set the defaults for iMac (regarding to this: )

		switch (Platform.CPU.NoCores)
	{
		case 1: sm_defaults=sm_macmini_defaults; break;
		case 2: sm_defaults=sm_imac_defaults; break;
	   default: sm_defaults=sm_macpro_defaults; break;
	}

 

Hi Eberts,

I have been looking at the AppleSMBIOS.kext for SL code today. What I have found is that the code that fetches the cputype from the SMBIOS tables is not working for the Type 131 and 132 tables. The code tries to find the tables and then fetch the contents. However, the code can't find the table. Therefore the cputype is returned as 0x0000.

 

If you are interested take a look in the AppleSMBIOS.cpp code as follows:

 

// Fetch Processor Type from Type 131 structure (optional).

 

SMB_ANCHOR_RESET(&anchor);

if (findSMBIOSStructure(&anchor, kSMBTypeOemProcessorType,

sizeof(SMBOemProcessorType)))

{

const SMBOemProcessorType * processorType =

(const SMBOemProcessorType *) anchor.header;

 

cpuType = processorType->ProcessorType;

DEBUG_LOG("SMBIOS: processor type = 0x%04x\n", cpuType);

}

 

This is all I have been able to find out.

 

The reason that the CPUInjector.kext works, is that it directly injects the cputype into the IO registry.

 

Have fun,

ccg

Link to comment
Share on other sites

Thanks a lot ccg! After looking at smbios_patcher.c I remebered that I set "SMBIOSdefaults" to "No" in com.apple.Boot.plist.

After removing the entry it recognises my cpu type again. That's brilliant ^_^

 

Thx again for the hint!

Link to comment
Share on other sites

Hi

 

I'd definitely like to give your modified Chameleon a try, as their are a couple of installers in my setup that get stymied by the "unknown" processor syndrome.

 

Unfortunately, I'm unaware of how to do a manual install of Chameleon. Can you give me a run down on the steps needed to install your modified Chameleon?

 

Thanks

 

pandar

Link to comment
Share on other sites

The bootloader injects these 131 and 132 tables :)

Any idea how to add/fix Type 2 table?

Seems our table is not correct or is diff then apple one:

 

void AppleSMBIOS::processSMBIOSStructureType2(
const SMBBaseBoard * baseBoard,
SMBPackedStrings * strings )
{
if (baseBoard->header.length < sizeof(SMBBaseBoard))
{
	kprintf("AppleSMBIOS: invalid type 2 record size: %d, expected %ld\n",
			baseBoard->header.length, sizeof(SMBBaseBoard)+1);
	return;
}

// If this type 2 record is for the processor and memory board then it is
// a riser card. Grab the serial number and publish it to the registry.
if ((baseBoard->boardType & kSMBBaseBoardProcessorMemoryModule) == kSMBBaseBoardProcessorMemoryModule)
{
	UInt8 length = 0;
	strings->stringAtIndex(baseBoard->serialNumber, &length);
	if (length == 0)
		IOLog("AppleSMBIOS: processor/memory board serial number is empty\n");
	else
		strings->setStringProperty(fRoot, "processor-memory-board-serial-number", baseBoard->serialNumber);
}
}

 

Notice "processor-memory-board-serial-number" I've looked on mine and is Base Board(or Module) Information (Type 2):

 

071841484accb6bc40e71.jpg

 

This is apple one:

 

Handle 0x0039, DMI type 2, 16 bytes
Base Board Information
Manufacturer: Apple Inc.
Product Name: Mac-F221BEC8
Version: Not Specified
Serial Number: J590802LC4ACB	 
Asset Tag: 0
Features:
	Board is a hosting board
	Board is removable
	Board is replaceable
Location In Chassis: Part Component
Chassis Handle: 0x003A
Type: Processor+Memory Module
Contained Object Handles: 0

 

Any idea how to fix this to get: Serial Number (processor tray)?

Link to comment
Share on other sites

 Share

×
×
  • Create New...