Pocket NAS or Thecus N0204
What is the first thing that springs to mind when you consider the NAS (Network Attached Storage) abbreviation? Is it something bulky and very heavy, difficult to configure and use? Today in our testing lab we have a network storage that can totally destroy the stereotype. Thecus N0204 is so small and light that it fits into a pocket without weighing it down. At the first glance it may even seem that it’s not a fully-functional storage but just an ordinary external hard drive. However, this is not so at all. Let’s look at it in more detail.
Thecus N020 is performed in a small black plastic case with a wide silver inset in the middle. The dimensions of the device are 88*63*133 mm. It was possible to achieve such a small size by using 2.5” hard drives, which isn’t typical for network storages.
To enhance cooling there’s a round plastic stand with an embedded cooler creating an additional vertical air flow.
The side panels of the N0204 are ventilating grates for heat removal from the hard drives placed vertically behind them. Also, here is the vendor’s logo.
For the purpose of better ventilation there’re also technical holes on the top and on the bottom of the storage. Also, on the bottom there’re pins providing cooler rotation in the stand when you use it and four tiny rubber stands allowing putting N0204 right on the table.
The stand itself is a convex disc 102 mm in diameter with a thicker central part in which a 40 mm cooler is placed. We have to confess that we were baffled by the cooling system: instead of pumping cold air upward into the device, the cooler on the contrary pumps it out preventing natural convection.
The front side of N0204 displays four light indicators showing the state of the device itself, the network connection and the hard drives; a USB COPY button for making a backup copy of data from a drive connected to the USB 2.0 port located on the front panel.
On the rear panel there’s a network connector, a USB 1.1 port, a power slot and an on/off button as well as two slots for 2.5’’ hard drives. We were surprised to see a USB 1.1 port here as USB 3.0 has long been making its way into the market.
For its operation Thecus N0204 requires 3A DC at 5V voltage, for which it uses an external power adapter with an RF-180 slot with the maximum drawn current of 0.4 A, i.e. designed for 88 W of power. The plug inserted into N0204 didn’t seem to be well fixed: it was loose and the impression was that it couldn’t be normally plugged.
Now let’s look inside the device.
Thecus N0204 electronics is represented by two dark-blue textolite boards the smaller of which is used exclusively as an adaptor between the main board and the hard drives. On it, there’re also the LEDs of the front panel, the USB-port and the USB COPY button.
The intellectual components are put on one side of the main board.
Now let’s have a look at the software component.
An “out-of-the-box” Thecus N0204 isn’t ready to work. First you have to download and install the latest firmware version into it, for which it’s necessary to use Thecus Smart Utility also available on the vendor’s website. After the start the utility searches for Thecus network storages in the local net and if it detects any, it displays information about them.
For the chosen storage you’re offered either to prepare it for work or to configure a task for computer data backup.
The N0204 system installation can be performed fully automatically or with manual parameters’ selection. Naturally, we chose the second option which, it has to be said, doesn’t take much longer than the first – you only have to select the RAID type and connect a network disc if necessary.
After finishing initial configuration N0204 is ready for work, you can start the browser and configure the device further if necessary. We’d like to note that you’ll have to perform the actions described in this chapter every time you need to change RAID, as part of the system data is kept on the user discs.
When we received the device it had the latest firmware version 3.00.12, so to describe the process of firmware upgrade we turned to the available beta-version 3.00.12.3 at our own risk. The vendor only allows updating firmware, i.e. it is impossible to undo the update to the previous version. The version change is performed via the web-interface with the help of the Software Upgrade item of the System Management menu where you have to choose the file with the new firmware and click Apply.
After the file has been uploaded to the storage, N0204 will ask for the upgrade confirmation. If the answer is affirmative the system update will be done automatically and will take about three minutes, after which the device must be rebooted. The whole firmware upgrade process takes about five minutes.
Beside standard functions N0204 firmware offers, the user can get additional options by installing expansion modules. Module management is performed with the help of the Module Management menu. Module packages can be installed either manually (Modules item) or automatically (Auto Module Installation item) provided there’s internet access. First we decided to install several modules automatically and after that to add the missing ones manually. In automatic installation the chosen module is downloaded from the vendor’s site by itself.
Manual installation isn’t much more complex: you just have to download the module of interest from the vendor’s site, extract it from the archive and upload it to the storage.
No matter how the module was installed, before using it you have to enable it in the Modules item of the Module Management group.
The modules’ functions can be quite diverse: from scheduled USB-drive backup and different download wizards to a surveillance system (with the help of remote IP-cameras as well as local ones connected via USB) and a multimedia server.
Installation and enabling DROPBEAR and ROOTCMD modules don’t give the user access to the command line straightaway, because first root user’s password has to be changed. The password change is performed utilizing the ROOCMD module and the command below where instead of “new password” the new password for root must be specified.
passwd root new_password
Command line access is given via the SSH protocol. We used PuTTY 0.6 as an SSH-client.
Busybox is traditionally used for such type of devices.
BusyBox v1.8.3 (2010-11-04 20:24:44 CST) multi-call binary
Copyright (C) 1998-2006 Erik Andersen, Rob Landley, and others.
Licensed under GPLv2. See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: [function] [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as!
Currently defined functions:
[, [[, addgroup, adduser, arp, arping, ash, awk, basename,
cat, chmod, chown, chpasswd, chroot, chvt, cksum, clear,
cp, crond, crontab, cut, date, dc, dd, deallocvt, delgroup,
deluser, df, diff, dirname, dmesg, du, dumpleases, echo,
egrep, eject, env, ether-wake, expr, false, fdisk, fgrep,
free, freeramdisk, fsck, fsck.minix, fuser, getty, grep,
gunzip, gzip, halt, head, hexdump, hostname, hwclock,
id, ifconfig, init, insmod, kill, killall, killall5, klogd,
length, ln, logger, login, losetup, ls, lsmod, md5sum,
mdev, mkdir, mkfifo, mkfs.minix, mknod, mkswap, mktemp,
modprobe, more, mount, mv, netstat, nslookup, openvt,
passwd, pidof, pipe_progress, pivot_root, poweroff, printenv,
printf, ps, pwd, readahead, readlink, realpath, reboot,
renice, reset, rm, rmdir, rmmod, route, sed, seq, sh,
sleep, sort, split, stat, strings, stty, swapoff, swapon,
switch_root, sync, syslogd, tail, tee, test, time, top,
touch, tr, traceroute, true, tty, udhcpc, udhcpd, umount,
uname, uniq, unzip, uptime, usleep, vi, wc, wget, whoami,
xargs, yes, zcat
We decided to obtain the list of processes run on the storage.
PID Uid VSZ Stat Command
1 root 2956 S init
2 root SW< [kthreadd]
3 root SW< [ksoftirqd/0]
4 root SW< [events/0]
5 root SW< [khelper]
37 root SW< [kblockd/0]
42 root SW< [ata/0]
43 root SW< [ata_aux]
49 root SW< [khubd]
69 root SW< [btn_sched/0]
77 root SW [pdflush]
78 root SW [pdflush]
79 root SW< [kswapd0]
80 root SW< [aio/0]
84 root SW< [xfslogd/0]
85 root SW< [xfsdatad/0]
86 root SW< [xfs_mru_cache]
440 root SW< [sata-endQ]
441 root SW< [scsi_eh_0]
450 root SW< [sata-endQ]
451 root SW< [scsi_eh_1]
461 root SW< [mtdblockd]
498 root SW< [md11_raid1]
502 root SW< [md10_raid1]
536 root SW< [loop0]
538 root SW< [loop1]
540 root SW< [loop2]
545 root SWN [jffs2_gcd_mtd1]
643 root SW< [scsi_eh_2]
644 root SW< [usb-storage]
949 root SW< [xfsbufd]
950 root SW< [xfssyncd]
958 root 2960 S /bin/sh /app/bin/raid_m2
972 root 2956 S /bin/sh /img/bin/lcm_display
1015 root 18308 S /opt/apache/bin/httpd -k start
1046 root 4280 S /opt/ftpd/sbin/pure-authd -s /var/run/ftpd.sock -r /a
1049 root 4452 S pure-ftpd (SERVER)
1059 root 3564 S /opt/cups/sbin/cupsd
1073 root SW< [rpciod/0]
1115 root 3028 S /usr/sbin/crond -L /dev/null
1162 root SW< [zd1211rw]
1179 root 1584 S /opt/bin/ifplugd -fwI -u0 -d1 -p -i eth0
1240 root 19976 S /opt/apache/bin/httpd -k start
1243 root 20508 S /opt/apache/bin/httpd -k start
1246 root 20548 S /opt/apache/bin/httpd -k start
1247 root 19976 S /opt/apache/bin/httpd -k start
1248 root 19960 S /opt/apache/bin/httpd -k start
1255 root 11016 S /app/bin/udpr
1257 root 2960 S /sbin/getty -L ttyS0 115200 vt100
1417 root 2824 S cat /proc/thecus_eventc
1594 root 19468 S /opt/apache/bin/httpd -k start
1773 root 6120 S /opt/samba/sbin/smbd
1775 root 6120 S /opt/samba/sbin/smbd
1776 root 3592 S /opt/samba/sbin/nmbd
1833 root 67448 S ./upnpd -desc ./desc.xml -webdir /var/www/upnpweb/
1881 root 5724 S /opt/firefly/bin/mt-daapd -c /var/run/mt-daapd.conf
1882 root 13912 S /opt/firefly/bin/mt-daapd -c /var/run/mt-daapd.conf
1952 root 3380 S /opt/bin/openvpn --dev tun --persist-tun --persist-ke
1954 root 4280 S ./pure-authd -p /var/run/nsync-au.pid -s /var/run/nsy
1962 root 4452 S pure-ftpd (SERVER)
2034 root SW< [loop20]
2084 root 7440 S /opt/DLNA/bin/mediaserver
2255 nobody 11576 S /opt/opentftp/opentftpd -i /tmp/tftpd.ini
2272 root 20356 S /opt/apache/bin/httpd -k start
2292 root 2132 S dropbear -r /raid/data/module/DROPBEAR/system/rsa_hos
8925 root 2204 S dropbear -r /raid/data/module/DROPBEAR/system/rsa_hos
8928 root 3032 S -sh
8955 root 2824 S sleep 60
8958 root 3032 R ps
Also, we wanted to see the contents of the /bin, /sbin, /usr/bin, /usr/sbin and /proc catalogues.
N0204:~# ls /bin
addgroup@ df@ ln@ pidof@ stat@
adduser@ dmesg@ login@ ping* stty@
ash@ echo@ ls@ pipe_progress@ sync@
busybox* egrep@ mdadm* printenv@ tar*
cat@ false@ mkdir@ ps@ touch@
chmod@ fgrep@ mknod@ pwd@ true@
chown@ getfacl* mktemp@ rm@ umount@
cp@ grep@ more@ rmdir@ uname@
date@ gunzip@ mount@ sed@ usleep@
dd@ gzip@ mv@ setfacl* vi@
delgroup@ hostname@ netstat@ sh@ zcat@
deluser@ kill@ ntpdate* sleep@
N0204:~# ls /sbin
arp@ getty@ insmod@ mkfs.minix@ rmmod@ xfs_growfs*
ethtool* halt@ iwconfig* mkfs.xfs* route@ xfs_repair*
fdisk@ hotplug* iwpriv* mkswap@ swapoff@
flashcp* hwclock@ klogd@ modprobe@ swapon@
freeramdisk@ ifconfig@ losetup@ pivot_root@ switch_root@
fsck@ ifrename* lsmod@ poweroff@ syslogd@
fsck.minix@ init@ mdev@ reboot@ udhcpc@
N0204:~# ls /usr/bin
[@ deallocvt@ free@ md5sum@ seq@ tty@
[[@ des* fuser@ mkfifo@ setfacl@ uniq@
arping@ diff@ getent@ nslookup@ sort@ unzip@
awk@ dirname@ getfacl@ openvt@ split@ uptime@
basename@ dropbear@ head@ passwd@ strings@ wc@
chvt@ du@ hexdump@ printf@ tail@ wget@
cksum@ dumpleases@ id@ readahead@ tee@ whoami@
clear@ eject@ killall@ readlink@ test@ xargs@
crontab@ env@ killall5@ realpath@ time@ yes@
cut@ ether-wake@ length@ renice@ top@
dbclient@ expr@ logger@ reset@ tr@
dc@ find* lsscsi* scp@ traceroute@
N0204:~# ls /usr/sbin
chpasswd@ crond@ hdparm* udhcpd@
chroot@ dropbearmulti* smartctl*
N0204:~# ls /proc
1/ 441/ execdomains
1015/ 450/ filesystems
1046/ 451/ fs/
1049/ 461/ hwm
1059/ 49/ interrupts
1073/ 498/ iomem
1115/ 5/ ioports
1162/ 502/ irq/
1179/ 536/ kallsyms
1240/ 538/ kmsg
1243/ 540/ loadavg
1246/ 545/ locks
1247/ 643/ mdstat
1248/ 644/ meminfo
1255/ 69/ misc
1257/ 77/ modules
1417/ 78/ mounts@
1594/ 79/ mtd
1773/ 80/ net/
1775/ 84/ ox810sata_errorinject
1776/ 85/ pagetypeinfo
1833/ 86/ partitions
1881/ 8925/ scsi/
1882/ 8928/ self@
1952/ 8974/ slabinfo
1954/ 8979/ stat
1962/ 949/ swaps
2/ 950/ sys/
2034/ 958/ sysvipc/
2084/ 972/ thecus_event
2255/ buddyinfo thecus_eventc
2272/ bus/ thecus_io
2292/ cmdline timer_list
3/ cpu/ tty/
37/ cpuinfo uptime
4/ crypto version
42/ devices vmstat
43/ diskstats zoneinfo
The load of N0204 can be estimated with the help of the /proc/uptime and /proc/loadavg files. In the cat uptime output there’re two numbers showing the storage’s uptime and idle time, respectively. The first three numbers in the cat loadavg output show the average load of the device within last 1, 5 and 15 minutes, respectively. As we see, at the moment N0204 isn’t loaded at all.
N0204:~# cat /proc/uptime
N0204:~# cat /proc/loadavg
0.00 0.00 0.00 2/90 9001
From the /proc/cpuinfo file we’ll get information about the platform used.
N0204:~# cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 183.09
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 32768
I assoc : 4
I line length : 32
I sets : 256
D size : 32768
D assoc : 4
D line length : 32
D sets : 256
Hardware : Oxsemi NAS
Revision : 0000
Serial : 00000752baf7aa80
The /proc/filesystems file contains a list of the supported file systems.
N0204:~# cat /proc/filesystems
The /raid catalogue has a data link leading to a catalogue where RAID data are mounted. In our case the external hard drive was mounted to the /raid0/data/USBHDD/usb3/1 directory.
N0204:/raid# ls -l
lrwxrwxrwx 1 root root 11 Feb 21 12:09 data -> /raid0/data/
lrwxrwxrwx 1 root root 10 Feb 21 12:09 sys -> /raid0/sys/
lrwxrwxrwx 1 root root 15 Feb 21 12:09 tmp -> /raid0/data/tmp/
N0204:/raid# cd data/USBHDD/usb3/1
System Volume Information/
The device can be turned off with the poweroff command in the command line.
N0204:~# poweroff -?
poweroff: invalid option -- ?
BusyBox v1.8.3 (2010-11-04 20:24:44 CST) multi-call binary
Usage: poweroff [-d delay] [-n] [-f]
Halt and shut off power
-d Delay interval for halting
-n No call to sync()
-f Force power off (don't go through init)
Now let’s look at the features of the Thecus N0204 web-interface.
After entering the N0204 address into the browser’s address bar the user gets to the storage homepage from where he can either configure the device or get access to files or start browsing photos.
Let’s start with configuring N0204. First the administrator’s password is requested which is admin.
After entering valid account data the user finds himself on the page with selected functions. The main menu is to the left and contains the following items: System Information, System Management, System Network, Storage, User and Group Authentication, Application Server, Module Management and Backup. We’re not going to consider all the features of the storage, but will stop at those that are the most interesting in our view.
Brief information about the storage platform, uptime, the CPU load and the running services can be found in the Info and Status items of the System Information menu.
Now let’s move to the System Management group where the user can set the time synchronization parameters, configure notifications via SMTP, control the device immediate or scheduled turning on, rebooting and shutting down, upgrade the firmware, check the file system as well as manage the current storage configuration. We’d like to note that Thecus N0204 doesn’t support Cyrillic domains, so it won’t be possible to synchronize time with a server, for instance, время.провайдер.рф – the user will get a notification about an incorrect NTP server format. Perhaps, time synchronization and scheduled work will be in most demand if N0204 is used as an office storage, though in this case it’s worth choosing less compact models.
The System Network group allows specifying IP-parameters of the only wired network interface in the WAN/LAN1 Configuration item and to configure each service separately. The configurable services are Samba/CIFS, AFP, NFS, FTP, Media Server, HTTP/Web disk, UPnP, Nsync, Bonjour and TFTP. The TFTP support though not very complicated isn’t very widespread and N0204 is a pleasant exception. In our view, another handy option is the ability to limit the bandwidth of downloading and uploading data via the FTP protocol. The limitation is performed with a 1 Mbyte/s step with the maximum rate 32 Mbyte/s. Jumping ahead of ourselves we’d like to note that the scale of limiting the FTP data transfer speed is overdesigned as while testing we failed to achieve such high speeds. Additional Nsync copying management is performed with the help of the only item Nsync Server of the Backup group.
Now let’s turn to the Storage group where the user can manage folders, discs and the RAID as well as mount ISO disc images. Altogether it’s possible to mount 50 images. Thecus N0204 supports three RAID types: JBOD, RAID0 and RAID1.
User and group management is performed with the help of the User and Group Authentication group items, where manual configuration of one user is possible as well as batch configuration of a number of accounts.
The Application Server group contains two items Printer and iTunes allowing managing same-named tasks.
Installation, launching, configuration, termination and deletion of additional expansion modules is done with the help of the menu item in the Module Management group, but this topic has already been covered above.
Here we finish the brief review of the features of the Thecus N0204 web-interface and move to testing straightaway.
Traditionally we start the testing section with determining the booting time of the device. By booting time we mean the time interval from pushing the power on button to the arrival of the first echoing back via the ICMP protocol. Thecus N0204 boots in 42 seconds. We think it to be a normal result.
The second test was to check the storage security, for which we used a network security scanner Positive Technologies XSpider 7.7 (Demo build 3100). Altogether we found fourteen open ports: TCP-80 (HTTP), UDP-137 (NetBIOS Name), TCP-139 (NetBIOS Samba), TCP-443 (HTTP SSL), TCP-445 (Microsoft DS), TCP-631 (HTTP), TCP-1194, TCP-2000 (FTP), TCP-4662, TCP-4711 (HTTP), TCP-4712, TCP-9000 (HTTP), TCP-9091 (HTTP), TCP-51413. Maybe, the found open ports wouldn’t pose any hazard but for a very serious insecurity we discovered in PHP servicing HTTP on the TCP-80 and TCP-443 ports.
As we consider the discovered insecurity serious enough we reported it to the vendor; we hope that in further firmware versions this problem will be solved.
Also we uploaded our audio- and video-records and photos to N0204 and then successfully detected the storage in the network. After connecting to it with the Windows Media Center and the Windows Media player we were able to watch and listen to our multimedia data.
Perhaps, the storage performance tests will be the most interesting, so we’re moving to them. Thecus N0204 supports three RAID types (JBOD, RAID0 and RAID1) which it allows formatting for the only file system – XFS. We held our tests with the help of the Intel NASPT 1.7.1 utility. In accordance with the vendor’s recommendations we intentionally reduced the available RAM on the test stand to 2 GBytes to prevent caching the program queries. The main PC parameters are presented below.
|Motherboard||ASUS P5K64 WS|
|CPU||Intel Core 2 Duo E6550 2.33 GHz|
|RAM||DDR3 PC3-10700 OCZ 12 GBytes|
|NIC||Marvell Yukon 88E8001/8003/8010|
|Operating System||Windows 7 x64 Rus|
For our tests we used 2.5’’ hard drives WD Scorpio Blue whose speed parameters are presented in the table and the diagram below.
|Test type||Speed, Mbps|
For each of the three available RAIDs we made measurements the results of which we drew to a single table and diagrams.
|Test type||Speed, Mbps|
As the N0204 front panel has a USB 2.0 port that allows connecting external USB-discs, we couldn’t leave this option untested, so we used a Transcend StoreJet 25P 500 Gbyte disc. First we measured the disc speeds when it’s directly connected to a PC and then – to the storage.
|Test type||Speed, Mbps|
As Thecus N0204 allows data transfer via FTP and TFTP, we held these tests as well. Unfortunately, we failed to transfer files via TFTP because of some error related to access rights, that’s why for TFTP we only have the downloading speed. Such one-way transfer may be in demand, for example, for transferring new IOS versions to the Cisco Company equipment. Also the storage support of compact discs ISO-images wasn’t left aside. We created an image with big files, connected it to N0204 and measured the transfer rate to the test PC. The storage web-interface allows two-way file transfer with the help of built-in eXplorer, whereas the USB Copy button on the front panel makes data backup from the connected USB-drive to internal hard drives. The last mentioned feature can come in handy for transferring photos from a digital camera to the storage when a computer or a notebook is not available. The results of all these diverse tests are presented in the table and the diagram below.
|USB_Copy NTFS file||40,385|
|USB_Copy NTFS dir||18,749|
|USB_Copy FAT32 file||101,308|
|USB_Copy FAT32 dir||30,638|
Here we’re through with testing and are moving to the conclusions.
Thecus N0204 is an unusual network storage because of its size and power consumption – it’s the smallest and the most economical we’ve ever seen. Its portability and features make it possible to use N0204 as an access point, a print-server, a surveillance server, a pocket storage for photos and videos and of course as a network data storage. For instance, Thecus N0204 will be handy in a long journey as a universal hard drive to which you can copy the photos of the day without a notebook or a PC. Or it can be used for keeping supplementary materials for a reporter’s presentation or as an access point (with an additional wireless adapter connected) for setting up a temporary wireless network. The support of USB-cameras will come in useful if it’s necessary to record an event. On the whole, we were quite pleased with Thecus N0204 despite rather low data transfer rates.
The advantages of the storage are listed below.
Low power consumption.
The support of a substantial number of data transfer protocols including TFTP.
Diversity of possible applications.
Unfortunately, we can’t but point at the disadvantages.
Unreliable attachment of the power plug.
Unfortunate air flow distribution when the stand is being used.
Only partial translation of the web-interface.
Low response rate of the web-interface.
Lack of Cyrillic domains support.
Lack of a case for transportation.
Low data transfer rates.
When the article was being written the price for Thecus N0204 (without hard drives) in Moscow internet-shops was 6000 rubles.
The author and the editorial staff want to thank the Tayle Company for providing the equipment for testing.