Sheevaplug: The Good, Bad, and Unknown

29 de Julho, 2012

ARM, Informática, Single Board Computer

A month ago I decided to give a try to Sheevaplug, the so great single board computer from Marvell.

The Sheevaplug is a very small embedded computer (actually one of the first such computers on the market), running a 1.2 GHz Marvell Kirkwood 6281 ARM-compatible CPU. It can run Linux distros based on Debian such as Ubuntu (up to version 9.04) and features basic network connectivity, USB, and an SD card slot.

This device seemed the ultimate low footprint and portable Linux box to carry around in pen testing, data storage at home etc… using pwnie express suite or Debian with a few tools.

The Specs

  • CPU: 1.2 GHz Marvell Kirkwood 6281 (ARM) L1: 16K L2: 256KB;
  • RAM: DDR2 400MHz, 16-bit bus 512MB DDR2;
  • Storage: 512MB NAND, SD Card Slot;
  • Power input: 100-240VAC/50-60Hz Max. 20W;
  • Connectivity: 1x USB 2.0, 1x Gigabit Ethernet, JTAG, Debug Interface via USB.
  • Dimensions: 110mm (L) x 69.5mm (W) x 48.5 mm (H).

The Good…

  • Very small and low power consumption for a “computer” capable of running a full-featured Linux;
  • The possibility of expanding the internal storage a lot via SD card slot;
  • Enough CPU power and RAM for most tasks,
  • Can easily run a network share and a VPN server, a torrent client and some other things that usually take a standard computer to run.

The Bad…

  • Power supply (PSU)

The standard PSU packed on the Sheevaplug has a long history of issues, if you search around you’ll easily find people complaining about PSU burning, breaking their boards or just malfunctioning.

Some companies that sell Sheevaplug nowadays, tried to improve the PSU but the problem still remains. From personal experience, I can assure you that it’s better to run it with an external power supply.

  • Mechanical design

Sheevaplug is just a small white plastic box with everything inside, but its design is very poor starting with a lot of wasted space in the plastic box around the PSU and ending up in PCB design.

At the PCB you can easily spot design mistakes like components placed in wrong places causing them to melt down. The best example is the location of the SD Card slot: it’s located near the ARM CPU that runs really hot and doesn’t have any cooler or heatsink… I had to replace some SD cards because they just stopped working after a few hours. The device is not properly cooled too and the CPU runs really hot without any proper heatsink.

  • Old CPU (almost useless)
An ARM like 1.2 GHz Marvell Kirkwood 6281 seems a great choice but actually, it isn’t! This CPU is ARM compatible ARMv5 only, new Ubuntu, Debian, BackTrack 5 or other will not work because this CPU is not supported by the new kernels anymore… So you’re stuck with Ubuntu 9.04.

Since you’re using an old kernel, you can’t do everything you want with the Aircrack-ng suite, you will only have wifi drivers for Alfa AWUS036H (RTL8187) and other common chipsets. Injection is only available on the latest Ubuntu kernel and its buggy.

Also, there is no floating point around here, you can forget about encoding and decoding, math and all because it won’t work fine…

  • Old, useless tools, unavailable documentation…
Marvell and others decided to take down the most of the useful documentation regarding how to install a new SO on the Sheevaplug and how to debug it and work with the low-level stuff, so you will end up wasting lot’s of time trying to figure out how to make it work properly…
Most of the debug and installation tools work back in the day (2009 — when Sheevaplug was released) are useless today and you need to do everything manually or set up your own scripts if you’ve to deal with a lot of devices.
  • No support of any kind, not even community
With the documentation takedown, people stop buying and using the Sheevaplug meaning there aren’t so many support forums available and the information there the very vague and old. If you have a problem you’ll have to fix it by yourself.
  • sheeva.with-linux.com: Your source for kernels…
These guys are the only ones running a mirror with compiled kernels and boot images for Sheevaplug and similar devices but… their server seems to use a very low bandwidth connection and you’ll have to wait hours to download a kernel and a boot image… Even surfing their file directory takes ages!

The Unknown…

  • Debian ISC DHCP Server
The standard DHCP Server packed into Debian have some strange behaviours, it won’t serve any IPs to clients other than iOS or Android devices. We tested the same config on a computer running Debian it was working correctly.
  • Reaver-WPS
This device could be great to use in WPS pen testing with the recent and famous Reaver-WPS tool but for some reason, I can’t figure out it doesn’t work too. You can read my bug report here, so far without any answers.
  • BackTrack 5, pwnie express suite, and pen testing…
Thinking about running BackTrack 5 or similar for pen testing? It won’t work. The ARM build of BT5 is not compatible with this old CPU. Pwini Express, works fine but you’ll quickly find out that you’re stuck with old versions of your favourite tools.

Alternatives? 

There are some really great boards that can replace Sheevaplug, you can check a very good comparison between them here from raymii.org website.

 

  • Raspberry Pi (35$)

Broadcom BCM2835 system on a chip which includes an ARM1176JZF-S 700 MHz processor, VideoCore IV GPU, 256MB of RAM, HDMI with full-hd output, USB, standard 3.5mm headphone and microphone jack, 100 Mbps Ethernet port and an SD card slot for primary storage.

This board is actually what I can see as a perfect replacement for Sheevaplug, it’s very cheap it also features a GPU and it can do almost everything Sheevaplug can for just 35$! This a recent project and there’s a lot of community support and the hardware is fully open source so you don’t depend on any company like Marvell to keep the board useful and up to date.
  • ODROID board (129$)
Need more power? Think Raspberry Pi is not enough? Well… this board comes with an impressive hardware spec-sheet similar to “Samsung Galaxy SIII”, an ARM 1.4 Ghz quad-core Samsung Exynos 4412 CPU, 1GB RAM, Mali-400 GPU, onboard Android 4.0.4 ICS (also supports Ubuntu 12.04), 6 USB 2.0 ports, micro USB port, micro HDMI port with full-hd 1080p video output, standard 3.5mm headphone and microphone jack, 50pin IO expansion port, 100 Mbps Ethernet port and an SD card slot for storage. The best part the board is available for just $129. Don’t think twice! Go get it and run everything you want – from the latest Android builds to the greatest Ubuntu 12.04!

Conclusion

Sheevaplug was one of the biggest disappointments I’ve ever had in this kind of hardware… if you want a very small Linux box save your money, don’t buy Sheevaplug because it’s USELESS.

If you want to do pen testing, run new Linux systems or have general UNIX fun you should get an ODROID board (129$). If you just want something small and quick to run a network share and a VPN get a Raspberry Pi (35$).