RAM Compatibility for Upgrades

I have two routers that I am currently using.

  1. Tplink W8980
  2. HomeHub 5A

From the documentation, both of the routers use DDR2 RAM and as in the case of HH5A it uses Samsung based 128MBytes of RAM and Samsung does not make any 256MBytes models for DDR2 but on the other hand Winbond does make 256MBytes models and so do some other manufacturers.

But my issue is that I am not familiar with the IC Memory Chips although I am familiar with the memory modules used in PCs and Laptops and they only differ based on the technology and everything else is almost same.

Now my understanding is that above routers use 84FBGA layout and I think I can easily find some 2Gbit/256MBytes chips for upgrading RAM but how do I check if they are compatible or not? Is there something specific that I need to know?

TL;DR: I am trying to purchase DDR2 RAM for my routers and I would like someone to explain to me how does the compatibility work between the RAM and the board. Is it same as RAM for PCs or different?

1 Like

Their protocol and their timing graphs should be similar. Their working frequency, oscillator input, bus layout, pinout, CE/CS, addressing, voltage and current should be similar.
In electronics, we (almost) always design for +/- 5% of tolerance. So you can compare the datasheets to look if they are compatible. Generally speaking, they should be standard; but you can't rely on them being so.


See for example this: Micron 2GB DDR2.

In that case, you have a total of 3 configurations for addressing. The SoC is probably pre-configured to work with one scheme (probably the 8 bit long), so it must be taken carefully.
Some features are better in a chip, they don't need to be considered: for example, lower capacitance of the input pins, higher impedance of input pins, more ampacity for output pins, boarder voltage and temperature tolerances, and so on. This is because the board was designed for the "worst case" and any "better" chip should work.

Also, there are some parameters which are tight. Particularly, the working frequency and the VDD (or VGG if it's FET) to GND voltage. You should always respect the values shown in the "Maximum absolute ratings" and the "Electrical characteristics" (I'm not sure they always are called like that but it's standard to do so) and respect any tolerance.

Software tweaking is also needed. The kernel probably will handle just fine but the bootloader may not.

1 Like

Thank you for you detailed insight on this matter. AFAIK most DDR2 RAM ICs have standard voltages of 1.8v (sometimes a range of 1.7v-1.9v). I think this should not be a problem because every datasheet that I have read so far indicates the above voltage patterns.

Next, if we talk about TpLink-W8980, it' using W9751G6KB-25 RAM chip and the config seems to be 16bit with 4 Banks of 8M each. That totals to 512MBits effectively 64MBytes. So I think I should be looking for something that falls under the same configuration meaning 16bit with 8 Banks of 16M each or something along the lines if I want 256MBytes.
Further going with this one, the document states two clock cycles of 5/5/5 and 6/6/6 with the above chip model but with additional 'I' indicating 6/6/6.

So I found W972GG6KB-25 which may be a good candidate for W8980. There seems to be two changes in the Ball Configuration in the datasheet but it may be because of that there are quite a few differences in the capacity. Maybe you can take a look.

Here I spotted the differences:

Ok so in the next page of the datasheet, we can see what they do. The first one, BA2, is the "bank select". Because the other chip uses only 2 bits, it can only address 4 banks. This chip uses 8 banks, so we have a small problem.
Similar to the BA2, the A13 line is the 13th bit of the addressing bus (a clear Von Newmann architecture). This line only makes sense when you're addressing with the half of bits, this way you have effectively 2x the number of rows. Without the BA2 pin you can only address the half of the memory when using 8 bit length mode, and without the BA2 bit and A13, you can only address 1/4 of the memory with the 4 bit length mode.

The "mode" selection is done by the SoC ROM (a code that runs way before the bootloader and it's written in the silicon).

But: this may not mean that it's impossible. Some OEM "recycle" PCB designs, so they can save money when the electronics are similar (i.e. doesn't matter to leave a rail on the PCB if the cheaper version of the chip has NC in those pins. This saves money in engineering work and allows OEM to reuse designs already tested and approved).

Chances are that you may be lucky enough to find those lines connected to the CPU. Chances are they're not and the device is physically restricted to 1GB or less.


It makes me wonder why it is so much easier to just scrap your old router and buy a new one instead to try to go re-engineer something that is probably not worth your time.

But hey, thank you so much for your effort to teach me a few lines. I really appreciate it.


Well, if you're going to do so, maybe it's worth to try, if it doesn't work it's not a total waste: learning to replace a RAM chip is worth the trying (I may be biased because I'm an electronics engineer). If it works, congratulations, you've saved the world from a PCB in the trash.

Anyway, this thread can help other people willing to try, who knows? Glad to be helpful to you.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.