Author Topic: CFGetHostUUIDString: unable to determine UUID for host. Error: 35  (Read 63282 times)

0 Members and 1 Guest are viewing this topic.

gmacman

  • Observer
  • Posts: 10
Pardon the noob question but I've been searching high and low looking for what things I can add to the SMBIOS.plist.  I found some items which have been very helpful (mainly about system type (i.e., iMac/Mac Pro) and memory speed, type, etc.).

But I am trying to resolve the UUID issue (error 35's) that I had fixed when I was using Chameleon v1 with Superhai's SMBIOSResolver.kext.  However, I was lead to believe that I no longer should be using it or any SMBIOS injector (I think that's the right term).

Again, I'm a noob so I'm trying to piece together how and where to apply the fix.  I believe what I need to do now is add something to the SMBIOS.plist, the question is what.  I've been searching constantly within Insanelymac forums for anyone else who has my exact problem but all the posts are from people prior to April (and thus prior to Chameleon v2).

Any help would be greatly appreciated, but I am a noob so please talk slowly.   ;)

Moderator Edit: Changed title to reflect the actual topic being discussed. Please write your titles accordingly and help keep the forums coherent so we can all come back and find useful information & solutions.

Moderator Edit 2: Thread cleaned, irrelevant posts removed. This is the most popular thread in the forum, started with a misleading title, and now (as of the current version: 2.0RC-r431) contains 3 solutions to overcome the UUID errors. For anyone watching it since its previous title: the Dev.Team confirmed that UUID from SMBIOS is not a solution.

Please post only verified-working solutions. Not all hacks are built alike. Most of the times, a complete solution would include both UUID.kext and EFI/hex strings.

« Last Edit: May 30, 2009, 06:36:16 PM by rocksteady »

MiTon

  • Entrant
  • Posts: 2
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #1 on: April 25, 2009, 01:57:25 AM »
Hi,

to solve your UUID issue (sorry lost the link ::)), you have to edit your /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist.
 -- add the missing FireWire Networkinterface, which is causing this error ---

Code: [Select]
<dict>
         <key>BSD Name</key>
         <string>en3</string>
         <key>IOBuiltin</key>
         <false/>
         <key>IOInterfaceType</key>
         <integer>6</integer>
         <key>IOInterfaceUnit</key>
         <integer>3</integer>
         <key>IOLocation</key>
         <string></string>
         <key>IOMACAddress</key>
         <data>
         ABbPoF5V
         </data>
         <key>IOPathMatch</key>
         <string>IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P3@1C,2/
      IOPCI2PCIBridge/pci14e4,4311@0/AirPort_Brcm43xx/IO80211Interface</string>
         <key>SCNetworkInterfaceType</key>
         <string>IEEE80211</string>
      </dict>

PS.: <string>IOService: ... is one line till next </string>
       <string>en3</string>  //en3 depends on the number of Networkinterfaces in you computer

greetings

« Last Edit: May 23, 2009, 09:48:56 AM by rocksteady »

gmacman

  • Observer
  • Posts: 10
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #2 on: April 25, 2009, 04:58:36 AM »
Thanks.  I've seen that solution before but I never it got it to work in my other machine and went with the SMBIOSResolver (at least I think that's what fix my problem with the machine running Chameleon v1).  Regardless, my ultimate goal is to try to keep things as vanilla as possible on my system and (hopefully) just use the /Extra/Extensions folder with Chameleon v2 to help resolve this issue.
« Last Edit: May 23, 2009, 09:48:45 AM by rocksteady »

skydrone

  • Observer
  • Posts: 12
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #3 on: April 26, 2009, 02:06:40 AM »
I got this solved placing UUID.kext into /Extra/Extensions folder.
Don't know if it's the best solution, but at least seems cleaner.

Cheers!

« Last Edit: May 23, 2009, 09:48:36 AM by rocksteady »

gmacman

  • Observer
  • Posts: 10
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #4 on: May 06, 2009, 05:19:11 PM »
I got this solved placing UUID.kext into /Extra/Extensions folder.
Don't know if it's the best solution, but at least seems cleaner.

Cheers!

Many thanks!  Definitely the "cleaner" solution I was looking for.  I took a minor additional step and used a little app I found called UUID Generator to create a unique one and then copy and pasted it into the Info.plist within the UUID.kext.  Probably not necessary but I have two hackintoshes and thought there might be something screwy if they both used the same UUID.

For anyone else looking to solve UUID error 35's, mine were exclusively at boot and caused (IMO) by the use of a pci NIC card, here are those two files (UUID Generator app and the UUID.kext).  Not positive that this is the cause of UUID errors but I read somewhere that OS X generates a specific UUID (there are several, one for each HD, one for each user account, etc.) by using the MAC Address of the onboard NIC.  Since I don't use the onboard NIC, I'm thinking that's why I'm getting all the errors.

Regardless, this solution got rid of the errors and does not seem to have any side effects, so once again thanks skydrone!!!    :)

« Last Edit: May 23, 2009, 09:48:20 AM by rocksteady »

