Introduction
At a Glance | |
---|---|
Product | CodeLathe TonidoPlug Personal Cloud Server |
Summary | Yet another Marvell-based mini-cloud appliance, but with more sophisticated applications and features |
Pros | • Small, low powered and silent • Good performance • Powerful sharing infrastructure • Root access for easy extension |
Cons | • Bare bones NAS features • Only one USB port • No eSATA port |
I’ve long been a fan of little network devices. I enjoy watching the advances in performance and reduction in power conumption and seeing the expanding array of applications they can handle. In this review, I’ll check out CodeLathe’s TonidoPlug, a plug-computer that’s designed to run the Tonido software platform and be extendible through the installation of free or paid apps from the Tonido app store.
The Plug itself comes in a wall-wart form factor reminiscent of CTERA’s CloudPlug. As you can see in the product photo above, there’s a power plug, 10/100/1000 Ethernet port and a single USB 2.0 port. Power and activity indicators are the only things to grace the front panel (aside from the Tonido logo). It’s hard to see from the photo, but the plug can be removed and a supplied power cable attached if you would rather have the TonidoPlug sitting on your desk.
Setup
Getting going with the TonidoPlug is a piece of cake. Connect an Ethernet cable, a USB drive (FAT, FAT32, NTFS, ext2, and ext3 formats are supported) plug it into a wall outlet and you’re up and running in a snap. (If you want to add more drives, you can use a USB hub.)
A typical problem with any displayless device is finding it on your network, so you can configure it. CodeLathe has the TonidoPlug automatically check in back at the Tonido server to register itself with the address assigned by your ISP. Then when you connect to the Tonido website from the same subnet, you’ll be matched up with your TonidoPlug. In other words, Tonido has a dynamic DNS client built in and, similar to Skype, initiates an outbound connection from your LAN so that you don’t have to mess with opening any ports in your router’s firewall.
Figure 1, from the Tonido web site shows my TonidoPlug info after I pointed my browser to the discovery page.
Figure 1: TonidoPlug discovery
When you follow the link for your TonidoPlug, you’re in. Figure 2 shows the login screen you’ll see the first time you connect.
Figure 2: TonidoPlug first-time login
The password you’re setting up here is for administration purposes, which is separate from the user account you’ll use on a day-to-day basis.
Feature Tour
Once you get into the administration menu, you’ll find standard configuration items, such as network setup, time zone specification, password management, etc. Figure 3 shows disk state, both internal and USB.
Figure 3: TonidoPlug disk state.
In this case, the menu shows how much of the 512 MB internal flash I have remaining along with the state of the 16 GB USB stick I had plugged in. This menu also allows me to turn sharing on and off for the external drive.
Another feature found in the administration menus is media streaming. Figure 4 shows the setup screen where I’ve selected a directory to stream and turned on all compatibility options.
Figure 4: Tonido Media Streaming
How well this media streaming works depends heavily on the client that you’ll be streaming to, since some clients are more flexible with media types than others. Figure 5 shows a screen dump of my iPod Touch that I’ve connected to the Tonido streamer.
Figure 5: iPod access to the TonidoMedia streaming service
Where I used iPod compatible media, this service worked well. I could access my pictures, music and movies as expected. Nice.
Features – more
Once you’ve gone through the initial setup inside the administration menus, you’ll move on to creating a user account. Figure 6 shows the setup screen as I defined my initial user account.
Figure 6: User account creation
In addition to the standard name and password fields, an item of interest on this screen is the public URL. The TonidoPlug has a feature that allows you to access your Plug from anywhere on the Internet via a personalized URL. Note that when you do this, you’re utilizing the Tonido public web server to get to your data. This might make some people uncomfortable for a couple of reasons. One might be a privacy concern, but CodeLathe assures that they are just acting as a relay service back to your unit and all data will be encrypted if you utilize an HTTPS connection.
The other concern might be the fear that if you rely on this feature and CodeLathe folds up and goes away, you’ll be left without access to your data. As to this point, you’re not relying on CodeLathe to get to your data locally, and if you want to set up your own dynamic-DNS configuration and poke holes in your home firewall, you can get the same remote access.
Also note that CodeLathe specifies that this remote-relay service is free during their beta period, implying that this will be a paid-for feature in the future. This is not surprising, since when you relay through their servers, you’re using their bandwidth. However, with some of its competition like PogoPlug no longer charging a service fee, CodeLathe may decide to skip charging for relaying.
The other item of note when creating a Tonodo user, is that the ID you create can be a part of a larger Tonido network. If your friends, colleagues or family also use Tonido, you’ll use this ID for sending email, sharing files, backing up data etc. over what CodeLathe calls a Personal Cloud.
The Tonido OS that runs on the TonidoPlug can also run on Windows, Macs and Linux computers so you can form a heterogeneous cloud. If you want to try it out, download the Tonido application for free here. I installed the Mac OS version and created a two-instance “cloud” to test sharing between the platforms.
So once you’re logged in as a normal user, what capabilities do you have? Figure 7 shows the top-level user menu. (CodeLathe also has larger screenshots of many of its application screens here.)
Figure 7: Tonido main menu
This menu has a selection of links to commonly accessed tasks and also a link to a more “Advanced view” which I’ll use here as it’s a superset of the above menu. Figure 8 shows the advanced view menu.
Figure 8: Tonido Advanced view
This screen gives some general status messages, quick links to Tonido developer blogs, Facebook, etc. plus access to nearly all applications and functionality available on the device. The first area we’ll explore is the Settings menu (Figure 9).
Figure 9: Tonido Settings
The Settings menu holds numerous configuration items and displays for user account, activity, general status, network parameters, etc. The menu was somewhat confusing, as the settings for defining network ports, throttling network speed, viewing logs, etc. appeared to overlap with, or at least be better suited to, the administration configuration menu.
But in general, settings in this menu apply to the Tonido application itself vs. the administration menu, which contained settings that are usually relevant at the operating system and the physical TonidoPlug device.
The one glaring exception to this was the setup and configuration of the media streaming application that is found in the administration menu instead of the user menu where other applications are configured.
Moving back to the main menu from Figure 8, we’ll next dive into the Apps menu (Figure 10).
Figure 10: Tonido application management
As mentioned earlier, the Tonido platform is designed to be extended by the use of free or paid plugin apps that can be downloaded from the Tonido app store. In the out-of-the-box state, you’ll have access to a dozen or so apps not all of which will be enabled. For me, I used the Resume all Apps button seen above to fire everything up, but you can go down the list and pick and choose. I won’t have space in this review to cover all the included apps, but I’ll touch on some of the more interesting ones. For a complete list check out the list at the Tonido web site.
The first app I’ll explore is fittingly enough is the Tonido Explorer which is designed to allow you to browse the file system of your shared disk using your web browser. Figure 11 shows the basic display.
Figure 11: Tonido Explorer display
Using this interface, you can do basic file operations such as delete, rename, download etc. And you can also configure a directory for sharing over the Internet using the same web interface.
If you’re looking for a bit more functionality, you can move on to the WebSharePro that comes for free with the TonidoPlug but is a $14.99 add-on for other Tonido users. Figure 12 shows the WebSharePro interface for adding a new share.
Figure 12: Tonido WebSharePro interface for adding a share
Note the setup for Photo Gallery. This app has a built-in ability to process directories full of photos and present a gallery through the web interface. Where the standard TonidoPlug provides CIFS support for mounting a network share on your local network, this app brings support for WebDav, so you can mount the exported share as a filesystem across the Internet and access it just like a local drive.
I was able to mount my exported shares from both my Mac and my Android cell phone without problem. (mounting my home network share onto my cell phone over 3G. Wow! Strangely enough, my wife wasn’t impressed…) All modern Linux, Mac and Windows systems should support WebDav out of the box.
Another interesting app that comes with the box is a music Juke Box. Figure 13 shows the web interface of the app after it has cataloged a collection of music from my USB drive.
Figure 13: Tonido Juk music player
This app will allow you to access your music collection across the Internet for playback anywhere you have a Flash-enabled browser. iPhone and iPad browsers need not apply, since neither supports Flash.
If you need to perform backups of your data, there’s an app available for that. Figure 14 shows a menu where I am setting up a backup job.
Figure 14: Tonido Backup specification
The destination of the job can be either local, or it can be another Tonido instance across the Internet. I used it to backup one of my directories on the TonidoPlug external USB drive to a Tonido instance running on my Mac. But if you’re looking for a quick and dirty way to do a site-to-site backup without paying any monthly fees or trusting your data to the cloud, this is it.
If you’re into downloading large files via the BitTorrent protocol, you can use the Torrent app. Figure 15 shows the in-progress state of a Ubuntu download that I tried out.
Figure 15: Tonido Torrent Download
This worked well and was a nice way to manage a long-running download job via a fire-and-forget interface.
I also played a bit with the Photo app. As expected, this app allows you manage a photo collection and present a slideshow to users. Figure 16 shows the photo management page of the app.
Figure 16: Tonido Photo management
One interesting feature of the app is its sharing ability. You can set a group of users up and your photos will then be synchronized among the users, across the Internet, by physically copying the images to each Tonido instance.
Performance
Testing and analysis by Tim Higgins
So, we’ve seen that this little box is flexible enough to play a lot of different roles, but how about the basics? Can it perform the role of a simple home Network Attached Storage (NAS) device with an acceptable level of performance?
I ran our standard Vista SP1 file copy test that copies a directory containing slightly more than 4 GB of files of various sizes. The TonidoPlug was running 0.8.0.11504 firmware using an Iomega UltraMax Pro USB drive configured in RAID 0 and formatted with FAT and NTFS.
Test | TonidoPlug (MB/s) |
Pogoplug v2 (MB/s) |
Iomega iConnect (MB/s) |
Seagate Dockstar (MB/s) |
Seagate GoFlex Net (MB/s) |
---|---|---|---|---|---|
FAT Write | 12.2 | 4.9 | 17.4 | 11.0 | |
FAT Read | 23.9 | 10.6 | 23.2 | 34.1 | |
NTFS Write | 5.1 | 3.0 | 8.5 | 22.9 | 19.6 |
NTFS Read | 15.0 | 10.9 | 23.2 | 22.5 | 34.1 |
Table 1: Performance Test summary
Table 1 pulls together the TonidoPlug results with those from other Marvell "cloudplug" based products: the PogoPlug v2; Iomega iConnect (with Ethernet connection); Seagate Dockstar; and Seagate GoFlex Net. The first three products all used the Iomega UltraMax attached via USB for their tests, while the two Seagate Products used their supplied 2.5" hard drives via docked connection (USB 2.0 for the Dockstar, SATA for the GoFlex Net).
The real takeaway from this summary is the variation in performance obtained from essentially the same hardware. Writes using FAT-formatted drives have an almost 4-to-1 range and reads can double for USB-connected drives and triple for the GoFlex Net’s SATA-connected drive.
NTFS write performance shows that Seagate may be using an NTFS optimized driver (similar to QNAP’s use of Paragon’s driver in its NASes) vs. the open source version. And since many users like to move their drives between direct-connect and "NAS" use, CodeLathe would do well to work on goosing NTFS performance.
We (Jim and I) both wanted to see whether using an EXT2/3 formatted drive would improve these numbers. But, unfortunately, neither of us could readily lay our hands on one. We wanted to see if the TonidoPlug could approach the CTERA Cloudplug’s 23 MB/s write and read speeds with a USB-connected drive.
Under The Covers
Hardware-wise the TonidoPlug is composed of a 1.2 GHZ Marvell Sheeva / Kirkwood (88F6182) processor with 512 MB of Flash, 512 MB of RAM, Marvell 88E1116R Gigabit Ethernet and a single USB 2.0 port. In use, the box draws a paltry 3 W of power (not including hard drive consumption) while running silent and fanless.
It’s no secret that the TonidoPlug runs Ubuntu Linux, as it’s well documented. And there’s a SSH server running, so you can log in and see for yourself. Poking around verifies that the Plug has 512 MB of RAM, a 512 MB flash drive and the Linux kernel on the box is a relatively recent 2.6.31.
Having a command-line interface allows you to customize it even further if you want to do things such as tweaking the Windows file-serving parameters in the Samba configuration file or loading new packages.
I wanted a NFS filesystem for sharing, which wasn’t installed by default, so I set about doing an install. It should have been a straightforward apt-get, but one required directory wasn’t present. To fix that, I executed a quick mkdir -p /var/cache/apt/archives/partial, and then my apt-get ran to completion, giving me NFS capabilities. Of course, once you start making system changes, all bets are off with Tonido capabilities, so tread carefully.
If you want to make changes within the Tonido framework, or even develop your own pluggable app, CodeLathe has a free development kit you can download for building, deploying and even selling your app in their app store.
Closing Thoughts
I enjoyed working with the TonidoPlug. The combination of the TonidoPlug hardware and software brings a flexible and powerful capability to the table, while silently drawing the power of a night light. And since the appliance is easily extendable, using either the provided applications or via the Ubuntu/Debian apt-get package management system, it can be customized to your heart’s content.
If you’re primarily looking for an easily- managed NAS for file-serving on your home network, this isn’t the product I’d recommend, since its NAS features were fairly bare-bones and performance (write, especially) could be better. But if you want to try out this notion of a “personal cloud” to securely share files and collaborate with others, you can’t go too far wrong with a $99 investment in the TonidoPlug.