Recovering a bit from a MacBook logic board change

Recently my MacBook speakers decided to stop working properly. I had been using headphones in a café, and when I unplugged them I no longer had sound from my speakers and I couldn’t use the volume/mute buttons on the keyboard. This is a known (and seemingly common) problem, which can sometimes be fixed by jiggling the input port with the headphone jack (or a toothpick). I had fixed it once this way, and avoided using my headphones as much as possible, but sometimes….

Anyway, the sound output system crapped out again, where no amount of jiggling on my part would set it right. After a week without sound I took it into the local Apple store to see if they had some sort of magic tool to jiggle that port.

“Nope. We have to replace the logic board. It’ll be 3 to 5 days.” Crap. Ok, I know if I call AppleCare they’ll send a box and it’ll be gone 3-5 days, so I may as well just leave it. I’d backed up just in case, so I wasn’t at risk of losing any data.

Six(!) days later I finally get the call that my computer is ready. I was impatient and called on Day 4, so they must’ve sent me to the bottom of the queue. When I picked it up, I asked the “concierge” (read that as “the person who points things out to you”) if there would be any problems with Time Machine or other stuff because of the change in MAC address. She said I shouldn’t have *any* Mac problems, bless her heart.

In case you didn’t see where this was going, she was wrong.

In OS X terms, a new logic board = a new computer. Therefore iTunes thinks you’re using a new computer and you must authorize it for iPod Touch applications, music, movies, etc., whatever you get from the iTunes Store. If you failed to deauthorize the computer before you took it in (as I did) you will use up one of your five auths. There is no way to deauthorize just one computer without being at that computer — you have to use up all of your authorizations and then kill them all at once to start over again (limited to once per year, so if you’ve had a bad computer year, you are sunk). The iTunes thing is annoying, but it’s of small issue compared to Time Machine.

With a new logic board (but all of the same old other hardware) Time Machine thinks it’s got a new machine to backup, and instead of using the old image it starts a new one from scratch. Depending on the size of your backup drive, and the number of other users, this could be a serious loss of drive space, let alone your inability to use the fun Time Machine screen to get to your old files. Assuming you haven’t changed the name of your computer, you’ll still have access to the files, but in the much more mundane way of mounting the sparsebundle and then looking for the file you want.

With some hints at macosxhints.com (and a few typo fixes), I managed to get Time Machine working with my original backup, so I can still fly back to April and see what I was working on…

Here’s (roughly) how to do it:

Note your old and new MAC addresses (AKA Ethernet IDs). You can get the new one from your Network Settings (System Preferenes > Network > (click the Advanced button) > Ethernet — It’s called “Ethernet ID”). The old one is part of the “sparsebundle” that is currently on your backup drive, between the underscore and the dot.

Turn off Time Machine, and mount the drive where your backups are stored.

In the commands below, you’ll have to replace the OLD and NEW MAC addresses and Time Machine file names, as well as your computer’s name and your backup drive’s name.

(Line 2 gets the NEW MAC address, including colons, lines 5 and 6 use the new then the old ones run together without colons.)

Open up Terminal and run each command one at a time. I found it easiest to copy the lines to a text file, replace all of the parameters to my particulars, and then copy/paste each line into Terminal.

Example:

OLD Time Machine file: MacName_00f9e8d7c6b5 OLD MAC address: 00:f9:e8:d7:c6:b5 Smushed: 001a2b3c4f56
NEW Time Machine file: MacName_001a2b3c4f56 NEW MAC address: 00:1a:2b:3c:4f:56 Smushed: 00f9e8d7c6b5
Computer Name: MacName
Backup Drive Name: BackupVolumeName


sudo fsaclctl -p /Volumes/Backup\ of\ MacName -d
sudo xattr -w com.apple.backupd.BackupMachineAddress 00:1a:2b:3c:4f:56 /Volumes/Backup\ of\ MacName/Backups.backupdb/MacName
sudo fsaclctl -p /Volumes/Backup\ of\ MacName -e
cd /Volumes/BackupVolumeName
sudo mv .00f9e8d7c6b5 .001a2b3c4f56
sudo mv MacName_00f9e8d7c6b5.sparsebundle MacName_001a2b3c4f56.sparsebundle

I won’t even begin to pretend I know what’s going on. Suffice it to say that it seems to have worked for me. I hope it can help someone else, otherwise, I’ll at least have this online so I can find it next time.

p.s. Adobe CS2 (Photoshop, in particular) needed to be reactivated, too. :(

p.p.s. The logic board they gave me didn’t have the firmware update from April. Shame.

 

Leave a comment