Join Date
    Aug 2011
    Gigabyte 7ZZ-UD5H
    Intel i7 3770K @ 4.3Ghz
    Nvidia GTX 660 OC
    Geekbench Score
    jaymonkey is online now
    Android Phone iPhone MacBook Pro

    How to Fix iMessage (iCloud & AppStore)

    Click image for larger version. 

Name:	imessage.png 
Views:	77036 
Size:	131.4 KB 
ID:	85648How to fix

    (also Appstore, iTunes & iCloud)

    Change Log

    29-08-2014: Add Step 5e - Clarify NVRAM plist reset
    26-08-2014: Update Step 5d for Clover Users (MLB & ROM)
    18-08-2014: Added Section 5d - iMessage Debug utility
    10-08-2014: News: Recent iMessage outages...SOLVED
    09-06-2014: Add Important note about S/N changes to Step 3
    08-06-2014: Add NIC EFI injection to Step 2
    19-05-2014: Part-2 of the guide moved to Post #2
    18-05-2014: Confirmed Working - OSX Mavericks 10.9.3
    15-05-2014: Update Step 5C for Chimera V3.0+ users
    23-04-2014: Re-write and simplify Step-2
    17-04-2014: SId Bug Fix and UUID miss-match
    10-04-2014: New iMessage issues identified
    31-03-2014: Rewrite Step-5c and consolidate notes
    30-03-2014: Updated info on Credit Card expired
    06-03-2014: Updated info on issue effecting RAID users
    03-03-2014: Updated info on Apple ID validation check
    02-03-2014: Reformat and re-order entire guide
    02-03-2014: Confirmed Working - OSX Mavericks 10.9.2
    30-12-2013: Confirmed Working - OSX Mavericks 19.9.1
    26-10-2013: Updated info on BSD Name issue
    24-10-2013: Confirmed Working - OSX Mavericks 10.9.0
    30-09-2013: First release of guide made public
    25-08-2013: Confirmed Working - OSX Mountain Lion 10.8.5
    01-08-2013: Confirmed Working - OSX Mountain Lion 10.8.4


    If you get a iMessage alert asking you to contact Apple with a customer code then thats what you must do, the issue is at Apples end not yours. There is nothing you can do locally to resolve the issue other than to generate completely new ID's (SM-UUID, S/N MLB, ROM ... etc) for your system and associate it with a new AppleID, which is not an option for most users.

    Your Apple ID zzzzz@xxxxxxxx.com can't be used to set up iMessage at this time.

    If this is a new Apple ID, you do not need to create another one. To use this Apple ID with iMessage, contact iMessage support with the code below.

    Customer Code: ####-####-####

    Recently many more users are seeing this alert, I believe that Apple made further changes to security checks on their servers in early August 2014 as a result i think Apples system mistakenly thinks that someone is trying to use your AppleID on a non registered Apple device, maybe because of an a UUID - S/N miss-match or invalid MLB or ROM value - all of which is explained in the guide.

    Please see Part-2 Step 8 of the guide for advice on contacting Apple iMessage Support. Only contact Apple if you get this message with a Customer Code. If you are getting Login or authentication issues then use the guide to resolve your issues, if you start getting the above alert then iMessage is working on your OSX system but you must contact Apple to remove the device/AppleID lockout.

    Before jumping to the conclusion that your iMessage issue is local to your OSX machine its always worth checking to see if there is a more general service outage. you can check the Official status of Apple's backend systems here :-


    Specific iMessage issues in your country can be followed/tacked using Down Detector :-

    For USA use this link:-

    For UK use this link:

    (for other countries use either of the two links and click on the appropriate country link on the right)

    If you find this guide helpful please consider clicking on the 'Recommended' button at the top of this page, doing so will help to keep the link to the guide on the home page making it much easer for others to find.

    Latest iMessage Guide News:

    iMessage outages 8/9/10 Aug 2014

    More info at Post#955

    It looks like those users who's iMessage stopped working after installing the latest iTunes 11.3.1 update could have been unlucky and the iTunes update was just coincidence. There are many reports that there was a major iMessage outage caused by a 'glitch' Apples backend systems on the 8th of Aug:-


    It seems to have predominately effected iMessage users in the States and the UK, these problems seem to coincide with Apples roll-out of the new iCloud data centre in China my guess is that normal service will be resumed soon.

    Case Study: 6th Aug 2014 - iMessage/MAC address issue

    The Other day i updated one of my systems to a new Motherboard and CPU, however i recycled the WiFi card which resulted in iMessage issues. See post #897 for more information.

    Update: 19 May 2014 - Part-2 of the Guide moved

    Please note that Part 2 of this guide now follows directly below Part-1 (Post #2) and is no longer at post #404, If you find any links in the guide not working please let me know.

    Update: 15th May 2014 - Chimera 3.0 and later.

    If you have installed or updated to Chimera Version 3.0 or later be sure to read Note 4 in Step 5C below.

    Update: 17th April 2014 - New iMessage issues & the SId Bug

    Apple have recently made some changes on their iMessage relay servers that can cause new issues for hackingtosh systems that iMessage was working perfectly on.

    Symptoms of these new issues include all contacts in iMessage displaying in red text, and at least two previously unseen alert messages. It does not effect everyone but it does appear to be effecting users of Gigabyte GA-Z77-UP5-TH motherboards, there are reports of the same issue's occurring on other hardware too.

    Since Part-1 of the guide is getting a little on the large size for a single post, I've written Part-2 as a new section which covers the above and future iMessage issues, please Jump to Part 2 for further details.

    If your new to iMessage and/or this is your first time visiting my guide then I would suggest that you carry on reading and start with Part-1 below, it details important basic information you need to know and understand in order to get iMessage working on a hackingtosh computer along with the more common issues seen, only move on to part-2 if you need to.


    iMessage - Apple's cross-device, instant messaging system built into OSX (and IOS) is quite possibly the most finicky software element to get working correctly when OSX is running on non-Apple hardware. Having built and installed many hackingtosh systems, i've run into iMessage issues many times, in each and every case it was a different problem requiring a new solution.

    Click image for larger version. 

Name:	Screen+Shot+2012-07-27+at+9.38.57+AM.png 
Views:	78243 
Size:	112.6 KB 
ID:	85651
    Symptoms of iMessage problems usually show as a sign in or activation error

    I wrote this guide to share my findings with those of you who are having issues running iMessage on a OSX hackingtosh system, some steps of the guide are critical, others are optional - this is made clear at each step of the guide.

    As you will find, there are many different factors that can effect iMessage and stop it from working, I am quite sure that there are still more to be found, as such I can not guarantee that this guide will fix your problem 100% but it has helped many many users and should have at least a 95% chance of working for you. I will continue to update the guide as new solutions are found and confirmed.

    I would suggest that you read through the entire guide first and digest each of the steps before making any changes to your system. I have tried to explain the reasons behind each issue and solution. I believe that its important to learn and understand how things work, anybody can upload a file and tell you what to do with it but nobody learns from that.

    It is best to think of this guide as a 'Tool Box' of iMessage solutions rather than a step by step guide, although i have tried to put the guide into a logical order solving iMessage can be a nightmare but armed with the knowledge contained in Parts 1 and 2 of the guide you should be able to resolve most iMessage issues, I apologise for the length of this guide, however as you will find out there is a lot to cover.

    It's quite possible that you can resolve your iMessage issue with just one or two of the following steps, before you start make sure you've got an up-to-date TM or CCC backup, there is nothing here that should cause you any problems, all the steps are relatively straight forward and easy to apply, just take your time and be sure to follow the instructions carefully. I am not responsible for any damage or loss of data you may incur by using this guide.

    Important info for Apple RAID users

    If you boot OSX from a normal single drive (HDD or SSD) then skip forward to step 1, but if you boot OSX from a Apple software RAID then there is an added complication in that it is not possible to apply all the fixes in this guide on an active software RAID.

    To negate this complication you must first clone your RAID volume to a standalone HDD using Carbon Copy Cloner or similar utility, install a boot loader and modify the chameleon plist in /Extra so that you can boot OSX from this non RAID clone (be sure to remove Kernel Cache=Yes and RAID uuid from the boot flags). Once booted from the clone HDD, apply the necessary steps from the guide to get iMessage working.

    When your happy that everything is working ok, take a deep breath and delete your existing RAID set, it's also worth erasing the two RAID member drives just so you know that everything is fresh and makes for a good opportunity to update your boot loader, then re-create your RAID so a new uuid is generated,

    Now clone the standalone HDD back to the new RAID set, make the RAID bootable by installing the boot loader via the command line method to each of the RAID helper partitions and copy the entire /Extra folder to the two RAID helper partitions, be sure to edit the chameleon plist so that it boots using the new RAID uuid and Kernel Cache=Yes.

    Its sounds a pain and it is, it's time consuming and carries a certain amount of risk but all OSX software RAID users should be familiar with this method as its how we get our RAID's woking in the first place, so if you think of it along those lines and it wont seem quite so daunting, just be sure to cover yourself with multiple backups if possible.

    Warning: If you don't understand the above then please stop now, do some research and make yourself familiar with the way a OSX RAID is created and made bootable on a Hackingtosh system, you can use this guide as a starting point. Please be sure to read the additional RAID notes towards the end of the guide.

    Step-1: Credit Cards and Verifying your AppleID

    There are four different types of AppleID account:-

    • Basic
    • Basic Verified
    • Pro (Verified)
    • Developer (Verified)

    It doesn't matter what type of account you have or if your AppleID is registered as @me.com, @mac.com, @icloud.com or a non-Apple email address, if your going to use it with iMessage it must be verified and the easiest way of making your AppleID verified is to register a credit card against it.

    You can check the 'Verified' status of your AppleID by logging into Apple's on-line Account manager :-

    Name:  Screen-Shot-2014-03-29-at-13.57.17.jpg
Views: 67626
Size:  4.8 KB

    By registering a credit card against your Apple ID, Apple's servers and systems know that your AppleID has a verified name and address meaning that all traffic sent and received by that Apple ID are traceable to someone (or somewhere) ....

    The most secure way to register a credit card against your AppleID is through iTunes or the App Store, try to avoid using a web address in a browser, there have been several reports of fake AppleID phishing sites, most of these scams work via fake emails that contain a rouge link to a fake AppleID log-in page, the email usually asks you to confirm or update your AppleID, don't be fooled even if the address looks like it might reside on legit server.

    Note: Some users have reported success at using their PayPal Account as a means of AppleID Verification and payment. I personally can not confirm this works as I have not used this method, but there are positive posts on this thread that it works, if you do try this and it works for you then please post some feedback.

    For veteran OSX users its possible that you have an old AppleID (@mac.com ..etc) which you haven't used for a while, but if it has a credit card registered against it that is still current then you could try using it to test iMessage.

    If your AppleID already has a Verified status but you are still having trouble with iMessage login or authentication, you could try changing your AppleID password, this is one of the oldest tricks in the book for resolving iMessage login issues. It has also been reported that sometimes updating your account details (address ..etc) or purchasing something from the AppStore or iTunes can also revive iMessage functionality.

    Do not be tempted to remove your credit card info once your account is verified, iMessage will stop working at some point if you do.

    You should also be aware that once the credit card expires on your AppleID, you are given a grace period which seems to be around 30 days to register a new one. If you do not register a new, valid credit card within the grace period, iMessage will stop working.

    Step-1 Summary: Your Apple ID must have a Verified status and a valid credit for iMessage to work.

    Step-2: Network Interface BCD names.

    I stumbled across this (potential) issue while helping out a good friend of mine to get iMessage working, one thing that was different for him was that iCloud and the App-Store were also not working despite having an otherwise perfect system with Internet and local LAN all working fine. We have identical hardware builds so after walking him through some of the other steps a few times, we started to dig a little deeper.

    Open 'System Information' [About this MAC -> More Info -> System Report] and click on 'Ethernet Cards' , you should see a list of installed NIC's on your system, for each NIC you will see a list of parameters such as Type, Bus, VendorID, DeviceID ... etc

    Look at the parameter called 'BSD name' for each of your network interfaces, they should be called 'en0', 'en1' ... etc

    In our case we both have Gigabyte GA-Z77-UD5H motherboard's which have two built-in LAN ports, one is a Atherios LAN controller and the other is the Intel LAN controller built into the Z77 chipset, on my system the Intel port was named 'en0' and the Atherios port was 'en1'.

    Click image for larger version. 

Name:	Screen Shot 2014-04-09 at 18.19.49.png 
Views:	67603 
Size:	98.0 KB 
ID:	89109
    When I compared this with my friends system his Intel port was 'en2' and the Atherios port was 'en1' there was no 'en0' ? - How this occurred during the OSX install i'm not sure ?

    We tried removing the network devices in [System Preferences -> Network] and re-adding them, we un-plugged cables and moved things around and after what seemed like hours, we eventually were able to get the Intel port identified as 'en0' but after trying all the steps below again, iCloud would still not work.

    It maybe possible to manually change the BSD names by editing the key <BSDname> in the following file:-


    An easer solution is to delete the above file and reboot, OSX should re-discover your Network Interfaces and rebuild NetworkInterfaces.plist hopefully with the correct BSD names. If the BSD names are still not correct and you have add-on NIC's such as PCI or USB then you could try removing them first and let OSX assign the builtin NIC's first, then re-install your add-on NIC's

    In our case we decided to re-install OSX and this time the Intel LAN port had a BSD Name of 'en0' and after applying Step-5c iMessage and iCloud worked fine..

    Another way of checking your BCD names and NIC configuration is to use DPCIManager 1.5, which you can download from here:-


    Once installed run it and make sure your on the 'Status' tab, the top part of the Status screen will identify all your network interfaces and display their BCD names, as explained above, the BCD names should start at 'en0', additionally the 'Builtin' check box next to each interface must be checked for iMessage to work on each of the detected network interfaces.

    Click image for larger version. 

Name:	DPCIManager Status.png 
Views:	47320 
Size:	121.4 KB 
ID:	95413
    If the 'built-in' check box is not checked you should make sure you have the following key and string in your boot.chameleon.org.plist:-
    if you do have this key and string in your plist but the 'Builtin' check box is not ticked then click on the 'eye' icon for the appropriate interface (at the right hand side of each entry), you will be given an EFI string that you can add to your boot.chameleon.org.plist in /Extra, this string is required for correct iMessage operation, for most users the Boot-Loader will identify the correct EFI string and automatically inject it, however in some rare instances this does not work in which case you should manually inject the NIC(s) EFI string(s) identified by DPCIManager (if your using Clover boot-loader please see the clover documentation on how to inject EFI strings)
    Click image for larger version. 

Name:	Ethernet EFI String.png 
Views:	46852 
Size:	43.8 KB 
ID:	95416
    If it does not work straight away, you may have to try one or two of the other steps such as deleting all previous iMessage setup data (See Step 3 below), reset password, delete nvram.uuid.plist in /extra ... etc.

    I'm still not entirely sure what the deal is with BSD names and iMessage, the only conclusion i can draw at the moment is that BSD names should start with 'en0' and be numbered sequentially for the number of NIC's in your system and each NIC should be identified as 'Builtin'.

    All of my hackingtosh builds are using 'en0' and 'en1' for the 'Builtin' ethernet NIC's, if you have both ethernet and WiFi like my trusty Sony Vaio-SE2 laptop hackingtosh, the LAN port should be assigned to 'en0' and the WiFi should be 'en1' (see above DPCIManager 'Status' screen grab).

    I personally recommend that you get iMessage working on a wired interface before moving to WiFi, if your working on a new build its best to get everything else working via wired network then add/enable the wifi interface. If you jump straight to the WiFi interface then you may experience odd BCD NIC naming.

    There is a bit more information on the issue with BSD names and a possible way to avoid the problem in the future here.

    Step-2 Summary: Network BSD names should be 'en0', 'en1' ... etc sequentially with no gaps.

    Step-3: SMBIOS.plist and Boot-loader

    It is critical that you have a unique OSX Serial Number (S/N), the latest version of Multibeast should take care of this during installation when it creates the SMBIOS.plist file in/Extra, but as an added precaution I would recommend running Chameleon Wizard (it's in the community downloads section) to generate a new OSX S/N.

    Important: Try to keep the number of times you change the OSX S/N to an absolute minimum as Apple can detect the change against your devices UUID and can block your device's UUID against your AppleID (See Part-2 of the guide for more details on this, you can override your SystemId (UUID) by means of the SId Bug fix).

    You should be aware that your S/N can change automatically if you alter the OSX System Type ID (eg form MAC Pro 3,1 to iMac 14,1) using Chameleon Wizard. The System Type ID is also defined by the first two digits of the S/N and can be either 'CK' or 'CO'. When you use one of Chameleon Wizards pre-made SMBIOS's it will atomically change the first two digits of your S/N to the required 2 digit code.

    I suspect that some users are manually editing the System Type in SMBIOS without changing the S/N if necessary, thus causing another form of S/N - UUID miss-match, this is just my theory at the moment but it explains some of the more obscure error messages I've read about.

    To change your S/N open Chameleon Wizard and click on the 'SMBios' icon then 'Open' and navigate to the /Extra folder in the root of your startup disk and select your SMBIOS.plist.

    Note: OSX RAID uses will have to mount the two RAID helper partition(s) to access the /Extra folders - see here.

    Once your SMBIOS is loaded in the editor, you can choose to use one of the pre-made SMBIOS's. Selecting a pre-made SMBIOS will automatically fill-in all the details and ensure that the 1st two digits of the S/N are correct for the model type you have selected (see Important note above).

    Click image for larger version. 

Name:	Screen Shot 2014-04-09 at 18.34.10.png 
Views:	66848 
Size:	187.6 KB 
ID:	89116
    Although many OSX Hardware build guides recommend using Mac Pro 3,1 because its safe there are issues with it as it will generate a 11 digit S/N, Since 2011 Apple OSX systems have had a 12 digit S/N. I believe one of the checks that Apple has implemented is to look at your hardware and check that the Systems Type is correct for the hardware .....

    SMBIOS System Type Recommendations :-

    • If using a Sandy Bridge or earlier CPU try Mac Pro 3,1 (but you may still have issues)
    • For Intel 77 based systems try iMac 13,1 or 13,2
    • For Intel 87 based systems try iMac 14,1 or 14,2
    • For Intel 79/89 systems try Mac Pro 6,1

    If your not sure try downloading MAC Tracker ... compare the hardware of the various Apple MAC types with the CPU and Motherboard generation you are using, don't worry about the video type as you can override this using Boot-Loader options. Whats important is to try and match the CPU and Motherboard as close as possible. OSX has internal optimisations for Ivy & Haswell CPU based systems which will only be activated if using the correct system Type ID (SMBIOS).

    Once your happy with the Systems Type and selected the appropriate SMBIOS, click a few times on the two <Random> buttons to generate a new batch number and week of manufacture then click on 'Save', if you boot from a OSX RAID then use the 'Save As' button to save the updated SMBIOS.plist to the two raid helper partition(s) - see here, remember that the first two characters of the S/N identify the type of MAC you have.

    You should also be using the latest Chimera (or Chameleon) version 2.2 or later, if your not then please either download and install the latest version of Chimera from the downloads section of this website or use Chameleon Wizard to update your Boot-Loader before going any further.

    OSX RAID users will need to manually install Chimera (or Chameleon) by extracting the '/usr/standalone/ i386' folder from the boot-loader install package (I use Pacifist) and then use terminal commands to install the boot-loader files on to your RAID helper partitions - see this guide if your not familiar with the procedure.

    Step-3 Summary: You must have a unique OSX Serial No. and up-to-date OSX boot-loader.

    Step-4: Remove iMessage Setup data

    If you are starting with a clean OSX install then there is no need for you to perform this step so jump forward to Step 5, however if you have been trying to get iMessage to work for sometime then the chances are that the data and plists are full of invalid data and/or settings. So lets start with a clean slate and remove all the current iMessage related data and plists.

    Ensure that you have ‘Show all Files’ or similar utility for displaying hidden files and folders in Finder.
    You can download 'Show all Files' form the community section on the tonymacx86.com.

    Enable ‘Show all Files’, start-up Finder and navigate to:-


    Delete any files beginning with the following prefixes:-

    • Caches/com.apple.Messages
    • Caches/com.apple.imfoundation.IMRemoteURLConnectionAgent

    Now navigate to:-


    Delete any files beginning with the following prefixes:-

    • com.apple.iChat.
    • com.apple.imagent.
    • com.apple.imessage.
    • com.apple.imservice.

    Now delete the folder:-


    You can switch off 'Show all Files' now.

    You should not loose any messages or contacts by performing this action as both are stored in your iCloud account and should sync up again once iMessage is working correctly.

    Update: Aug 2014

    After a 'glitch' in Apples backend servers that occurred sometime around the 8th or 9th of August 2014 many users found that they were unable to reactivate iMessage despite following the above and the other tips in this guide.

    If you have tried all the guides steps and iMessage is still not working then you could try the following:-

    With 'Show all Files' enabled navigate to:-


    Delete all files beginning with the following prefixes:-

    • com.apple.security.

    This should be done in conjunction with all of Step-4 (remove all other iMessage plists)

    Some users have found that they were unable to delete the security plists because they are being accessed by the security processes. If you find this is the case, open Activity Monitor and kill securityd_service, then securityd and try again (you may have to do this a few times before you can remove the plists)

    Ensure you empty the trash before rebooting

    This optional step has been confirmed working by myself and several other users on this thread who were affected by this recent iMessage issue. Removal of these plists has not caused any additional side effects however as with all things Hackingtosh be sure you have a backup before you implement this fix. Any positive or negative feedback from applying this fix would be appreciated.

    Step-5a: NVRAM - The Problem

    On all genuine Apple Mac's, OSX stores some critical system keys and values in Non Volatile RAM rather than writing them to a config file or plist on your startup drive. The NVRAM is Apple bespoke hardware built into a MAC's system board and forms part of Apple's OSX authentication system, as such PC motherboards & laptops do not have this hardware.

    iMessage stores several important key values in NVRAM some of these values form part of a long chain of crypto key's used by OSX for keeping content secure, an important factor in Apple's on-line eco system and one which iMessage relies on. If certain keys are not saved in NVRAM then the next time the system is powered off or re-booted iMessage may suffer from login and/or activation problems.

    There has been much work done in the community to try and resolve this issue and the latest versions of Chameleon and Chimera include a fix that try's to maintain these critical values in OSX's NVRAM cache. However for reasons outside the scope of this guide it does not work reliably for everyone.

    Step-5b: NVRAM - The Solution

    Clover users:

    Clover automatically builds a much more complete NVRAM cache at boot time, OSX normally reads values from the cache rather than the slow Non Volatile RAM as such this negates most of the problems associated with not having the NVRAM hardware, please skip down to Section 5d.

    Chameleon and Chimera Users:

    Hackingtsoh wizard xzenue has written a boot-loader module called 'FileNVRAM' that simulates Apple's Non Volatile RAM hardware through software emulation and store's the NVRAM keys and values in a plist called nvram.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx.plist located in the /Extra folder of your OSX startup drive.

    The nvram plist is automatically generated by FileNVRAM the first time it is initialised and allows OSX to maintain NVRAM keys and values through power cycles and reboots. Depending on your system type, additional OSX settings may be written to the simulated NVRAM such as brightness & volume levels.

    You can check the content of OSX's NVRAM by starting a terminal window and typing 'nvram -x -p' and pressing return (do not include the quotes), the resulting output should list the current contents of the NVRAM, please note that many of the key values are encrypted, as such unless you absolutely certain about what your doing don't try manually changing any of the key values.

    Step-5c: NVRAM - Installing FileNVRAM

    Download the attached file ‘modules.zip’ and extract it, the contents are a folder called 'modules' that has a single file in it named 'FileNVRam.dylib', copy the ‘modules’ folder and paste it in the ‘/Extra’ folder in the root of your startup drive.

    Update: I have attached an archive that contains both versions of FileNVRAM (V1.1.2 & 1.1.3)

    Important notes about installing NVFileRAM:-

    More recent versions of Multibeast can now create the 'modules' folder in /Extra and place other '.dylib' files inside it, if you already have a 'modules' folder then just merge the contents of the attachment with the existing folder.

    2. If you use the tip to move the /Extra folder and boot-loader files to the unused EFI partition then the chances are that FileNVRAM will not work for long, it is similar to the issue that effects RAID users in that once OSX is booted the EFI partition is unmounted so OSX has no access to nvram.uuid.plist. To resolve this issue move the /Extra folder to the root of your startup drive and reinstall Chameleon or Chimera to the default location on the same drive, then use Disk Utility to erase the EFI partition (you will have to mount it first). This will not work for RAID or Fusion Drive systems. You could also try using EFI Mounter which is available in the Community Downloads sections of this site, This utility ensures that the EFI partition is mounted once OSX is booted which should allow FileNVRAM to function normally.

    3. In addition to having a unique OSX S/N (see Step-3) you must also have a unique OSX platform UUID, this is anther unique system identity and is normally generated by OSX via a key passed from the BIOS called 'SystemID'.

    In April 2014, Apple implemented new checks on their severs to make sure all iMessage packets are authenticated, these new checks ultimately led to the discovery of the "SId Bug" in the BIOS of some motherboard's which can cause a hackingtosh to have an invalid or duplicated platform UUID because 'SystemId' is not initialised correctly.

    Since FileNVRAM also needs to use the value of 'SystemId' it is important to make sure your BIOS does not suffer from the 'SId Bug' so now is a good time to jump over to Part-2 of the guide and read the section on the 'The SId Bug' , check to see if your BIOS is effected by it and apply the fix if necessary.

    The version of FileNVRam.dynib included in the modules attachment of this guide is V1.1.2 this version is recommend for all Chimera Versions up-to 2.2.1. If you are using Chimera Version 3.0 or later then TonyMacx86 recommends that you use version 1.1.3. of FileNVRAM which you can download directly from this link, download and unzip the archive, you only need the file called 'FileNVRAM.dylib' copy and paste it in the /Extra/modules folder, delete the old version first if already there - alternatively download the attached archive which contains both version of FileNVRAM.

    A small number of users have encountered issues with Chimera Version 3+ and have either stuck with FileNVRAM V1.1.2 or backed out Chimera to version 2.2.1 and FileNVRAM V1.1.2. I'm sure that these are just small teething issues with this major update of Chimera and should be resolved in the next release.

    Please note that if you have recently updated to Chimera V3.0 or later and are injecting 'SystemId' in order to negate the SId bug then you must use the SMBIOS injection method, please see Part-2 (Step-7, Path B) for more info if you have not already done this.

    Step-5 Summary: If using Chimera or Chameleon you must have FileNVRAM installed in /Extra/modules.

    Step-5d: NVRAM - iMessage Debug (MLB & ROM Values)

    Two important values stored in NVRAM that iMessage uses when registering on Apples servers are the MLB (Mac Logic Board) and ROM data values. If these values are not correct then the mechanism for storing/injecting these values at boot time is not working correctly.

    Dumping the NVRAM values using the terminal command 'NVRAM -x -p' will display the values encoded in base64, you can use an on-line base64 converter to convert the <data> values to a readable string value, i use this one:-


    Which can convert in both directions ...

    A better way to check these values is to use the attached terminal utility 'iMessage-Debug'

    Note to Clover Users: i'm not sure if iMessage_Debug will work if your using Clover so you may have to find another method to dump the MLB & ROM values, i think Darwin Dumper should do the job.

    To use iMessage Debug download the attachment at the end of part-1 and extract, there is no install required, simply double click on it in Finder to run it. It will dump all of the critical iMessage values from the NVRAM Cache including Platform UUID, S/N .. etc ... and convert the base64 data values to readable string values.

    The MLB & ROM values will be prefixed by a UUID and will look something like this:-

    4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM <xxxxxx...>
    4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:MLB xxxxxxx...

    If the values (xxx..) following these prefixes are incorrect, such as all zeros or blank then iMessage will have issues. Note that the UUID prefix should not and must not be the same as SM-UUID or Hardware (Platform) UUID.

    The MLB value is normally made up of your OSX serial number plus additional alpha/numeric values to make it 17 characters in length.

    The ROM Value is a heated discussion on many OSX Hackingtosh forums, many people think it should be your MAC address, some people think on a real mac it is the MAC address of the firewire port. Some believe that iMessage will only work if it is a cloned value form a real Apple Mac. The truth is that like a UUID it only has to be unique and 6 bytes long.

    If you are having issues with either MLB or ROM value its possible that your BIOS is using UEFI for booting, if you have the option available and are not running windows 8 in UEFI mode then disable all the UEFI options in the BIOS (use legacy boot options) apply step 4 again and reboot.

    Another theory is that Chimera / Chameleon has issues with FileNVRAM if too many dylib files are in the modules folder, you could try removing some or all of the other dylib files and see if that helps.

    It has also been reported that ACPICodec.dylib can cause problems with FileNVRAM, if it exists in your modules folder and you having issues with nvram values staying persistent between reboots try removing it.

    If you cant resolve the issue of the boot-loader injecting MLB & ROM values correctly it is possible to manually inject new/modified values directly into NVRAM, however I consider this a work around for the whole BIOS - NVRAM - Boot-Loader mechanism not working correctly and I personally think that it is better to try and fix the source of the issue rather than to work around it.

    Important: You will find many posts on this and other forums quoting real Apple Mac MLB & ROM values that are supposed to work. However I strongly advise against using these shared/leeched values. Apple is getting more wise to cloned id's and you may find that by using such values you will loose the ability to associate your other Apple devices with your AppleID and you may even be locked out of your account if too many people use the same MLB and/or ROM values. By using someone else MLB & ROM values you are effectively cloning/spoofing someone else system on Apples iMessage servers which cant be good for them or for you from a security point of view.

    With that said, many users have had success re activating iMessage by manually injecting MLB & ROM values:-

    For MLB use your OSX S/N + random alpha/numeric values to make 17 digits long
    For ROM use your Primary MAC address (en0) do not include the colons, should be 6 bytes (12 digits)

    Be aware that some MLB & ROM values will simply not work, I'm still not sure why this is.

    Method for Chameleon & Chimera Users:

    You can inject the values into the NVRAM either by the terminal or directly editing the nvram.uuid.plist in /Extra using TextWrangler or text editor of your choice.

    To inject new nvram values using terminal use the following commands :-
    sudo nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:MLB=xxxxxxxxxxx
    sudo nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM=xxxxxxxxx
    In each case, replace 'xxxxx' with the appropriate value and be sure to use the correct prefix UUID from iMessage Debug.

    Important: You must still have FileNVRAM installed and working in order for OSX to remember the new MLB & ROM values after a power down or reboot (Chimera & Chameleon only)

    Method for CLOVER Users:

    If you are using Clover as your boot-loader then the fix is much simpler, as long as your using the latest version of Clover you can inject values for ROM & MLB at boot-time, open clover's config.plist in TextWrangler and find the the 'RtVariables' section, add the following keys and values (in italic text) if you don't have a RtVarables section add all of the following:-
    You may be able to add these values via the latest version of the Clover GUI Configurator ... but i don't use it so not 100% sure on that.

    Credit: iMessage Debug was originally created by @ElNono based on the iMessage login research done by @tflux back in September 2013 a big thank you goes out to those guys.

    iMessage Debug not Working: There are quite a few versions of iMessage Debug floating around on GitHub. Since it is a terminal framework utility the version attached to this guide may not work on versions of OSX older than Mavericks or ML, if it does not work for you try finding an alternate version or downloading a source file and compile it on your own system.

    Step-5e: NVRAM - Reset/Rebuild (Chimera & Chameleon)

    Sometimes the key data stored within FileNVRAM's plist can get out of sync, for instance if you change your OSX S/N the MLB value in NVRAM may not match the new one. There are multiple reasons for resetting FileNVRAM plist. Its easy to do and should not cause any issues. I recommend resetting the NVRAM plist when ever you change anything to do with the system identities (UUID, S/N, System Type .. etc) or after using step 4 of the guide. I tend to do this all the time when working on fixing iMessage.

    1. Open a terminal window and execute the following command:-
      sudo nvram boot-args=""
      This console command clears the value of the 'boot-args' key stored in the OSX NVRAM cache, this can sometimes interfere with creating a new 'nvram.uuid.plist' file in /Extra if set.
    2. Using Finder navigate to your /Extra folder and delete all nvram.uuid.plist's
    3. Empty your trash
    4. Ensure that there are no nvram.uuid.plist's in /Extra. If you change any nvram values such as volume or brightness by use of fn keys in between removing the plist and rebooting then the nvram plist will automatically be re-created using the cached values, if this happens delete it again.
    5. Reboot and check that nvram.uuid.plist has been recreated in /Extra, use iMessage Debug to check the contents if all looks good then try iMessage again - RAID users please see the section titled 'Additional Notes for Raid Users' below for further details on this issue.

    Step-6: Time to Try iMessage

    After applying any of the steps from Part-1 and/or Part-2 of the guide, and before trying iMessage I would recommend running Disk Utility and repair permissions on your startup disk, this is optional but a worth while step.

    Now reboot your system ....

    If you installed or updated Chameleon (or Chimera) then its best to pause the boot process the first time round and check that you have the correct version installed, press the <Tab> key to switch to text mode while still in the boot-loader, the version will be displayed at the top, it needs to be 2.2 or later.

    If all is well, let OSX load ...

    Once booted, open Finder and check that 'nvram.uuid.plist' has been created in /Extra, if not then something is wrong with your install, recheck everything.

    If nvram.uuid.plist is present in /Extra and it has a valid 'SystemId' for 'UUID' in the filename (as detailed in Part-2 ) then its time to give iMessage a go, hopefully it will now work.

    If things don't work the first time do not give up, sometimes you may need to repeat a step or perform a step that you skipped the first time round, be sure to read all of the notes.

    Observations and Credit

    I've successfully used all of the above steps in various combinations to get iMessage working on OSX Mountain Lion 10.8.4/5 and Mavericks 10.9.0/1/2 on a multitude of hackingtosh systems. Please post your success or fail stories to this thread and if it did work for you please click on the 'Recommended' tab at the very top of this post to help others find it.

    Special thanks to xzenue for creating the FileNVRAM fix.

    Further notes for RAID Users
    Updated: 09-04-2014

    As detailed at the start of Part-1, if you boot OSX from a software raid then unfortunately it causes a problem for FileNVRAM. Because the boot loader has to be accessible outside of OSX (a software raid can only work once the kernel is up and running) the boot-loader and /Extra folder must reside on the raid helper partition(s), unfortunately the raid helper partition(s) are unmounted once OSX starts up, thus FileNVRAM is unable to access the /Extra folder which means that the contents of nvram.uuid.plist can not be updated.

    You can use the RAID clone method detailed at the start of the guide to get iMessage working initially but if you ever get logged out of iMessage for any reason then you will need to repeat the clone procedure so that the NVRAM cache and nvram.uuid.plist can get updated with new keys and data.

    Once you have re-cloned the volume back to your raid you need to copy the new nvram.uuid.plist to the /Extra folder on both the raid helper partitions (be sure to delete the old ones first), it is not necessary to blow away the raid on a re-clone but copying the nvram plist on its own will not work, you have to clone the whole drive back to the raid as-well.

    I'm sure that there must be a better way like updating some OSX configuration files with keys or UUID's, but as yet i have not found one, if anybody else finds a better solution to resolve the raid issue with FileNVRAM please post.. I have a RAID 0 on my primary OSX development system and come against this problem from time to time.

    Update: I have reported this issue to the developers of FileNVRAM and suggested a possible work around, once we have a better solution for Raid users I will update the guide. Please see this Link for the problem & enhancement request.

    Part-1 Summary

    In order or for iMessage to work on a Hackingtosh computer the following must all be true.

    • You should have a valid credit card registered against your Apple ID - See Step 1.
    • Your AppleID must have a vitrified status - See Step 1.
    • If using a wired network (ethernet) BSD name should be en0 or en1 - See Step 2.
    • NIC being used to access the Internet must have 'Builtin' status - See Step 2.
    • You must have a unique OSX S/N and up to date boot-loader - See Step 3.
    • The first 2 digits of the S/N must match the the System Type ID - See Step-3.
    • You should have the correct version of FileNVRAM.dylib in '/Extra/modules' - See Step - 5.

    Help - It Still Doesn't Work ?

    Whilst this guide should work for the majority of you there are a few more odd situations that can still cause iMessages to fail. First if you haven't already done so, you should read through Part-2 of the guide below and check that you have a unique BIOS SystemId and OSX platform UUID, make sure your not effected by the SId Bug,

    Sometimes it is necessary to try some of the above steps more than once, iMessage is very very fussy, so much so that sometimes the order of the things you do can effect the out come, the order given is the guide is a logical one for a system that has just had OSX installed with no prior knowledge of iMessage fixes.

    There is a basic set of requirements (see Part-1 Summary above) that must be met for iMessage to work on a Hackingtosh, if these requirements are met then iMessage should work. Thats why I've tried to write this guide as a tool box of procedures (steps) for you to use in resolving iMessage issues, just about everyone will have a different set of issues requiring the use of different 'tools', no one step can cover all the issues.

    If you understand the problems then you learn and can give feedback which helps everyone.

    iMessage can be very frustrating and can take a lot of time to fix, there are countless tips on hundreds of forum sites all over the internet, some are useful, some are not, many just tell you to do something without any real understanding of what the issue is and thats not good for the community...blind leading the blind.

    If you continue to have issues, try reading through the posts in this thread - its possible that someone has already found a solution to your issue, one suggestion that keeps coming up is to use a real MAC to reinitialise the effected AppleID, although I can not personally confirm this suggestion, it does seem to have helped others but like so many tips out there it could also be coincidence as this also works when using another Hackingtosh to reinitialise an AppleID as discussed in Step-1.

    Finally I'll end this part of the guide by stating that Apple are constantly evolving and updating their on-line eco and message systems with new features and security measures, as such do not be surprised if we see new and even stranger issues with iMessage at some point in the future. If you think you've encountered a new iMessage issue please post to this thread with as much info as you can, including screen shots of any alerts and/or console log snippets and i'll try to help.

    Thanks for reading & good luck.

    Attached Files Attached Files
    Last edited by jaymonkey; 08-30-2014 at 09:38 AM. Reason: Add note about iMessage Customer Code/Contact Apple

    Join Date
    Aug 2011
    Gigabyte 7ZZ-UD5H
    Intel i7 3770K @ 4.3Ghz
    Nvidia GTX 660 OC
    Geekbench Score
    jaymonkey is online now
    Android Phone iPhone MacBook Pro

    How to Fix iMessage - Part 2

    Click image for larger version. 

Name:	imessage.png 
Views:	58125 
Size:	131.4 KB 
ID:	89788How to fix

    Change Log

    25-08-2014: Updated Step 8 - Calling Apple Support.
    11-08-2014: Added list: Motherboards confirmed with SID Bug
    09-06-2014: Added note about on-going miss-matches to Step 8
    07-05-2014: Added procedure and notes for Chimera 3.0+
    01-05-2014: Added Clover Boot-Loader fix for SId Bug
    19-04-2014: First public release of Part-2
    17-04-2014: Sid Bug fix for Chimera & Chameleon
    10-04-2014: New iMessage issues Identified
    07-04-2014: New Security checks on Apple servers
    UUID & S/N Checks and the SId Bug (SystemId)

    [Theory] Sometime in early April 2014, Apple updated security and system checks on their iMessage relay servers, possibly as-part of a response to the recent Heartbleed vulnerability bug. The new checks appear to look for miss-matched, invalid or duplicate device (OSX platform) UUID's & S/N's and possibly NIC MAC address against the AppleID you use with iMessage. This would be in-keeping with Apples constant desire to make sure all iCloud and iMessage traffic is safe, secure and unique !

    Consequently there have been reports of new issue's affecting iMessage on some hackingtosh systems that iMessage had been working fine on. It does not effect everyone and initially it seemed to just effect users of Gigabyte GA-Z77-UP5-TH motherboards.

    However, as the weeks have passed there have been more reports of the same issue's occurring on a seemingly random collection of hardware not just Gigabyte. The most common symptom reported is that contacts in iMessage are displayed in red text.

    Click image for larger version. 

Name:	im-red-contact.png 
Views:	57778 
Size:	30.3 KB 
ID:	90526

    There are also two new alert messages that have been associated with it but there maybe more.

    1. When attempting to send a message the system responds with the following alert:-

    Click image for larger version. 

Name:	im-not-registered.png 
Views:	57806 
Size:	89.4 KB 
ID:	90528

    2. When starting iMessage you get an alert informing you that iMessage can not currently be used and to contact Apple with a customer code.

    Your Apple ID zzzzz@xxxxxxxx.com can't be used to set up iMessage at this time.

    If this is a new Apple ID, you do not need to create another one. To use this Apple ID with iMessage, contact iMessage support with the code below.

    Customer Code: ####-####-####

    If you get the second (2.) message with a Customer Code then skip down to the section of the guide titled "AppleID / Device UUID Lock-Out". If your suffering from the first symptom or iMessage has just recently stopped working for you, then keep reading.

    The SId Bug

    On some PC Motherboards (most notable on GA-Z77-UP5-TH), the BIOS does not initialise the key 'SystemId' correctly with a Universally Unique IDentifier or UUID. It would seem that in these cases 'SystemId' is set to a default (non-unique) UUID such as "00020003-0004-0005-0006-000700080009" or something very similar, I have read reports of some ASRock motherboards BIOS returning all zero's for the SystemId ?

    This could mean the BIOS your using has a bug in it's code or it is an internal test version, pre-release or alpha, it could even be a beta BIOS that has been rushed through testing and is missing the code to read the SystemId from the motherboard.

    You can confirm if your BIOS has the SId bug by running IORegistryExplorer or IOJones and inspecting the following IORegistry tree value (with no fix in place) :-

    Click image for larger version. 

Name:	ioreg-platfom-id.png 
Views:	59483 
Size:	106.2 KB 
ID:	90532
    <IODeviceTree : efi / platform / system-id>

    If your unfamiliar with the OSX Registry please see post #1007 for a more detailed description of how to get and use the software to check the system-id in OSX's registry.

    If your BIOS has the SId Bug then the 16 x 16Bit values of the key name 'system-id' will contain an invalid number sequence like the example above or maybe all zeros's or some other invalid UUID. It should consist of 16 x 16bit hex values (2 digits - 0-9,a-f) that make up a unique UUID.

    Another clue to determine if your BIOS has the SId Bug, or something else is broken in the link between BIOS --> SystemId --> Chameleon --> FileNVRAM, is to check 'UUID' in the nvram.UUID.plist filename located in the /Extra folder.

    This file is crucial for iMessage to work correctly on a hackingtosh (please read Part-1 for detailed information) and is generated by the boot module FileNVRAM when it initialises the plist to store the NVRAM keys and data in, one of the first things FileNVRAM does is request the value of 'SystemId' from the boot-loader, if your BIOS is suffering from the SId Bug then the chances are the UUID value in the filename of nvram.UUID.plist will also be invalid. (Note this has been also been connected to issues with FileNVRAM 1.1.3) .

    The following motherboards have been confirmed to suffer from the SId Bug

    • Gigabyte GA-Z77-UD5-TH
    • Gigabyte GA-Z77N-WIFI
    • Gigabyte P67A-UD3-B3
    • AsRock Z77 Extreme 6
    • AsRock H77 Pro4-M

    I will endeavour to keep this list updated to help others, if your motherboard suffers from the SId Bug and is not on the list please post feedback.

    The SId Bug impact on OSX & iMessage

    You can think of 'SystemId' like a motherboard's equivalent of an Ethernet MAC address, in both cases it always needs to be unique, thats the point. It's there to allow an OS to generate a unique system identity (not just OSX), something which is becoming ever more important in these times of hyper-connectivity.

    OSX uses 'SystemId' as part of a crypto key to generate the OSX platform (hardware) UUID of your system. If your BIOS fails to initialise 'SystemId' correctly with a unique identity then OSX could end up using an invalid or generic 'SystemId' to generate its platform UUID from which means you could end up with the same platform UUID as someone else suffering from the SId Bug.

    Many of these generic/duplicate Hardware UUID's are black listed on Apples servers.

    Since the platform UUID forms part of the crypto key used in Apple's on-line eco system, it makes sense that a system suffering from the SId Bug could be flagged by Apple's servers for having a non-unique, duplicate or invalid platform UUID and/or S/N, both should always be unique as they are both used together when registering an Apple device (or hackingtosh) to your AppleID.

    Once flagged on the server, your iMessage packets can-not be authenticated which results in iMessage issues seen by some hackingtosh users.

    By manually injecting a truly unique value for 'SystemId' into the boot-loader, we can override the BIOS SId Bug and allow OSX to generate a new and totally unique platform (hardware) UUID.

    Step-7: How to Fix the SId Bug

    Note: You can also use this step to manually override the BIOS generated SM-UUID should you need to.

    As always make sure you've got at least one up-to-date backup of your OSX system before making any changes. There is nothing here that should cause you any problems, the fix is relatively straight forward and easy to apply, just take you time and follow the instructions carefully. I am not responsible for any damage or loss of data you may incur by using this guide.

    With that out of the way .... lets begin..

    For applying the manual edits to SMBIOS.plist and/or org.chameleon.Boot.plist in Steps 1 & 2, I recommend using TextWrangler by Bare Bones Software. Sometimes these two files have a 'read only' flag and/or can have a 'locked' status, TextWrangler will detect both of these conditions and ask you for your OSX Admin password to continue if necessary.

    As an alternative to TextWrangler a number of users have reported the editor in Champlist also works well.

    To continue select a guide entry path based on your boot-loader and version.

    • If you are using a version of Chimera earlier than V3.0 start the guide at Path A
    • If you are using Chimera V3.0 or later then please start the guide at Path B
    • If you are using a version of Chameleon earlier than r2284 then start with Path A
    • If you are using Chameleon r2284 or later then please start the guide at Path B
    • If you are using Clover then start the guide at Path C

    Path A

    1. Open SMBIOS.plist in /Extra using TextWrangler or other editor and check if the following exists:-
      If this key and string value are present then please remove both items and save the file, it can interfere with the injection of your new UUID in the next step.
    2. Open org.chameleon.Boot.plist in /Extra and add the following code if its not already there:
      Make sure that the key name you set in your plist is called "SystemId" not "SystemID" or some other permutation.
      Jump to Step 3 below.

    Path B

    1. Open org.chameleon.Boot.plist in /Extra using TextWrangler or other editor and check if the following exists:-
      If this key and string value are present then please remove both items and save the file, it can interfere with the injection of your new UUID in the next step.
    2. Open yor SMBIOS.plist in /Extra add the following code if necessary:
      Jump to step 3 below.

    Path C

    1. Open the Clover Configurator.
    2. Check the 'inject system ID' option.

      (All Paths)
    3. Open a Terminal window and execute the command
      This will generate a new random UUID. Do not use an existing UUID from your OSX system such as hardware UUID in System Profiler, if you do your 'SystemId' may not be totally unique. Its worth runing uuidgen four or five times, before using the value. The more times you execute the command will generate a more unique UUID.
    4. Block and copy the UUID you just generated in terminal, if you are using Clover then paste it into the Clover Configurator as the value for 'Inject System ID', if you are using Chameleon or Chimera then paste it in place of all the '*****-*****' in the code you entered in step 2 and save the file.
    5. Ensure you have the correct version of 'FileNVRAM.dynlib' installed in the 'modules' folder of the /Extra folder, if your not certain which version you should be using (its important) then please read the notes in Step-5C in Part-1 of the guide.
    6. In the terminal window execute the following command:-
      sudo nvram boot-args=""
      This console command clears the value of the 'boot-args' key stored in the OSX NVRAM cache which can sometimes interfere with creating a new 'nvram.uuid.plist' in /Extra if set, you can now close the terminal window.
    7. Delete all existing files called 'nvram.uuid.plist' in the /Extra folder and empty the trash.
    8. Finally, run Chameleon Wizard and open your 'SMBIOS.plist' in the /Extra folder in the editor, click a few times on the two <Random> buttons to generate a new week and batch number, this will create a new OSX Serial Number, save the changes and quit Chameleon Wizard. Note: This step is optional but should guarantee that your hackingtosh is registered as a new Mackintosh device against your AppleID. If you are using Clover then you can use the Clover Configurator to generate a new S/N.
    9. Before rebooting check that no nvram.uuid.plist exists in /Extra - See Step 5e in Part 1
    10. ​Reboot and load OSX with the -f boot flag.

    Next time OSX starts you may be asked to authenticate your system password (as far as OSX and Apple are concerned this is now a different device), you should not loose any data or applications but it has been reported by some that it can reset a few of your user profile preference settings like Launchpad layout, mouse ... etc.

    This fix should work for most users, however if the mechanism between the Boot-Loader and FileNVRAM is not working correctly you may still have old/invalid values for your MLB & ROM Values (Clover is not effected). After applying the SId bug fix i recommend you check your MLB & ROM nvram values and fix if required - see Part-1, Step 5e.

    Post SId Bug Fix Checks

    1. As long as the 16 x 16Bit key for 'system-id' in the IORegistry (IODeviceTree : efi / platform / system-id) matches the new random UUID that you entered at step 3, then the Sid Bug fix is working.
    2. Now check the 'UUID' in the filename of 'nvram.uuid.plist' in /Extra, it should also match the new UUID your injecting into the boot-loader. If it's not then somethings is still not right, re-check your install of FileNVRAM, make sure you delete any old nvram.uuid.plist file(s), repair permissions if necessary ..... re-check each step and try again until it matches. Some users have found it necessary to boot into safe-mode (-x) or single user mode (-s) and delete nvram.uuid.plist in /Extra and reboot again before everything matches.

    Maybe I'm paranoid but I try to avoid connecting to any of Apples on-line services until both the above checks are true. Each time you try with a different UUID and/or S/N you could be registering yet another UUID or S/N miss-match against your AppleID, if it happens too many times you might pop up on Appel's radar which could trigger what I'm calling an 'AppleID / Device UUID Lock-Out' which I theorised at the start of Part-2 of the guide.

    After successfully applying the SId Bug fix, most users find that all is well and iMessage is working again, in some cases you might have wait a few minutes for your messages to sync from your iCloud account.

    Once iMessage is working, I think you should avoid changing the UUID and S/N again, in fact I would advise against it and try to use the same injected 'SystemId' and S/N through-out the life of the hackingtosh. Only change them if you want to register it as a new device against your AppleID, just don't do it too often to stay off Apple's radar.

    UUID Summary:

    On a working OSX system the following should all be true.

    • The platform UUID (via terminal command: "ioreg -lw0 | grep PlatformUUID") and hardware UUID (via System Profiler -> Hardware Overview) should always be the same.
    • The IOReg key "system-id" (via IORegistryExplorer: IODeviceTree : efi / platform / system-id) should always be 16 x 16Byte unique hex numbers and will always be different to the OSX platform & hardware UUID regardless if manually injected or supplied by the BIOS.
    • The UUID in the nvram.UUID.plist filename located in the /Extra folder should be the same UUID as the key system-id (via IORegistryExplorer: IODeviceTree : efi / platform / system-id)

    Still not working ....

    After applying the SId Bug fix some still find they can not use iMessage, these users seem to fall into two categories :-

    1. If you get a Sign-In or Activation alert when starting iMessage, in most cases simply changing the password of your AppleID (an old iMessage fix) is enough to get things working again, if it still does not work I would suggest working through Part-1 of the guide, as long as the SId Bug is fixed you should be able to get iMessage working again.

    2. Some users have been getting an alert message asking them to contact Apple with a customer code, if you get this message then it looks like the server has flagged your AppleID with a lock-out.

    Step-8: AppleID / Device UUID Lock-Out

    If you get the iMessage alert informing you that you need to contact Apple Customer support with a customer code then iMessage is now communicating with Apples iMessage servers correctly. However due to S/N, UUID, MLB or ROM miss-match a block has been put on your AppleID & Device ID.

    I still don't have a definitive reason why this occurs, I think there are multiple reasons, as stated above it can be caused by a miss match of id's or or too many differing IP's ... apparently this is done automatically by Apples backend servers if they think that your AppleId or Device Id has been cloned to protect you.

    As long as you own at least one legitimate Apple device that is registered with the AppleID that your using with iMessage (iPhone, iPad , Mac .. etc), then you need to call Apple customer support and quote the displayed customer code which should resolve the issue. I'm guessing that the customer code you quote is the authentication key required to remove the lock-out on your AppleID and/or device.

    Do not be afraid to contact Apple even when using a hackinginsh, but only do it once you get the alert with a customer code with a request to contact Apple support. In almost all cases Apple customer support will help you with the lockout. If you can try to avoid giving them a non real OSX serial Number, say your away from your machine or at work ....

    Many users have posted very positive feedback on contacting Apple to remove the lock-out, in almost all cases they are friendly and helpful and most don't really care about the fact your using a Hackingtosh. If you want to read some positive feedback from users who have already done this take a look at posts #1043 onwards ...

    If you don't have success the first time give it a day or so and try again, you should get through to a different Apple support representative who should be able to help.

    In most cases the process takes about 5 mins, the only reason they want a Serial number is to see if you have an extended warranty in which case you would get put through to a higher customer support department, but this is not necessary and first line support should be able to help you.

    As noted through out the guide once iMessage is working try to keep all the ids, OSX S/N, SM-UUID, System Type, MLB, ROM .. etc the same throughout the life of the system. The easy way to do this is to keep a backup of your /Extra folder, save it on another drive or your drop-box .. etc


    Whist both parts of this guide are all my own work I would not have been able to join all the dots together and write it without the help and support of many forum users on this thread who have got actively involved in testing and supplying feedback which is still on-going. It's taken many hours and posts to get here but I think this guide should cover just about all iMessage issues now. There are far too many names to list and thank individually but I hope, like me you thank everyone in the OSX community for all for their hard work and contributions.

    I hope this guide has helped you fix your iMessage problems and more importantly that you now have a better understanding of how Apple's on-line eco and messaging system works and what (and why) you need to do to get iMessage working on hackingtosh computer.

    If you found this guide helpful please be sure to hit the 'Recommended' button at the top of Part-1 and help others to find it.


    Back to Part-1 of the Guide

    Join Date
    Nov 2010
    Gigabyte. Asus
    I5 760, i3, i7 4770, Q9550
    Nvidia GTX560. GTS 250. ATI 5670, ATI 4670, GTX 650 TI Boost
    rohith is online now
    Android Phone Phone (other) iMac Mac Pro

    How to Fix iMessage

    No Success
    Attached Thumbnails Attached Thumbnails How to Fix iMessage-screen-shot-2013-09-30-10.35.30-pm.png  
    Gigabyte GA-Z87-D3HP - i7 4770- Intel HD 4600
    Gigabyte GA- P55-UD3L - i5 760 - ASUS GTX 560
    Asus P7H55 -- Intel i3 - XFX GTS 250
    Intel DP45SG - Intel Q9550 - HD 4670

    Join Date
    Aug 2011
    Gigabyte 7ZZ-UD5H
    Intel i7 3770K @ 4.3Ghz
    Nvidia GTX 660 OC
    Geekbench Score
    jaymonkey is online now
    Android Phone iPhone MacBook Pro

    How to Fix iMessage

    Quote Originally Posted by rohith View Post
    No Success
    Are you sure that it is a valid apple id and that its associated with an iphone ?

    Update: The guide has had multiple updates since first being posted, if you still suffering from the issue please take another look.


    Join Date
    Nov 2010
    Gigabyte. Asus
    I5 760, i3, i7 4770, Q9550
    Nvidia GTX560. GTS 250. ATI 5670, ATI 4670, GTX 650 TI Boost
    rohith is online now
    Android Phone Phone (other) iMac Mac Pro

    How to Fix iMessage

    It is valid i use it with Appstore, I cloud and face time not associated with an iphone
    Gigabyte GA-Z87-D3HP - i7 4770- Intel HD 4600
    Gigabyte GA- P55-UD3L - i5 760 - ASUS GTX 560
    Asus P7H55 -- Intel i3 - XFX GTS 250
    Intel DP45SG - Intel Q9550 - HD 4670

    Join Date
    Sep 2013
    Intel Core i7-4770K
    Asus GTX680-DC2O-2GD5
    Geekbench Score
    kaboon is offline
    iPhone MacBook Pro Mac Pro

    How to Fix iMessage

    Worked for me, thank you!

  7. Join Date
    Jun 2011
    I7 4770
    GTX 760
    Geekbench Score
    lucalang is offline

    How to Fix iMessage

    worked for me...It's FANTASTIC

  8. Join Date
    May 2012
    seanbr is offline

    How to Fix iMessage

    This worked perfectly for me.

    Asus Z87
    i5 4770

    Do not skip the smbios step.

    Join Date
    Aug 2011
    Gigabyte 7ZZ-UD5H
    Intel i7 3770K @ 4.3Ghz
    Nvidia GTX 660 OC
    Geekbench Score
    jaymonkey is online now
    Android Phone iPhone MacBook Pro

    How to Fix iMessage

    Glad the guide is working for some of you,

    Please post a success or failure, if it looks like a strong candidate maybe tonymac or macman can look in to incorporating it in to multibeast, should be pretty straight forward to add 'FileNVRAM.dylib' to the modules folder.


    Join Date
    Oct 2012
    Wolfies BeQuiet
    UP5-TH + i7-3770K @ 4.7GHz
    EVGA GTX 780 Classified
    Wolfie81 is offline
    Mac Pro

    How to Fix iMessage

    From memory it was originally in MB but was removed to due to the filenvram authors request as he/she perceived MB to be a revenue raising program (through donations). Therefore, the author didnt like some other community making money off their work.

    I could be wrong but thats what memory serves me anyway.
    Regardless of any political play, I thank both this community and the author/s of FILENVRAM for allowing us to run our hackintoshes nearly perfect.

  11. Similar Threads:

Page 1 of 118 1231151101 ... Last

Tags for this Thread