Review by Gary, aka chunkyks
Thanks to some work I'd been doing, I found myself targeting the
SheevaPlug http://www.plugcomputer.org/ for a project, despite
not actually having one of these plugs myself. mp3car.com very
generously offered to send me one, as part of a process to
provide innovation grants to forum users. I cannot thank them
enough for the opportunity.
See this product on the mp3Car Store here.
I'm a long-term unix and Linux software developer, so anticipate
this review leaning in that direction.
Low Energy ARM chip [entire device is rated at 5W]
Small Form-factor [entire computer inside a regular sized power brick]
Comes with Ubuntu 9.04, but trivially reflashable
Communications with the outside world: Gigabit Ethernet,
USB2.0, SDIO. Also has a USB slave port as a serial console
512M DDR2, 512M Flash
Does exactly what you'd expect. No less, and probably a little more
Stock Ubuntu install.
Zero configuration. Out of the box it boots and can be logged into
There's an expectation that you are familiar with Linux.
Slow boot times and disk access
Lack of useful kernel modules in the box
Occasionally the plug feels warm to the touch
The Short Review:
I love this device, and everyone should get one. It's a fully
functional Linux box, and magically Just Works for all my needs.
See our forums for the Full review, details, and thoughts for the future and follow up with conversation
Right out of the box, it does exactly what I expect a modern
computer to do. You can log into it, install software from the
Ubuntu repositories, and run stuff on it. The software corpus
available for easy download is massive, and includes all the
usual development tools and user programs you'd expect or need.
The plug is running an ARM chip - as is common for low-power
embedded devices. The ARM architecture is a little bit different
from your typical desktop computer. To me, this is a Good Thing,
as I subscribe to the belief that portable code running on more
architectures is better than code that doesn't. [Notably, while
porting to other architectures, bugs often surface that otherwise
wouldn't have]. On the downside it means that occasionally, you
may find software that doesn't work for you on the plug. During
testing I found nothing I needed that didn't work immediately,
but the potential is there.
It's absolutely worth starting with the new plugger howto [http://www.plugcomputer.org/plugwiki...Plugger_How_To
] and making a couple system changes to ensure you won't run into
problems. There are apparently some situations where an
inopportune update immediately after getting the plug can render
it un-bootable. It's easily re-flashable, but it's a lot easier to
just edit a couple files first.
The plug wiki and documentation tends to assume that the user has
a certain level of familiarity with Linux or unix. Most notably,
the wiki in a few places [not the least of which is the new
plugger howto] just said ‚Edit this file, without further
elucidating. Anyone familiar with unix will recognize this;
editing text on unix is historically a matter of both holy wars
and extreme difficulty to the novice user. This reviewer has
edited the wiki to provide a little more help, but as a whole a
small amount of Linux knowledge is certainly helpful.
Something I haven't commented on up until now is that there's no
easy way to plug a screen into the Sheeva. This is self-evident
from looking at the device, but bears mentioning. I successfully
used remote X over ssh with the plug, but primarily the Sheeva is
a command-line device that you ssh into - again, a level of unix
familiarity cannot hurt.
Up to now, everything I've commented was things that are ‚good‚
in my view, but some of them may be perceived as problems. There
are a couple of real downsides to the plug:
Boot times are noticeable [on the other of 20-30 seconds, which
feels high for a small embedded device] and large un-cached disk
accesses tend to be pretty slow. This is because the plug uses a
file system called jffs2, which is very good for wear-leveling
and error handling in flash, but can be slow. There are good
alternatives [eg, ubifs], but switching to them again requires
re flashing the plug, something I will almost certainly be doing
in the near future. If you plan on doing a lot of disk writes, or
large disk writes [as I do], then it's definitely better to pick
up an SDIO card or a USB flash drive, and write to that. Those
are supported out of the box.
The plug feels warm to the touch. I believe it's still not using
much power, but there's obviously some inefficiency somewhere.
Some mp3car forum users have converted their plugs to run off 12V
as provided by their car, and apparently the new 12V PSU
dissipates less energy in the form of heat.
3.3 Running my own software
The specific goal for me on the plug is to run my pet project,
OBD GPS Logger. Due to past experience with portable code, I was
happy to see obdgpslogger build first time on the plug, after
installing the requisite tools [six packages plus their
dependencies, starting with what was in the box]. I didn't build
the GUI tools [no need for them here] but obdsim, obdgpslogger,
and the conversion tools worked immediately. On the CD in the
box, or for free download, are cross-compiling tools;
obdgpslogger also builds just fine using that environment.
One problem was that as it comes in the box, the Sheeva doesn't
have the necessary kernel modules [aka ‚Äúdrivers‚Äù] that an mp3car
reader might need; specifically, ftdi for an OBDPro scantool [http://www.obdpros.com/
] or similar, or any bluetooth modules. Since the OBD devices I
have are all either ftdi or bluetooth, this was an issue. This
has been discussed on the Sheeva forums [http://plugcomputer.org/plugforum/index.php?topic=84.0
], where the best [only] proposed answer was to reflash the
kernel on the device.
While that's not difficult in practice, that's kinda fearsome to
someone unfamiliar with Linux or serial consoles. I came up with
a somewhat different solution to the ftdi problem: I wrote a
small userland tool using libftdi [which is available in the
Ubuntu repositories] to proxy my ftdi device to a unix
pseudoterminal. At time of writing, it's not fully working with
obdgpslogger yet, but it works enough to access my OBDPro
Overall, I found the Sheeva a fantastic tool; it really is a
complete Linux system that does everything I need.
4 Future Uses
In writing this review, I found myself coming up with various
ideas for using the plug, beyond a simple host for obdgpslogger.
Of particular interest is that it's simply a low-cost device that
you can run always-on and always-connected-to-the-internet for
cheap. For want of a number, a quick back-of-the-envelope
calculation says that it costs me about 1.7 cents per day to run,
or about six dollars a year... and I live in a part of the US
where electricity is relatively expensive.
Some food for thought for others picking up one of these plugs:
Webcam. The plug can run a webcam and either host a live
stream, or regularly upload photos to another site. Great for
those of us with jobs and dogs. This way my power-hungry
desktop can remain asleep during the day and I can still watch
Storage server. Plug a huge external hard drive into it and use
it for network attached storage. Typical uses might include a
streaming server for a PS3 [using the fantastic mediatomb http://mediatomb.cc/
a backup server, or a bittorrent tracker or downloader.
Combine a few of these things and you get:
Leave an RSS reader running on the plug all day, reading
streams from torrent sites and automatically downloading
things you like. When you get home in the evening, turn on
your TV and PS3 and start watching. Imagine if your cable
company's on-demand didn't suck - that's what this is.
In the past, I've used squid to block ads and as a network
cache; the Sheeva is perfectly placed to handle that. Nowadays,
fast internet and intelligent browsers make a lot of that moot,
but squid can still pull off some pretty neat tricks.
Home automation. It's nice to have something you can ssh into
before leaving work, perhaps to start a coffee machine or
something. The Sheeva could perhaps control some X10 devices.
For people interested in a whole new worldview of instant
messaging, the Sheeva makes a great Bitlbee server.
Similar to DD-WRT, it's not hard to imagine complete images to
flash to the device. The RSS-bittorrent-PS3 configuration above
could easily be prepared to an image, and have end-users simply
download and flash the whole bundle.
On the topic of DD-WRT, some people don't like to reflash their
wireless routers or similar devices; the Sheeva could run all
the services you otherwise would have liked your wireless
router to do [such as DHCP with static allocation - the main
reason I upgraded to DD-WRT in the first place]
See this product on the mp3Car Store here.