NSLU2-Linux
view · edit · print · history

This page has been on the wiki for a long time but hard to find.

FatSlug is the term that has come to be used to describe an NSLU2 that has had additional RAM added. This is a hardware hack and requires purchasing the correct memory chips or getting them from appropriate SDRAM modules.

Increasing the Flash memory seems like a good idea too but it would require JTAG to get some sort of bootloader into the chip after and there are other ways to add storage memory such as one of the internal USB ports. However, increasing the flash from 8MB to 16MB is straight-forward, and an NSLU2 that has 16MB flash and 256MB RAM has been named an ObeseSlug.

Obviously this is not for the 'faint of heart' because it requires specialized tools and skills to perform the operation on the NSLU2. If you wish to use the existing chips, you will be limited to adding 2 more just like them and thus will have 64M maximum.


NOTE:
It is possible to build up to a fatslug with more than 64M of memory without removing the original memory chips. The idea is to tie the chip select lines of the existing RAM to +3.3V so it is permanently disabled. Then, RAM chips can be stacked on top of the existing ones without requiring the removal of any chips. This makes the process much safer to do.

The first thing to do is to isolate the chip select lines of the two existing RAM chips from the chip select line from the CPU. You do this by cutting the trace between the resistor pack PR12? and U10 pin 19. It is on the top side of the board. The chip select lines of the two chips are connected together by a circuit trace beneath U10. The next step is to connect these chip select lines to +3.3V. This is done by connecting U10 pin 19 to pin 1 of U10.

Now, you can stack one or two layers of chips on top of the existing chips and solder all of the pins except pin 19 of the added chips (the _CS pin). It is a good idea to bend pin 19 out on each chip to make access easier. Now you need to connect the chip selects for each pair of chips together. Since the first bank is replacing the existing chips, you connect pin 19 of the first layer of chips together and then to the same pin of PR12 that the existing chips pin 19 were connected to (in line with the 'P' of PR12 on the side closest to U10. If you have added a second bank, you connect pin 19 of the upper layer of chips to the PR12? pin beside the bank 1 _CS (in line with the R of PR12 on the side closest to U10. I have built a 256M fatslug like this and it works great. It takes much less time and it is way safer.

Suggestions:

1 - Remove the battery holder, beeper and large capacitors to get clear access to the RAM chip area.
2 - After mounting the chips, carefully run the solder such that it makes a full round bead from the PCB to the top chip. This is necessary to deal with heat fractures by providing mechanical strength to the joints.
3 - Triple check that there are no solder bridges with a continuity tester. Also check from the PCB pad itself to the top of the stack.
4 - Replace the capacitors only (note the polarity) put it in the case and test thoroughly at elevated temperatures under stress. Memtester is very good at stressing the RAM chips.
5 - Finally, heat cycle it to further weed out any soldering problems. Something like 4 hours testing, 4 hours off for a day should do it. If all is well, reinstall the beeper and battery (note the polarity on both of these).

If you build beta-4.9 as described in http://www.nslu2-linux.org/wiki/HowTo/ModifyMemorySize the larger memory will be automatically recognized and you do not need a serial port to configure anything. However, this assumes that you have done a very careful job of installation and have tested for shorts between pins and from the top of the pin stack down to the PCB to make sure everything is soldered properly. If you are not careful and have problems, you will not be able to troubleshoot without a serial port. Test, then test some more. Use a digital multimeter and be especially watchful for open connections that are closed when you push on the pin.

For static protection, I use a static strap clipped to a large antistatic bag (from a motherboard) taped to my wooden work surface. I wear cotton clothing and do not move about or shuffle my feet. I use a temperature controlled soldering iron with a very small tip and I have lots of fine solder wick on hand to deal with the inevitable solder bridges. Finally, I have a liquid flux dispenser to assist in getting good flow. To remove the battery holder and capacitors (to make room) I use a bigger tip, higher temperature and a 'solder sucker'. Not sophisticated but, with care, it works fine.

The only real benefit to adding RAM is that it will reduce or eliminate swapping to disk. If your use of the Slug does not require a lot of memory, you will see little if any change in performance. Building a recent kernel on a 128M FATSLUG used about 90M and no swapping took place.

That said, it is a pretty fun hack. :)

sdm485

view · edit · print · history · Last edited by sdm485.
Based on work by sdm485, SDM485, fcarolo, and rwhitby.
Originally by sdm485.
Page last modified on July 26, 2008, at 08:48 PM