Fixing Login Errors For Apps That Connect To Apple's Servers
These steps should fix 98% of login errors, but some specific exceptions still exist and are omitted to avoid unnecessary confusion. Since this is a FAQ and not a full manual on all things Ethernet, it's not feasible to detail every method mentioned here, but hopefully at least it will let you know where to go next. So always start here!:
To sign into any of the Apple services/apps that require authentication through Apple run servers, there are a few conditions that must be met when first logging in. For apps such as iCloud, once logged in the first time you will stay logged in even after reboots and configuration changes until manually logged out, at which point to log back in the same conditions will again apply.
1) Must have a working ethernet adapter that can at least show up as a possible network connection. It must also work, but you might be able to get away with mostly working if your lucky.
Network.jpg 69.8KB 1287 downloads
You'll need a kext that supports your NIC to proceed.
2) It must also show as "Built In".
IOService — IOEthernetInterface.jpg 96.31KB 1897 downloads
Three possible ways of doing this which are all different ways of achieving the same result.
Easy way, add following to Chameleon's org.chameleon.Boot.plist in /Extra folder:
Medium way, add EFI string to Chameleon's org.chameleon.Boot.plist in /Extra folder using tool such as "EFI Studio"
Hard way, edit DSDT to have NIC device, i.e. LAN0 show as internal
3) It needs to be listed as en0. i.e. The first, or primary, network device recognized by OSX
MacBook.jpg 113.88KB 1750 downloads
Issue here will usually be that your wifi got enabled first and thus became en0, making your ethernet en1. To correct the issue: First if your wifi device or whatever is currently listed as en0 can be removed/unplugged from your PC by removing 3 screws or less, and you own a screwdriver, remove/unplug it. Next go to System Preferences > Network (as seen above in #1) and click the minus button to remove all the listed network devices, then reboot. Upon reboot return to System Preferences > Network and hit the plus button, add only your ethernet, open System Information (as pictured directly above) and verify Ethernet is now en0, if it is you can add your other devices now too.
If ethernet is still showing as en1, you should then repeat the above steps, but this time just prior to reboot navigate to /Library/Preferences/SystemConfiguration/ and delete Networkinterfaces.plist and reboot.
Extreeme cases only:
If failure is still an option, and overkill seems necessary, it's possible to manually edit this plist. Again repeat initial steps, then copy plist to your desktop so it will be writable and open it with a text editor, cut an paste your ethernet so it appears first in the list, change every occurrence in it's section of en1 to en0, and vice versa for your prior en0 device, changing all it's en0 occurrences' to en1. Also verify here that ethernet shows:
Once your satisfied with your edits (in simpler terms, your basically just swapping the two interfaces in the plist), launch Terminal from Applications/Utilities, enable root user by typing sudo -s and hitting enter, then entering your password when requested. Next enter the following, hitting return after each line:
cp -R ~/Desktop/NetworkInterfaces.plist /Library/Preferences/SystemConfiguration/
chown root:wheel /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
chmod 644 /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
4) You need to have a SMBIOS which includes a valid serial number for the Mac model listed.
MacBook over.jpg 77.41KB 1582 downloads
For this, just use Chameleon Wizard to generate one for you and save to /Extra folder.
WHEN ALL ELSE FAILS, BUT IS ALSO RIGHT, AKA-LAST RESORT:
If you've met all the above requirements and ethernet works perfectly to browse the webs, but still can't log into these services, although it shouldn't need to be done manually, you may need to....
First Open IORegistryExplorer (found in Xcode tools)
IODeviceTree1 — platform.jpg 132.58KB 1834 downloads
Copy to Text Edit then get your ethernet MAC address
Add results to org.chameleon.Boot.plist and after reboot you should see something like thisIODeviceTree — platform.jpg 129.47KB 1055 downloads
And hopefully that will be it. Again, this won't cover every last possibility, but should be more than a good start.