I recently put in an order for the new Sheeva64 from GlobalScale last Monday, and received it on Friday. After using the SheevaPlug and DreamPlug by the same company I thought I would give this one a try. I believe the Sheeva64 was announced in February 2019 and began shipping April 2019.
Below are some detailed pictures of the exterior, I will be reviewing the interior in another post, but without further due, here is the new Sheeva64. It is very similar to the original SheevaPlug in design, and I will warn, the plastic where the screws are threaded in, if you take it apart (and cut your “void if opened” sticker) you won’t want to be opening it too often, the screws might strip out.
Anyway the screws are located under the four rubber feet on the bottom, you will be breaking the warranty sticker, by the way, but a “warrenty void if broken “sticker has never stopped us hardware people anyway… has it?
Clicking on the pictures should open the full resolution version.
First off I have been mostly successful with the Linux Gentoo install, and I am sure other flavors of Linux will work as well. The Sheeva64 plug computer ships with Ubuntu 18.04 pre-loaded.
While the SheevaPlug and DreamPlug are based on a 32-bit Arm core, the new Sheeva64 is based on a Arm 64-bit core, specifically a Marvell Armada 3720 SoC with 1GB of DDR4. The specs show the Sheeva64 can be configured with 2GB of DDR4, but only the 1GB DDR4 model is being produced now. Looking at the specs on this new chip it has two cores, and runs up to 1.2 Ghz, according to the web site at Globalscale Technologies in the link below. There are non-WiFi and WiFi models available. I mistakenly ordered the non-WiFi model so I will be making another order soon. The WiFi model looks impressive coming with Bluetooth as well.
Very impressive is the dual gigabit ethernet, directly connected to the CPU, not though USB, along with the USB3.0 port, which would make this ideal as a router or NAS server. Globalscale Technologies also has a product very similar to the Sheeva64, which was released quite a bit ago, the EspressoBin with specs located here.
The SoC is the exact same as used in the Sheeva64, however, the memory and other board configurations are slightly different. However, the EspressoBin should not be overlooked as a router or NAS server as well, the EspressoBin also has an SATA connection on the board and can achieve some fast transfer speeds, from what I have read. I do not have one of these, but I am really thinking of ordering some of the configurations sold and test them out, but this will be a topic for another discussion.
As with the SheevaPlug and DreamPlug, I installed Linux Gentoo on it, but, have not over-written the internal eMMC (internal SD). I have just edited the boot configuration in u-boot to boot off the external disk.
While I was successful in the Linux Gentoo install, I have not yet been able to build a working kernel (edit, kernel build has been successful, please see this post). I am now using the original kernel on the eMMC card and just changed the root to use the external USB hard disk as the rootfs.
There are several reasons for this, when doing a Gentoo install, it is built from source, and you really don’t want to be hammering a SD card, or eMMC memory with compiling, so an external rotating hard disk, that does not have a practical limit on writes, is more ideal for this task. Once the Linux Gentoo installation is finalized it will be stunk down and placed on the internal eMMC or an SD card.
Concerning booting off external USB devices… I am still confirming but I have had problems getting u-boot to wait long enough for the external hard disk to spin up before detection. It is just a little too fast and won’t wait just a few more seconds for the USB hard disk to spin up before deciding nothing is connected. I am hoping to rebuild the u-boot boot loader and add in a delay.
So far I am impressed with the Sheeva64, its small form factor, and ability to just be plugged in anywhere, all self contained.
There is very little documentation out on these new Marvell Armada A3720 chips, and recovery information was very hard to locate, but I will be putting together a full set of instructions and downloads in another post soon. This will include some details of how the u-boot process works. The best (or worst) part about the single board computers from GlobalScale Technologies is that u-boot resides in some kind of flash memory (SPI in the case of the Sheeva64). This is good in regards that you have full access to rewrite any part of the boot loader and fix bugs… the bad news… you can brick (read semi brick) the device if you erase the boot loader residing in the SPI flash.
It took 3 days of hard work, but I have come up with a method to recover (read unbrick) the Sheeva64 from any state assuming no physical damage. This includes being able to recover from a corrupted u-boot and rewrite the internal SPI memory without opening or desoldering any chips. I will be making a separate fully detailed post with the full process of how to do this, but, it is very similar to how the EspressoBin is recovered (the CPU, SoC is the same Marvell Armada A3720).
Edit, finally got the recovery process documented and posted at https://www.drassal.net/wp/index.php/2019/12/04/sheeva64-recoveringreloading-u-boot-from-a-bricked-state/ if you run into any issues please leave a comment and I will try to fix the documentation.