I spent a few hours this weekend upgrading a Core Solo Mac Mini to a Core 2 Duo. Here are a few thoughts on the experiences and lessons learned.

I had bought the Core Solo last year as a testing machine for some QuickTime for Java stuff, to ensure things worked the same way on Macintel and Windows as PPC. Of course, each platform had its own bugs and peculiarities, and I tortured ADC with a particularly vile bug involving GUI focus when switching between native QuickTime capture dialogs and Java GUIs, a bug that didn’t appear on the Core Duo’s my client was using.

Since the Mini far outclassed the G4 Cube that I used for various server purposes (Web, Subversion) and that my wife and kids use as their computer, I decided a while back to decommission the Cube and make the Mini into the always-on server and general-purpose computer. This has been working OK, except when I was in Boot Camp to do some Java work in Windows, and tried to check my work into Subversion. It didn’t work, because my Subversion server was down… because the server is the Mini itself, but runs on the Mac side. This was my first clue to get Parallels, which struggles somewhat on a 1GB Core Solo.

Gearing Up for the Swap

So, having seen reports of people who replaced Core Solo’s and Core Duo’s with Core 2 Duo’s in their Mini’s, I decided I was ready to give it a try. It’s useful to have toured a few guides to this warranty-voiding process. My primary source of information were:

Rather than risk redundancy by repeating points in these tutorials, I’m going to cover some of the things I experienced and that I think they overlooked. The first is how to get into the Mini case. Fortunately, I found this video of the process, which helps comfort the viewer as to what the popping of the latches is supposed to sound like. There’s also the question of an appropriate tool to get into the narrow groove to open the case. I’d hoped that a hard nylon spatula would be thin enough, but it wasn’t, so I ended up using a cheese slicer that worked quite nicely:

