Introduction
The Linksys NSLU2 is a very nice piece of hardware which seems to be designed to be hacked from the ground. First, it costs less than 100 euros. This is important because you won't fear to fry it. Second, it features an Intel IXP420 (StrongARM) system on chip at 133 or 266 MHz, 8 MB of flash, 32 MB of RAM, a very efficient FastEthernet controller with one 10/100 Mbps RJ45 port (unfortunately, the second one is not connected), and two USB-2.0 host ports.The system on chip also hosts a second fast-ethernet port which is not connected at all. When sold, the CPU runs at 133 MHz, but setting it back to 266 is very easy. Connecting the first serial port is easy too. The second one may only be used to receive (eg for a sensor, a GPS, keyboard, etc...). There are some I2C signals available on the board, and a JTAG interface is also usable. 4 leds are individually controlled by 4 bits so that you can use those signals to control an LCD for instance. The power and reset buttons are purely software, so you can program them to do something completely different.
This page explains how to :
- Open the NSLU2 (easy +++);
- Switch it from 133 to 266 MHz (easy ++);
- Add an RS232 serial port to it so that it can be connected to a PC's serial port (easy +);
- Make it automatically power on without losing the push button's usage. Absolutely needed for a server ! (easy +)
- Add an USB 1.1, device mode port (harder)
- Take the power from the USB port(harder)
Unfortunately, I don't have much spare time to comment all photos, so I hope they're self explanatory. For more information about putting Linux on the NSLU2, please consult http://www.nslu2-linux.org/.
Tests
Once restored on the 266 MHz setting, I've been able to route 100 Mbps on a single Ethernet interface, which represented 68000 small packets/s. I've ported haproxy on it, and it reached a very decent 600 hits/s and 50 Mbps.Photos
Here are all the photos. You can click on them to zoom in.Various links
- http://www.nslu2-linux.org/ : the official site about Linux on NSLU2.