Forcing DDR DIMMS to work on an older machine

d0pefish

New member
Joined
Aug 10, 2009
Posts
657
Country
England
Region
Newcastle-upon-Tyne
Thought I'd share a potentially useful achievement I had today at the office :)

At work we recently picked up some old Dell Inspirons (3x 5100, 1x 5150, 1x 510m) from another office who'd put them on the scrap pile, and I was tasked with refurbing them. They're old by today's standards (Pentium IVs), but still very capable of running MS Office and therefore still useful for some of our workers just doing some wordprocessing or data entry.

They came to me in various states of repair. They all had loose, floppy hinges and the lids wouldn't stay up - the screws had simply worked loose so now they're nice and solid. One had a failed backlight - turned out to be cold solder joint, now fixed. They all had screws missing - but I had lots of spares from previously written-off laptops, so I replaced them.

Once fixed, we decided to upgrade them. The hard disks were all removed and replaced with brand new 80GB Samsungs. New batteries were bought for them all, and finally I ordered some RAM to max them out at 2GB - previously they only had 512MB.

Here's where the fun began :)

The RAM I bought - the cheapest I could find - was rated with a maximum speed of 200MHz, aka PC-3200. It was manufactured only last year, so it's not the slower kind of DDR.

These machines use DDR 133MHz (PC-2100) SODIMMs, have two slots, and can semi-unofficially take 1GB DIMMs for a max of 2GB. As time had passed, Dell had released BIOS updates to fix bugs and add support for certain other CPUs and RAM specs - for *some* of them.

The 5100s accepted the RAM straight away, as in one of the BIOS updates Dell had added a "fix" to allow modules rated at 166MHz to be recognised and just used at the slower speed.

However, the 5150 refused to get past POST with the new modules in place. On powerup, it would flash the Caps-Lock LED and proceed no further.

"Why?!" I thought. "This laptop is very nearly identical to the other ones! If it works on the others, why not this one?"

I then tried the DIMMs in the 510m, and had the same result! No POST, blinking LED. And the 510m and 5150 are supposed to be higher-spec models than the 5100. Crazy.

So, it was time to investigate. Refusing to let a stupid problem like this get in my way, I went to one of my working 5100s and fired up CPU-Z. And this what I saw:
spd1.jpg


The above shows the SPD information contained on one of the 1GB memory modules. Most modern memory modules have a tiny flash chip onboard which stores information about the module's capabilities, max speeds, timings etc, and this one was no different. However, notice how there's only information in the table for 166MHz, and 200MHz - they haven't bothered describing a 133MHz mode in this table. Yet this computer only supports a maximum speed of 133MHz. Luckily, this Dell 5100 seems to ignore this fact and the BIOS accepts it regardless - on the other page it shows the module running at 133MHz.

Let's compare this to the SPD table of one of the stock RAM modules that the computer came with, a 256MB DIMM:

spd2.jpg


We have profiles there for 133MHz, and 166MHz. So on my new 1GB DIMM, they simply haven't bothered to include a 133MHz profile as they probably didn't expect it to be used with something this slow.

We can fix that. :)

A program called SPDTool allows us to retrieve and edit the SPD table, and re-flash it back to the DIMM. Here's SPDTool's view of the downloaded information from one of my 1GB DIMMs:
spd3.jpg


Again, you can see at the bottom that 133MHz is missing - only profiles for 166 and 200MHz.

So, if I scroll down a bit, I find this row - "Minimum Clock Cycle at CLX-2":
spd4.jpg


CLX-1 is 166MHz, so what happens if I set CLX-2 to 133MHz?
spd5.jpg


Check it out! The table at the bottom has become populated with a 133MHz row with timings.

Without wanting to mess around much more, I saved my changed back to the memory module, and repeated for the other DIMM.

I put the modified DIMMs into the Dell 5150 and ...

It worked :D

It flew through POST, a quick beep with a message to confirm the RAM size had changed, and Windows showed 2GB available.

I then rebooted into Memtest86, and it passed the test perfectly. (y)

The modules worked in the 510m, too - so we have 100% success.

Thought this might be useful for someone else trying to upgrade a stubborn old computer :) I was very pleased to get this working - I didn't fancy trying to hunt down a working RAM set and being forever mystified as to why it didn't work with these.

I think this is simply because the RAM is no-brand (therefore cheaper ;) - hell, they're not worth spending loads on, these machines) and not as much care went into the SPD stuff. I'd probably bet that something reputable like a Crucial or Kingston module wouldn't have needed this. But good to know!
 
Nice hackery!
I now have the need to go and check all my memory modules, see what they are set up for...

(y)

Votes for a sticky?
 
As the Fonz would say, awesome-umundo dude!!!! :D(y)

Have you got a link to that tool? I cant seem to see it if its there :oops:
 
Wow - very impressive! I'll have to remember that trick if I ever run into that particular problem :)
 
Thread promoted to a Sticky. (y)

Thanks d0pefish,

Those are some handy tools you have posted there! :bowdown:
 
Often enough older desktop mobo's choose a slower spd profile than necessary. I've had lots of p4 setups defaulting to slower than 800 with ram rated for it. Lesson is always check your ram speeds and disable spd if need be:) Great work(y)


Sent from my iPhone using Tapatalk
 
Excellent work, never knew there was any sort of flashed info in RAM modules even these days.
 
IIRC SPDs appeared with 3.3V DIMMs, I think they were not present in 5V DIMMs but I may be wrong. Still, neither did I know they were that easily rewritable! Great thread! (y)
 
Nice work on the SPD
its an interesting topic in its own right

whats next now we have ram with er memory they will have mini cpus on em next
 
Thanks for the comments guys and for making it a sticky :)

So far the laptops with the hacked DIMMs have been performing flawlessly.

There may be limits as to what PC chipsets will allow SPDTool to rewrite the SPD flash, but in this case the Intel chipsets on these machines (quite commonly found) worked a treat.
 
spose in worst case if not enough room you could over write a setting that isn`t used, though most ram I have seen has room for 3 settings, am no expert in this but its all very interesting

have absoultly no experience with DD3 but I persum it has a similar spd kind of thing
 
Does the BIOS on these machines not allow you to set the speeds manually?
I think every machine I've ever had has allowed this, must be a dell thing :roll:
 
They're old Pentium 4 Dell laptops. I'd actually be shocked if I ever found those options in the BIOS of such a machine ;)
 
Back
Top Bottom