I am no longer working on this project, and have gotten rid of my NAS boxes. I did
not have much time to work on it, and was not able to get a replacement kernel
to boot. Without a new kernel, the possibilities were reduced to the degree that I was not interested
in continuing to work on it. For a similar box for which customization is
supported, see the Kuro box
web site. I don't have one of these, but this looks like a much better option
if you want a customizable appliance.
Using the pack and unpack programs linked to below, it is possible to create
custom images that can be loaded onto the box. I was not successful at getting
an alternate kernel to boot, but it is fairly simple to update the filesystem
that is also included in the image. It is a compressed ext2 file system image - it
can be loopback mounted and modified, and then repacked into a new firmware image.
New firmware images prompt for a password on the serial port after boot, but this
can be defeated easily. The password is checked in one of the init scripts,
and is stored in plaintext. You can find out the password by looking in the
etc/rcS file in the ramdisk image. The password for 1.45 is "168Mct168", and the
password for 1.50 is "6968GZ".
The easiest way to add functionality is to update the init scripts in the initrd
that is stored in flash to run scripts that are on the hard drive. This way
the flash only has to be modified once, and not every time you want to tweek
something. A reasonable source for development tools is MontaVista, where you
can download a preview version of their tools after registering. If someone is
successful in getting more working, I'll put a link on this page, so let me know if
anyone has success. I'll try to help with any NAS specific info that I can, but
I won't be able to provide general development help.
Hacking the Tritton NAS120
I purchased a Tritton
NAS120 at Fry's the day after Christmas (2003), and have started working
on being able to run other software on it. I will update this
page as I make progress. (See bottom of page.) The NAS
120's support for NFS is very poor, so I would recommend against it if
you are planning to use it as an NFS server.
Tritton NAS120 overview
The NAS120 is a network attached storage device (file server) that
supports NFS, CIFS (windows), and Apple (not tested by me) file
sharing, ftp access, and web administration. What is not
mentioned on the box is that the web administration supports IE 5.0 and
greater ONLY. It just gives an error message on anything
else. Changing the user agent of Mozilla Firebird 0.7 resulted in
unusably rendered pages. CIFS and NFS networking works, but there
are some rough edges, at least on NFS. Ownership and permissions
on NFS are not handled properly (completely messed up.) NFS
throughput on large files is about 2 Mbytes/second, although I have
only done a very little bit of testing.
What's inside
Inside the box is a 120 Gig hard drive (looks like Hitachi), and a
board containing a Silicon Image IDE controller and a Toshiba TMPR3927CF
processor, with 32 Megs SDRAM and 4 Mbytes flash. This processor
is based on a MIPS R3000A. See the Toshiba web site for
datasheet. The flash holds all of the software, as the hard
drive is shipped unformatted.
Conveniently, the one of the serial ports is brought out to a header,
and it provides a serial console for the boot loader and bash
shell. Also, JPXXXX causes the boot loader to not automatically
start the kernel when jumpered. The serial port is set for
115Kbits/sec N81, but is only 3.3V logic signal levels, so a serial
line driver is required to hook it up to a rs232 port.
Jumpers:
JP 8: boot loader prompt. when jumpered, board boot stops
at boot loader prompt, rather than booting into Linux.
pin 1: PIO 1, 10KOhm pullup to 3.3 volts
pin 2: gnd
JP 1: Serial port 115Kbits/sec, N81 (3.3 volt logic
signalling levels)
pin 1: 3.3 volts
pin 2: TX
pin 3: GND
pin 4: RX
Software
The board is running linux kernel 2.4.16 with busybox and uclibc, and
it is running out of a ramdisk. It appears to be using some MTD
functionality, but neither the character nor block devices seem to be
there. Tritton does not have any source available for download,
and I have not contacted them about that yet.
The hard drive is formatted with the ext3 filesystem, and can be easily
read/modified if hooked up to another linux system.
Tritton seems to be the only group that is selling a disk-server only
version, which is what is described on this page.
Status
12/28/2003
Have serial port working. Also, the box will recognize and use a
180 Gig Hitachi drive, so it does appear that the drive is upgradeable,
and that it supports LBA48. I have not verified that I can store
more than 137 Gigs, but I am optimistic that since ext3 format works,
that it will actually work with large drives. I am currently
working on getting a toolchain built for the processor so that I can
build executables for the board. Since the hard drive is
accessible over the network and from the shell, moving files to/from
the box is quite easy.
3/21/2004
Tritton finally released a firmware update, but it did not resolve any
issues. (maybe it helped the not finding hard drive at startup,
but I haven't really paid attention.) There is a review at
www.smallnetbuilder.com, which also review the iogear boss, which is
basically the same with an extra ethernet port and switch. The
firmware is basically the same, but different enough that it does not
run properly on the NAS120. (The main issue is that only eth0
exists, and that is the WAN port on the BOSS.) I have written a
couple of simple (and very much thrown together) utilities for packing
and unpacking firmware images. The firmware image consists
of a header, kernel image, ramdisk image (ext2), and trailing
signature.
The files pack.c and unpack.c
are simple utilities that allow you to get the kernel and ramdisk image
from a firmware file.
I have successfully modified the ramdisk and downloaded to unit.
You shouldn't use a modified image unless you are willing to open the
unit and setup the serial connection and boot monitor jumper. I
have always been able to recover using the boot monitor, but it is
still possible to mess even that up.
To load a firmware image using the boot loader:
DO NOT DO THIS UNLESS YOU KNOW WHAT YOU ARE DOING!!!! (Don't
complain to me if you do this and you now have a doorstop with blinkey
lights on it....)
get a bootloader prompt by connecting a serial port and closing
JP8
type 'load' at the bootloader prompt, and then send the file
using tftp to the address 192.168.1.254. be sure to set binary
mode
type 'flash' to burn the downloaded image to flash.
power cycle the unit after the flashing has completed.
If anyone gets more working, please let me know email:
nas120@royfranz.com.
I have not gotten my rebate yet, and given the poor service that
Tritton is providing, I may never get it. (update - re
It looks like the real source of the design for this product as well as
Iogear's is Magic
Control Technology. They do not seem to offer any
direct support of it.
4/22/2004
I finally received my rebate for my after Christmas purchase, and it is
nice to have that resolved. (I only got the rebate check after a number
of inquiry emails to Tritton.) Version 1.45 of the firmware was
release, and now NFS is completely broken. Tritton (and MCT) are
not living up to their obligations under the GPL, as they refuse to
release their modifications to the Linux kernel.