rcfa

  • Member
  • Posts: 47
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #5 on: May 21, 2009, 11:05:52 AM »
I too am missing instructions howto manual or such that explains what exactly the SMBIOS.plist is for and what it can be used for.

But also, what are these UUID.kext and the UUIDGenerator.app generates a UUID for what device/property?
I can run it, and I get a UUID string, but I wouldn't know what it's for, or where to put it...
« Last Edit: May 23, 2009, 09:48:11 AM by rocksteady »

gmacman

  • Observer
  • Posts: 10
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #6 on: May 21, 2009, 05:45:24 PM »

But also, what are these UUID.kext and the UUIDGenerator.app generates a UUID for what device/property?
I can run it, and I get a UUID string, but I wouldn't know what it's for, or where to put it...

The issue for me (and why I posted those) were because I was constantly getting UUID errors during my boot.  I believe (but am not sure) that the UUID error was caused by the fact that OSX generates a UUID from the onboard NIC's MAC Address.  Because I use a NIC card and ignore the onboard NIC of my motherboard this caused a problem.

The UUID.kext resolves this problem.  It has a UUID within it's Info.plist.  I took a step further by generating my own unique UUID and put it in the Info.plist (in essence modifying the kext).  This is not really necessary and you can merely use the UUID.kext without doing this if it sounds too much like voodoo (pardon the pun).

However, if you are not getting any UUID errors during boot, there is no need for this kext.
« Last Edit: May 23, 2009, 09:48:02 AM by rocksteady »

rcfa

  • Member
  • Posts: 47
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #7 on: May 22, 2009, 06:50:27 AM »
Thanks for the explanation. Is that UUID suposed to be unique to a specific INSTALL, or for a specific to a piece of HARDWARE?
« Last Edit: May 23, 2009, 09:47:52 AM by rocksteady »

gmacman

  • Observer
  • Posts: 10
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #8 on: May 23, 2009, 03:10:40 AM »
Thanks for the explanation. Is that UUID suposed to be unique to a specific INSTALL, or for a specific to a piece of HARDWARE?

Keep in mind I'm not an OSX engineer (although I suppose none of the hackintosh folks can classify themselves as even been close to that), but I believe the specific UUID that causes errors during the boot process is for the installed version of OSX but it is created by utilizing unique hardware (i.e., it's based on some random information, the MAC address, of the onboard's NIC).
« Last Edit: May 23, 2009, 09:47:43 AM by rocksteady »

rcfa

  • Member
  • Posts: 47
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #9 on: May 23, 2009, 09:39:37 AM »
Thanks for the explanation. Is that UUID suposed to be unique to a specific INSTALL, or for a specific to a piece of HARDWARE?

Keep in mind I'm not an OSX engineer (although I suppose none of the hackintosh folks can classify themselves as even been close to that), but I believe the specific UUID that causes errors during the boot process is for the installed version of OSX but it is created by utilizing unique hardware (i.e., it's based on some random information, the MAC address, of the onboard's NIC).

When I verbose boot, I see some messages about UUID stuff, but the system works just fine. So is there anything that didn't work without that kext, or is this just a cosmetic thing to get rid of meaningless error messages?

Ronald
« Last Edit: May 23, 2009, 09:47:06 AM by rocksteady »

rocksteady

  • Global Moderator
  • Posts: 233
  • Root Down
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #10 on: May 23, 2009, 10:03:48 AM »
Is that UUID suposed to be unique to a specific INSTALL, or for a specific to a piece of HARDWARE?


When I verbose boot, I see some messages about UUID stuff, but the system works just fine. So is there anything that didn't work without that kext, or is this just a cosmetic thing to get rid of meaningless error messages?
No, it's not only cosmetic. The onboard NIC on my hack kind of works OK out of the box after a retail installation. No UUID errors @ boot time.

Upon further investigation and by observing the system.log, I found out that while basic networking was OK, I was experiencing various hiccups with AFP permissions, Bonjour (mDNS) not starting, etc. The UUID.kext seems to fix that.

Here's a (newbie-friendly, step-by-step) guide to make use of UUID.kext (adapted from a post somewhere inside insanelymac's labyrinth):

red = Terminal command

01) Download UUID.kext.zip from this thread, unzip it and place it on your desktop

02) Find your Ethernet MAC address (there's a zillion ways to do this), one of the simplest is to find it in System Profiler-->Network:



03) Right-click on UUID.kext and take a look inside:



04) Open Info.plist with your favorite editor:



05) Paste/type your Ethernet MAC address in the corresponding string (last batch of numbers) without the semicolons, under <key>UUID</key>:



06) Exit your editor and copy your own modified UUID.kext to your /Extra folder

07) Fix permissions for the UUID.kext, from Terminal:

sudo chown -R root:wheel /Extra/Extensions/UUID.kext
chmod -R 755 /Extra/Extensions/UUID.kext


(Feel free to make a kextcache (/Extra/Extensions.mkext) if you like, otherwise you're ready to boot)

08) Verify that UUID errors are history by either:
    • booting with -v (verbose mode) and observing the messages flying by
    • booting normally and typing sudo dmesg from the Terminal
    • booting normally and observing the messages of Utilities-->Console-->system.log

