LaFonera Hardware 32MB SDRAM MOD

From DD-WRT Wiki

Jump to: navigation, search

You are here: DD-WRT wiki mainpage / LaFonera / Hardware / 32MB SDRAM MOD

Contents

[edit] Finding the right SDRAM chips for the Mod

The Fonera uses 128 Mbit PC133 SDRAM arranged in 4 banks x 2 Mbit x 16-bit width.

For this mod, you will need to find ram chips that are 4 banks x 4 Mbit x 16-bit width.

You can easily buy these parts from a source like Digikey for $8 but you can easily find these chips on PC100/PC133 256 MB SINGLE sided ram. Since single sided ram chips are harder to find, I choose to go with SO-DIMM for notebooks because there are usually 8 chips rather than 16 chips.

Below is the part I bought from e-bay for $20.

Image:FON_SDRAM_MOD_1.jpg

Image:FON_SDRAM_MOD_2.jpg

[edit] Removing and replacing ram chips on the Fonera

First of all, this mod is not for the faint of heart and definitely not for those that have not done any kind of soldering before. With that out of the way, we an proceed to removing ram chips without professional equipment.

It is entirely possible to remove the chips without any ChipQuick, just using Solder Wick. If done properly, there won't be enough solder under the pads to keep the chip on when a little bit of force is applied to the chip. The legs will 'pop' from the pads, leaving both intact. However, the ChipQuik method is almost fool proof.

Get a sample ChipQuik SMD removal kit. It includes flux and some low low temperature solder.

First, you proceed to apply the gel flux to the leads of the ram chip

Image:FON_SDRAM_MOD_3.jpg

Next, you melt the solder wire so that it bridges ALL the leads of the ram chip

Image:FON_SDRAM_MOD_4.jpg

While using a little dental pick or something thin and sharp, apply minimal pressure while melting the solder on each side of the ram chips. Basically, you give each side 3 seconds until the chip just lifts from the board. DO NOT yank the part from the board or it will RIP out traces from the board.

Image:FON_SDRAM_MOD_5.jpg

Next, with solder wick, gently clean the bridged solder from the legs until you get something looking like this. If you buy the parts from Digikey, they will come in this form and you can skip the above procedure.

Image:FON_SDRAM_MOD_6.jpg

Repeat the above procedure to remove the ram chip from the Fonera board as shown below

Image:FON_SDRAM_MOD_7.jpg

Using solder wick again, gently clean the pads of the Fonera board. Make sure they are clean, with as little old solder on them as possible. After they are cleaned, use a Q-Tip with some IPA (rubbing alcohol) and clean the board of any flux, residue.

Image:FON_SDRAM_MOD_8.jpg

Finally, carefully align the new ram chip on the pads and solder the new ram chip back on, pin by pin. It makes your life a lot easier if you tack down the corners of the RAM before you start to solder the RAM. ALWAYS use liquid flux for SMT rework as it will make your life A LOT EASIER. Trust me on this one.

Image:FON_SDRAM_MOD_9.jpg

[edit] Booting up to make sure board still works

Using a serial cable, make sure the board still works as usual.

Image:FON_SDRAM_MOD_10.jpg


Notice that the ram is still 16 MB. This is because redboot hasn't initialized the extra 16 MB.

RAM: 0x80000000-0x81000000, [0x80040450-0x80fe1000] available

[edit] Updating redboot to use 32 MB ram

I've spent an entire week to gather redboot sources, fonera sources, meraki-mini sources and finally compiled a working redboot that will initialize the 32 MB ram. You can download it from here:

Get modified Redboot.rom here

Download the above file and host it on your computer's tftp server:

  RedBoot> load -r -b %{FREEMEMLO} redboot.rom
  Using default protocol (TFTP)
  Raw file loaded 0x80040800-0x8006806f, assumed entry at 0x80040800

Now, update the redboot boot loader:

  RedBoot> fis create RedBoot
  An image named 'RedBoot' exists - continue (y/n)? y
  ... Erase from 0xa8000000-0xa8030000: ...
  ... Program from 0x80040800-0x80068070 at 0xa8000000: ...
  ... Erase from 0xa87e0000-0xa87f0000: .
  ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Reboot and you should get this:

  +Ethernet eth0: MAC address xx:xx:xx:xx:xx:xx
  IP: 192.168.2.254/255.255.255.0, Gateway: 192.168.2.1
  Default server: 192.168.2.2
  RedBoot(tm) bootstrap and debug environment [ROMRAM]
  Non-certified release, version UNKNOWN - built 01:14:04, Mar 14 2007
  Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
  Board: ap51
  RAM: 0x80000000-0x82000000, [0x8003f6e0-0x80fe1000] available
  FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
  == Executing boot script in 5.000 seconds - enter ^C to abort
  ^C
  RedBoot>

Now, notice the extra ram available!!!

  RAM: 0x80000000-0x82000000, [0x8003f6e0-0x80fe1000] available

[edit] Screen shots of 32 MB ram

Image:FON_SDRAM_MOD_11.jpg


This page was made possible by GoldServe!