📌 29 de Julho, 2012

Sheevaplug: The Good, Bad, and Unknown

ARM / Single Board Computer · Informática

📌 29 de Julho, 2012

Sheevaplug: The Good, Bad, and Unknown

ARM / Single Board Computer · Informática

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 gigabit networking, 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 box with everything inside it. Its design is very poor, you’ll find a lot of wasted space around the box / PSU and a PCB also poorly designed.

The PCB includes basic design mistakes, mostly components placed wrongly – such as the SD card – causing them to melt down. The SD Card is located near the ARM CPU that runs really hot and doesn’t have any cooler or heatsink… I had to replace SD cards on multiple occasions due to this.

  • Very old CPU

The 1.2Ghz Marvell Kirkwood 6281 seems a great choice but actually, it isn’t! This is an ARMv5 CPU so recent versions of Ubuntu or BackTrack 5 will not work because isn’t supported by the newer kernels anymore… So you’re stuck with Ubuntu 9.04 or Debian.

Personally this affected my ability to use the Aircrack-ng suite I also found that WiFi drivers are only available for the Alfa AWUS036H (RTL8187) and other common chipsets. Injection is only available on the latest Ubuntu kernel however its buggy.

There is no floating point around here, you can forget about encoding and decoding, math and all because it won’t perform 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 OS, debug it and work with the low-level stuff. 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 that worked 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 these boards meaning the information still available is very vague and outdated. 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 however… their server seems to use a very low bandwidth connection and you’ll have to wait hours to download anything. Even surfing their file directory takes ages!

The Unknown…

  • Debian ISC DHCP Server

The standard DHCP Server packed into Debian has some strange behaviourista, it won’t serve any IPs to clients other than iOS or Android devices. I tested the same config on a x86 machine and it was working correctly.

  • Reaver-WPS

This device could be great to use in WPS pen testing alongside the famous Reaver-WPS tool but for some reason, I can’t figure out, it doesn’t work. You can read my bug report here.

  • 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 older CPU. Pwini Express, works fine but you’ll quickly find out that you’re stuck with older versions of your favorite 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, 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.

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.

The only downside to consider here is that the RPi has a slower Ethernet port that is also shared with the USB bus making it kind of unsuitable for a NAS.

  • ODROID board (129$)

Need more power? 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. 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$).