NSLU2-Linux
view · edit · print · history

Fattening your Slug is adding more RAM to the slug.

*WARNING Doing this will DEFINITELY VOID YOUR WARRANTY.*

There, you have been warned...

Ah.. I see you are still here...

The first thing you have to do is open the case (preferably in a somewhat static free area)

Follow the directions to open the case.

2 methods of fattening: replace the two existing 8Mx16 RAM chips with 2 equal sized but bigger RAM chips or add 2 RAM chips of the existing size "piggy backed" (or do both for maximum ram).

RAM used must be added in identical pairs and if two banks are being used, must also be the same for both banks. Obviously each chip must be at least 16MB.

The following table shows the required number of chips for a given memory configuration:

TotalChip density
memory128 Mbit256 Mbit512 Mbit
64 MB4 Chips
8Mx16
2 Chips
16Mx16
-
128 MB-4 Chips
16Mx16
2 Chips
32Mx16
256 MB--4 Chips
32Mx16

If you are using 4 chips then the /CS pin (pin 19) of the 2 "piggy backed" chips should be connected together to the unconnected pin on PR12.

A good source of chips are PC133 SDRAM modules. 128 Mbit chips can be obtained from a 64 MB module with 4 chips or a 128 MB module with 8 chips; 256 Mbit chips from a 128 MB module with 4 chips or a 256 MB module with 8 chips; 512 Mbit chips from a 256 MB module with 4 chips (I don't know if this exists) or a 512 MB module with 8 chips. They are much cheaper than buying the chips individually (or free if you have some lying around).

Note: Most 256 MB modules use 32Mx8 chips instead of 16Mx16. Double check the chips before you buy or install. The safest option is to look for 128 MB modules with 4 chips.

Comment from Joschi: I just bought a 256MB PC133 module consisting of 4 512Mbit 32Mx16 chips at www.fscomputer.de. Found this by googling for "32Mx16" AND "PC133".

This job requires a steady hand and a very small soldering iron tip (<1mm)

The RAM chips can be de-soldered with 1mm solder wick and a 30 watt iron (any more and you will potentially damage the board). I would recommend using flux as well; a flux pen works best. That serves to clean the oxidation off both the tip and the pins, and allows maximal heat flow to the pins.

Once you have them de-soldered you may need to pry them off the board as they may be glued.

If you don't want to save the existing RAM you can cut the leads at the body and more easily unsolder the chip.

Photos are posted at the NSLU2-Linux Yahoo Group (http://groups.yahoo.com/group/nslu2-linux).

Modifications to RedBoot and the Linux kernel are also necessary to enable the usage of the extra RAM. Without these modifications you will only be able to use 32MB. See the details of the software side boot loader modifications

Comments on a 128MB upgrade (4x256Mbit chips): -- kinsa?

Without changing the bootloader, I was able to access the lower 64MB by recompiling the kernel alone. I changed the memory parameter of the kernel command line to "mem=64MB@0x000000". I am not sure if this will also work on 64MB and 256MB upgrades. [ ERROR? ... on 128MB and 256MB upgrades ?? ]

To access all the installed memory, you will need to change the bootloader and/or modify the kernel. I have used APEX bootloader and it works as expected.

If you are using Openslug, then changing the kernel command line ("mem=xxx") in APEX is all that is needed. The last time I checked, Unslung needs a kernel recompile because the command line parameters are hardcoded.

Comments on a 128MB upgrade (2x512Mbit chips): --Micirio
Without changing the bootloader:

  • I was not able to boot a kernel with commandline "mem=128MB@0x000000"
  • I was able to boot a kernel with commandline "mem=64MB@0x000000" - But every time I used more the 32MB, I got a kernel panic

After I changed the bootloader to APEX:

  • I was able to boot a kernel with commandline "mem=128MB@0x000000" - No problems, except the "Badness in dma_free_coherent at arch/arm/mm/consistent.c:351" kernel messages. But this seems to be a known problem of kernel 2.6.16
  • I was able to boot a kernel with commandline "mem=64MB@0x000000" - No problems, everything stable

Fazit: I could not use the 64MB without using APEX

Comments on a 256MB upgrade (4x512Mbit chips): --Rob Lockhart
With changing the boot loader to Apex as 2nd stage boot loader, I was able to detect the memory correctly and use it with Debian, using the instructions here but it crashes due to DMA error when using up to the limit of memory (happens when using rsync).

Comments on a 128MB upgrade (2x512Mbit chips): --caiacoa
The DMA errors mentioned above by Rob concerns the 128MB slug too. Please run memtest all (or 128mb) to confirm and report otherwise if its working for you. (crashes when using up to the limit of RAM) Problem is Bug 7760 "Page Allocation Failure on ixp4xx (nslu2) with 128MB RAM" See http://bugzilla.kernel.org/show_bug.cgi?id=7760
With 64 MB enabled ("mem=64MB@0x000000") no crashes with memtest


Question on usefullnes of upgrades > 64 MB \\These DMA errors are reported to occur for upgrades to 128 and 256MB only. Please confirm or negate my following conclusions:

  • Doubling your memory to 64MB doesn't pose other problems than actually doing it, whilst quadrupling or octadrupling (is that valid English terminology?) to 128 or 256MB result in crashes when using 100% physical memory.
  • Those crashes can't be circumvented, hence if you want to remain a stable slug one shouldn't fatten it more than 64MB

-- Paul Brandt, April 29, 2008


Comments on chip sources for 512Mbit chips: - Charles Santos
On Newegg.com they sell SODIMMS (for Laptops) I was able to find PC133 Modules that are 256MB - 4 chips, the configuration is listed on the manufacturers web site as 32M X 64bits, CAS 2 the model I found is Crucial 256MB 144-Pin SO-DIMM PC 133 Notebook Memory Model CT32M64S8W7E and is about $30US plus $5 shipping as of 12/2007. (**Caution, I received a module which has 8x MT48LC16M16A2BG, which is a 256Mb part. --hjames)


Comments on type of chips - Mattia
I have mount 4 chips of Samsung K4S511632D?-UC75? (8M x 16bit x 4 Banks) and work fine with 256M of ram. Desoldering with hot air solder next masked near SMD components and remove PTH components (like capacitors, buzzer...).

Page last modified on June 27, 2008, at 12:04 PM