As far as other tools go, I already had a good collection of small Philips screwdrivers (size #0 and #00) and Torx screwdrivers. Having read up in advance on the process, I geared up at Fry’s with Arctic Silver thermal paste. Fry’s didn’t have acetone for cleaning off the old thermal paste from the heat sink, but I discovered that 100% acetone is available as a nail polish remover, easily found at Target or lesser equivalent. I also purchased the nylon screws advocated by Macintouch as a heatsink-post replacement, but ended up not needing them. Better safe than sorry, I guess. The final tool I needed, and I didn’t discover this until I was mid-way through the process, was a set of very small needlenose pliers, to get the heatsink posts to detach. More on this later.

Oh, and Fry’s doesn’t actually sell boxed mobile CPU’s, so I got mine from NewEgg.

Yanking Stuff Out

One of the things that I’ve yet to see in any of these guides is a pictorial reference to all the things you need to disconnect during your disassembly. In several cases, you’ll see a reference to disconnecting the AirPort antenna, but if this is your first time inside the Mini, you probably have no idea what the antenna looks like (in the photo above, it’s the funny-looking, four-sided plate at the bottom left, held atop a spring by two clips). Along those lines, it’s important to keep track of all the little wires you need to disconnect to get the drive assembly out, or later when you get the motherboard off the base. If you just try to yank, you’ll find lots of these little wires holding you in place, like the wire to the fan, shown here:

As I went, I wrote down a list of all the cables I was disconnecting, in hopes of remembering to reconnect them in order on the way back out. I did not want to open up the Mini and attempt this again! Here’s the list:

  1. Fan
  2. Flat orange (audio?) Probably IDE data cable to optical and hard drives
  3. Loop AirPort through
  4. Post near RAM
  5. Power button cable
  6. LED cable

So, once you get the optical drives out, you can stop if all you’re doing is swapping RAM. Here I am at that step, with 512 SO-DIMM’s out and 1 GB’s about to go in.

Fearful Posts

Plowing ahead, the hardest step for a lot of people is dealing with the spring-loaded posts that hold down the heatsink. They’re a sort of mollybolt that expand once they go through the hole, meaning that to disengage them, you have to squeeze them together such that the pin is smaller than the hole in the board. Here’s a picture of the bottom side of the board: the heatsink posts are the four white “arrows” poking through in the foreground, slightly left of center.

The various guides consistently point to dealing with these posts as the worst part of the process, and they’re right. Partially, the problem is that the posts are fragile, and if you snap them, you’re quite screwed, as uneven pressure from the heatsink is unacceptable (see Macintouch for more details, and a suggested replacement part). So I was filled with dread working with them, trying all sorts of gentle approaches to removing these pins whose strong springs resisted any kind of gentleness. What finally worked was getting a very small pair of pliers and squeezing the extended pieces in against the center of the pin.

Swap!

Now the heatsink was out. Notice how there’s a cable connecting it to the motherboard. That’s a temperature diode, and something I forgot to put on my list, which becomes important in a minute.

Notice the crud on the heatsink. That’s old thermal paste, which is what you need the acetone and some Q-Tips to remove. I disconnected the wire running from the heatsink to the motherboard and did the cleaning away from the board, just to be safe. I tilted the heatsink as I worked, so that any acetone runoff would go away from the wire.

Removing the old CPU and putting in the new one was almost anticlimactic. You turn a lock in the beige socket (visible in the above picture), then ease out the old CPU and put in the new one. With a little care that the pins are correctly aligned, it’s pretty foolproof. Re-lock and that’s set.

Next up is the thermal paste, something the various guides say you need, but don’t really go into detail on. I noticed the Arctic Silver syringe had a reference to instructions on its website, and I’m glad I checked. The full guide for an Intel Exposed Single Core CPU (PDF) indicates that you need an amount about equal to 1/2 to 3/4 the size of a grain of rice, spread thin and flat with a razor blade or a clean credit card atop the metallic top of the CPU. So, I did as instructed, put the heatsink back atop the CPU, and carefully pushed the pins through.

And that’s the moment when I realized I hadn’t plugged the wire from the board to heatsink back in. The connection was buried under the heatsink, and there was no way to reconnect it but to pop the pins, reconnect, and re-set the heatsink atop the CPU.

Well, at least that was a good reminder to read the damn list of stuff to connect on the way back out. The reassembly was quick, and within 5 minutes, I was ready to go. Total time: 3.5 hours, 1.5 of which were spent on a trip to get pliers, have lunch, and calm my nerves about not breaking those damn posts.

Flame On!

I didn’t think the Mini would even boot — I’ve grown accustomed to multiple trips inside my boxes when I dick with them (upgrading my TiVo was a three-hour fiasco, because the extra drive shipped with incorrect jumper settings). So I was amazed when the login screen came right up. “About This Computer” provided a welcome affirmation of my CPU swapping skillz:

Surprisingly, there was no sign of smoke either. I wouldn’t have even tried this if not for reading that the Core 2’s run cooler than their predecessors, so I was watching Hardware Monitor like a hawk. Here’s its temperature readings before the upgrade, with the Mini largely idle:

So, how hot is the replacement? Not bad when idle:

But what really used to spin up the fan on the Core Solo was trying to play Maple Story in Parallels Desktop. Yes, my primary motivator for all this was a silly Windows game, but seriously, what else are you going to do with Windows but play games on it? OK, there are some Java ME tools I can use that are Windows-only, but it’s Sun’s fault for not writing them in Java like they should have. And really, it’s mostly about Maple Story… and that’s still pretty toasty:

On the other hand, it doesn’t seem to be more than the fan can handle, and the performance is remarkable. Safari boots with a single bounce, and iPhoto editing is noticeably faster.

Many of the other guides have posted benchmarks to show the performance increase of the Core 2 Duo over the Core Solo, so we’ll take that as a given. I was interested in seeing if the hacked Mini was now more powerful than my 2.5-year-old dual-G5 tower. According to XBench, it’s close. Aeris, the G5, has a slight advantage on the CPU and disk scores (the latter is not surprising), but Dagger, the Mini, beats it on threads and memory. What surprised me is how badly the Mini’s cheesy internal graphics beat the G5’s optional Radeon 9600 XT card. For the nosy, here are the XBench scores:

On the overall score, the hacked Mini beats the Power Mac, 103.68 to 91.69.

Final Thoughts

In the end, it’ll take time to tell if this upgrade was worth the time and money. The 2 GB of RAM and Core 2 Duo CPU cost about $300, compared to $600 for a new Mini, albeit with 512 MB and a Core Duo rather than a Core 2 Duo. It’s a pretty scary upgrade, even with my intermediate experience (worst I’d done before this, not counting a solder-ific disaster on an Atari ST almost 20 years ago, was swapping the hard drives of some Rev/A iMacs). If you haven’t dicked around inside a computer, this is the wrong project to start with. On the other hand, it doesn’t require soldering, and there is a great deal of guidance out on the net to help you.

Plus, now I can play Maple Story while serving files with Subversion. And that’s nice and geeky.