Aside from the errors @ boot time, UUID.kext should also fix misc. AFP (FileSharing) & Bonjour (mDNS) errors usually visible only from system.log



« Last Edit: May 30, 2009, 05:49:34 PM by rocksteady »
Stop bitching, start coding or documenting or both..

P5Q-EM : Q6600 : 8GB RAM : 8800GT : SATA Drives

thorazine74

  • Member
  • Posts: 57
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #11 on: May 23, 2009, 06:28:45 PM »
See this other thread, it seems chameleon can also do UUID injecting on smbios.plist, I havent tried it yet (not on my OS X comp right now) but it may help fix those UUID error 35 messages...
Mac OS X 10.5.6 Retail (Updated to 10.5.7) with Chameleon 2.0 RC1+BootIt NextGen 1.86 (MBR Single Drive)
Gigabyte 73PVM-S2H + C2D + 2 Gb
2 SATA HD (AppleAHCIport.kext) + 1 PATA DVD+RW (DarwinATAPort.kext)
Realtek ALC889 (VoodooHDA.kext)
Geforce 8600GTS (EFI String) PS/2 M & KB: VoodooPS2.kext

Kabyl

  • VoodooLabs
  • Posts: 158
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #12 on: May 23, 2009, 07:31:56 PM »
See this other thread, it seems chameleon can also do UUID injecting on smbios.plist, I havent tried it yet (not on my OS X comp right now) but it may help fix those UUID error 35 messages...
That (SMUUID) is a different thing, not related to the issue being discussed here, because OS X uses the MAC of the built-in NIC to generate it and it doesn't get it from SMBIOS

But one could make use of it, *if* you have a good implementation of SMBIOS in your firmware.
« Last Edit: May 30, 2009, 05:57:01 PM by rocksteady »

rcfa

  • Member
  • Posts: 47
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #13 on: May 24, 2009, 04:51:16 AM »
See this other thread, it seems chameleon can also do UUID injecting on smbios.plist, I havent tried it yet (not on my OS X comp right now) but it may help fix those UUID error 35 messages...
That (SMUUID) is a different thing, not related to the issue being discussed here, because OS X uses the MAC of the built-in NIC to generate it and it doesn't get it from SMBIOS

But one could make use of it, *if* you have a good implementation of SMBIOS in your firmware.

Hm, the SMBIOS spec v2.6.1 describes the structure of the SMBIOS UUID, and it does refer to the MAC address.
So IF (and I don't know if) MacOS use SMBIOS properties, the SMBIOS use and the fact that the MAC address is used is no contradiction.

In fact, the original spec for UUID always had the MAC of the generating computer there, and the front was time based. Some applications of UUIDs however asked for privacy rather than for identification of hardware, so that's when a pseudo-random number based UUID standard was published. The two coexist, and if you read up on UUIDs e.g. on wikipedia, you see how you can identify which kind of UUID you're using.

I was planning to use the UUID generator available here: http://www.hsoi.com/hsoishop/software/
which has an option to generate MAC/time based UUIDs, or are you saying Apple is using "time zero" in their UUIDs, or were you just "too lazy" to fill in the front, and left them all zero? From the wikipedia article, there are issues with all zero UUID components, because they have special meaning.

I still think, if it's not yet happening, that the proper way of dealing with this would be if this were taken from the SMBIOS, and if MacOS doesn't do it, then this kext should be written in such a way that instead of taking the UUID from the plist, it should request it from the BIOS. Just my $0.02

thorazine74

  • Member
  • Posts: 57
Re: CFGetHostUUIDString: unable to determine UUID for host. Error: 35
« Reply #14 on: May 25, 2009, 12:31:50 PM »
See this other thread, it seems chameleon can also do UUID injecting on smbios.plist, I havent tried it yet (not on my OS X comp right now) but it may help fix those UUID error 35 messages...
That (SMUUID) is a different thing, not related to the issue being discussed here, because OS X uses the MAC of the built-in NIC to generate it and it doesn't get it from SMBIOS

But one could make use of it, *if* you have a good implementation of SMBIOS in your firmware.

Sorry but I dont understand fully, lets see if I can make all this clear:
- superhai's SMBIOS enabler kext had a UUID field injecttion that fixed those error 35 gethostuuid when booting.
- SMUUID injection done by chameleon doesnt fix it (for me at least).
- chameleon's & superhai's injected values are different UUID entities even though named the same?
Is that correct?
Can we use the SMUUID injected in chameleon to fix error 35 get uuid from host failed errors?
Mac OS X 10.5.6 Retail (Updated to 10.5.7) with Chameleon 2.0 RC1+BootIt NextGen 1.86 (MBR Single Drive)
Gigabyte 73PVM-S2H + C2D + 2 Gb
2 SATA HD (AppleAHCIport.kext) + 1 PATA DVD+RW (DarwinATAPort.kext)
Realtek ALC889 (VoodooHDA.kext)
Geforce 8600GTS (EFI String) PS/2 M & KB: VoodooPS2.kext