About a month ago I got an old 2007 white MacBook for free. It was in original condition (2.2 GHz Core 2 Duo CPU from the 65nm Merom generation, 120GB hard disk, 2GB RAM), fully functional except for a completely dead battery. Not used for the last few years, still running the original OS X 10.5 Leopard.
I upgraded the OS to 10.6 Snow Leopard, which made the laptop slightly more usable. And I figured that upgrading the RAM from 2GB to 4GB ought to help. This laptop uses 667 MHz DDR2 memory (aka PC2-5300S). It officially supports 4GB, unofficially 6GB in a mismatched 2+4G configuration. I decided to go for 2+2G, in part because 4GB DDR2 modules are quite expensive.
The laptop uses the mobile Intel 965 chipset and hardware-wise it’s mostly a standard PC. How hard can it be to upgrade the memory? As it turns out, a lot harder than I had thought.
Despite misgivings after past bad experiences with buying cheap new memory, I ordered a pair of 2GB modules from Amazon, billed as new Samsung memory suitable for Macs (for a cost of about 20 Euro). When the modules arrived, I quickly established they’re probably neither new nor Samsung–certainly not new, because the modules were clearly built with old recycled (admittedly Samsung) memory chips. I have no idea if the modules were really made by Samsung, although the stickers on them look convincing.
At any rate, the memory did not work–the laptop would either do nothing or just beep after powering up. After some head scratching I realized that one of the modules was working, and one was not. Not very impressive.
So I thought, okay, I was probably right to avoid new cheap memory. Maybe I should try used modules instead. I got a pair of 2GB modules off eBay, with Elpida chips. And these did not work in the MacBook at all. Just nothing, not even beeps.
However, these modules were not advertised as Mac compatible, so I thought I should try them in a different system. And found out that sure enough, in a ThinkPad T61p the Elpida modules work just fine, and pass memtest86 with no errors. I also confirmed that the “new” Samsung modules behave the same in the T61p, one worked and one did not.
I do not understand why the Elpida modules don’t work in the MacBook. But they don’t, despite being fully functional in a ThinkPad that uses a similar hardware platform.
Just for kicks, I later ordered another pair of new 2GB modules, supposedly suitable for a Mac, for 19 Euro. Popped them in, and to my surprise, the MacBook actually booted up. So I ran memtest86 and found no errors.
After several hours, the MacBook crashed and then refused to boot up, only beeped a sad little SOS when powered up. I quickly discovered that one of the new modules was completely dead and prevented the Mac from booting.
So I kept the other module, combined it with the working “new” Samsung module, and the MacBook now has 4GB RAM and has been running without incident so far for several days. And it definitely feels snappier with double the memory. How long it will stay that way I have no idea.
It was just one of those “way harder than it should have been” things.
The ones with nForces are even pickier about memory, so I hear.
That’s almost hard to believe. But not really, because nForce 🙂
I remember having the same problem upgrading some Macs to 8GB of DDR3. The MBP6,2 supported 1066 memory quite fine, but everything on the market was 1333 or faster. As such, a long time ago I had to rewrite the EEPROM to include a SPD without the 1333 entries.
I also remember that the Mac Mini Quad from 2010, also had this issue, you could upgrade it to 16GB of RAM only with specific memory speeds.
And the problem is not specific to Macs. Some Sun Servers with UltraSPARC IIIi, had the same issue. They used DDR-333 Memory with a very old SPD version (pre 1.0) and you had to create custom entries for 140MHz for the memory.
I don’t recall the precise details, but I distinctly remember using Typhoon Burner for the Macs and using a linux I2C EEPROM programmer for the SPD memory.