Archive

Posts Tagged ‘armbian’

NanoPi NEO NAS Kit Review – Assembly, OpenMediaVault Installation & Setup, and Benchmarks

June 18th, 2017 55 comments

NAS Dock v1.2 for Nano Pi NEO / NEO 2 is, as the name implies, a complete mini NAS kit for 2.5″ drive for NanoPi NEO or NEO 2 board. The NEO 2 board is strongly recommended, since it’s not much more expensive, but should deliver much better results due to its Gigabit Ethernet interface. I’ve received two of those kits together with several other boards & accessories from FriendlyELEC, and today I’ll show how to assemble the kit, configure OpenMediaVault, and run some benchmarks.

NAS Kit V1.2 Assembly with NanoPi NEO 2 Board

The only extra tool you’ll need is a screwdriver, and potentially a soldering iron as we’ll see further below.
The metal box is stuff wih accessories so the first thing is to open one or two sides to take out the content. We have the mainboard, NanoPi NEO back plate, NanoPi NEO 2 back plater, a heatsink and thermal set, and a set of 5 screws to tighten the hard drive which mean there’s one extra screw. FriendlyELEC always adds extra screws, and I find it’s a nice touch, as it can be a real pain if you happen to lose one.

Click to Enlarge

Let’s have a closer look at the “1-bay NAS Dock v1.2 for NanoPi NEO/NEO2” board. We have a UAS capable USB 3.0 to SATA brige chip between the two header for NanoPi NEO board (note that the USB connection will be limited to USB 2.0 since the board only supports that), an LED, a USB 2.0 host port for a printer, WiFi dongle, or webcam, the power switch, the power jack, a 3-pin serial header, an I2C connector for Grove modules, and of course the SATA connector.

Click to Enlarge

There’s not much on the other side of the board, except a CR2032 battery slot for the RTC.

Before going further, you’ll need to go to the Wiki, and get the latest OpenMediaVault firmware, in my case nanopi-neo2_debian-nas-jessie_4.11.2_20170531.img.zip, which I then flashed with Ether program to a micro SD card..

Once this is done, install the heatsink and thermal to your NanoPi NEO 2 board, and insert the micro SD card into the board.

Notice that I also soldered the headers. While it would be obvious to people would have looked at the pinout diagram, I’ve read some people have justed connect the board using the (pre-soldered) 4-pin header, as they may have believed it was a USB header, but it’s just the serial console instead, and obviously the hard drive was not detected. If you don’t feel like soldering the headers to the board yourself, make sure you tick the option “with pin headers soldered” when ordering. It just costs $1 extra.

Now we can insert our board into the “1-bay NAS Dock” board, instead the hard drive, and optionally an I2C module. I connected an I2C OLED display i the picture below for illustrate, as using the display would require cutting out the case. Some people may want to connect an I2C temperature sensor instead.

Click to Enlarge

I used four screws to tighen the hard drive on the other side of the board, and install a CR2032 battery for the real-time clock.


Finally, you’ll need a 12V power supply with at least 1A, but I could not find any (safe) spare ones so I used Maxoak K2 power bank instead, since it can output 12V @ 2.5 A max.


OpenMediaVault Setup on NanoPi NEO 2 Board

So I connected everything, and applied power, but the board would not boot with the Ethernet Link LED blinking in a regular fashion, meaning something was very wrong. So I took out the board, and connected a serial debug board, connect to the console via minicom using 115200 8N1, and that’s what I got:

The boot was just stuck there. I re-inserted the micro SD in my PC, and I could see both boot and rootfs partitions, so everything looked good.
Then I powered the NanoPi NEO 2 board with a 5V/2A power supply only, and the boot succeeded:

Then I went back to the 12V power input on NAS Kit with the power bank and the boot succeeded. Very strange. It turns out the board would not boot most of the time, but the symptoms are not reproducible 100% of the time. This kind of random behavior is usually a timing or distorted signal issue. So I thought the micro SD card might not play well with the board, and the power bank signal might not be so clean. So I first flashed another micro SD card, but same results. I used another 12V/5A power supply, and it did not really help either. Finally, I used another NanoPi NEO 2 board and it appears to be stable.

You can find the board using FriendlyELEC.local if bonjour services are running in your computer:

Alternatively, you could check out the IP address in other ways. In my case, I just type friendlyelec.local in Firefox to access the web interface. The default username and password are admin and openmediavault.

Click to Enlarge

After login, you can access the dashboard showing system information, and which services are running. You may want to disable the services you don’t need.

Click to Enlarge

You can go to Storage->Physical Disks to check if your hard drive has been detected. No problem for me here with a 931.51 GiB drive detected.

Click to Enlarge

You may then want to setup a fix IP address. There are various ways to do this but I went to Network->Interfaces and set eth0 to a fixed IP address. You’ll be asked to apply the changes once it’s done.

Click to Enlarge

I also changed the hostname to CNX-NEO2-NAS in the General tab.

After that I decided to address some security issues. First by changing the administrator password in General Settings->Web Administrator Password.

I then went to Access Rights Management->User to find out there were two pre-configured users: pi and fa. I deleted fa user, changed pi’s user password, and added it to ssh group. It’s actually even probably better to just delete both user, and create your own.

The root user is not shown, but you’ll want to login as root through ssh first and change the password, as the default password is fa. Once it’s done, you’ll have better security, and your system should not be easily accessible via basic “hacks”. For more security, you’ll still want to install an RSA certificate. A self-signed one should do if you plan to use it only in the local network, but you may also consider a free Let’s Encrypt certificate instead.

We can now take care of the hard drive. I went to Storage->File Systems, and clicked on +Create file system which will let you choose between BTRFS, EXT3, EXT4, XFS, and JFS. I’ve gone with EXT4 first.

Click to Enlarge

After a few minutes you drive should be formatted, so we can configure network shares. I want to use SAMBA and SFTP to transfer files for the purpose of this review, so I went to Access Rights Management->Shared Folders to add a new share called HDD for the root of of hard drive. You may want to add multiple share if you plan to split videos, documents, music and so on.

Click to Enlarge

I clicked Save, and selected ACL to add permissions to pi and admin users. You can add whatever users you plan to use to access the share.

Click to Enlarge

That share3d folder can now be assigned to the services you plan to use. SFTP is enabled by default when SSH is running, so I create a SAMA/CIFS share by going to Services->SMB/CIFS->Shares to add the share.

Click to Enlarge

Browsing the Network with Nautilus would show both cnx-neo2-NAS – SMB.CIFS and cnx-neo2-nas – SSH (SFTP) shares.

Configuration is now complete. I have not find a clean way to power off the system, so I normally open a terminal session via ssh and run the shutdown now command. A software button to turn of the NAS would have been a nice features on the kit.

I also often encountered the error “Software Failure. Press left mouse button to continue. Session not authenticated.” before the session timeout is set to 5 minutes. If you prefer a longer timeout, you can change it in General Settings->Web Administration.

In case you want to use the RTC, you may first want to set the timezone:

Check the date is correct, and write it to the hardware clock:

before reading it back.

You can test it by rebooting the board without the Ethernet cable:

Perfect! You’d just have to make sure the “set” command is run automatically at boot time if the time in the RTC is set. It would be good if FriendlyELEC updated their image to do that automatically at boot time.

NAS Dock V1.2 + NanoPi NEO 2 Benchmarks

Since I can now copy files and folders over SAMBA and SFTP, we can start running some benchmarks to evaluate performance. I’ll use EXT-4, BTRFS, and XFS file systems on the hard drive, and run iozone to specicially test storage performance, following by copying large and small files over SAMBA or SFTP to test real-life NAS performance. For large file copy, I’ll use a folder with 7 large files totaling 6.5 GB, and for small files, I’ve done a fresh checkout of the Linux kernel in my computer:

and removed symlinks since they may cause issues during copy, as well as .git directory with a huge 1.8GB file:

The end result is a directory with 64,013 files totaling 748.6 MB.

Iozone results

EXT-4:

BTRFS:

XFS:

I’ve taken results with 16384kB reclen for read, write, random read and random write values to draw a chart, since most people are likely going to store large files in their NAS. The smaller reclen could be interesting if you plan to handle smaller files.

All three file systems have a very good read speed of around 40 MB/s, but BTRFS write appear to be the fastest among the three, with EXT-4 being the weakest at around 25 MB/s. But for some reasons, those results are useless in practice, as we’ll see below. Finding out the exact reason would possibly require studying and profiling iozone and the kernel source code which would be outside of the scope of this review.

File copy over SAMBA and SFTP

Results for large files in minutes and seconds.

File Copy  Large Files SMB SFTP
Write Read Write Read
EXT4 02:49.00 02:40.00 03:54.00 04:15.00
BTRFS 03:20.00 02:40.00 03:48.00 04:32.00
XFS 02:45.00 02:38.00 03:36.00 04:23.00

Chart converted to MB/s.

Read and Write Speeds in MB/s

First, we can see very good read performance from the NAS (NAS to my PC)  with 41 to 42 MB/s close to the theorethical limit of a USB 2.0 connection. Write speed is a a little different as the files were transferred more slowly with BTRS, and around 40MB/s with EXT-4 and XFS.  Since SFTP is encrypted the transfer speed is roughly the same for all three file systems. Overall the file system you choose does not really impact performance with large files.

Results for small files in minutes and seconds.

File Copy  Small Files SMB SFTP
Write Read Write Read
EXT4 15:26.00 18:34.00 09:02.00 12:48.00
BTRFS 18:48.00 18:02.00 10:30.00 11:30.00
XFS 17:33.00 18:22.00 09:18.00 12:35.00

Chart converted to MB/s.

Transferring a large number of small files over SAMBA is really slow, and barely faster over SFTP. Again,there aren’t any significant differences between file systems here.  If you are going to transfer a large number of small file over the network, you may want to either compress the files before transfer, or compress the files on the fly using the command line:

It took just 1 minute and 49 seconds to transfer all 64,013 files, or over five times faster than SFTP write to XFS, at around an effective 6.86 MB/s. So knowing your tools may matter as much as having the right hardware.

I was going to run a last part after enabling optimizations provided by tkaiser, but it turns out FriendELEC has already done that in their firmware image.

If you want to reproduce the setup above, you’ll need to purchase NAS Kit v1.2 for $12.99, and a NanoPi NEO 2 with soldered headers for $15.99. If you don’t have a 2.5″ hard drive, you’ll need to add this, as well as a 12V power supply which you could purchase locally, or on FriendlyELEC website for under $10. All in all that’s cheaper than a similar kit with a Raspberry Pi 3 board, and you’ll get close to four times the SAMBA performance for large files since RPi 3 will be limited to 10 to 12 MB/s due to the Fast Ethernet connection.

ODROID-C2 Board Gets Experimental Ubuntu 16.04 Armbian Images with Linux 4.10

May 24th, 2017 5 comments

Hardkernel is doing a good job at providing working images with GPU / VPU support, and documentation for their ODROID boards. But while Exynos based ODROID-XU4(Q) boards already get firmware images with a recent Linux 4.9 kernel, Amlogic S905 based ODROID-C2 board’s Ubuntu 16.04 images still rely on the Linux 3.14 kernel released by Amlogic, plus various patchsets.

But we’ve seen BayLibre is working on a Linux mainline port for Amlogic processors, and Armbian community appears to have leveraged that work, and added Ubuntu 16.04 Server and Desktop images with Linux 4.10 to their build system. Those are experimental nightly builds so they may not have been tested, and it’s likely not working as well as the Ubuntu 16.04 “legacy” images released by Hardkernel. They are also not shown in Armbian ODROID-C2 page at the time of writing, but it’s a step in the right direction.

Helios4 Personal Cloud DIY NAS Supports 3.5″ Hard Drives, RAID, and More (Crowdfunding)

May 11th, 2017 34 comments

A few months ago, we covered GnuBee Personal Cloud 1, a NAS that runs on open source software, and that supports up to six 2.5″ SATA drives. The crowdfunding has been successful – after lowering the funding target -, and backers should hopefully get the NAS right after summer. But at the time, some people complained about the  memory capacity (512MB),  the lack of support for 3.5″ drives, and a few other items. A new project called “Helios4 Personal Cloud” addresses many of those concerns. It comes with 1 to 2GB RAM, enclosure supporting four 3.5″ drives, supports RAID, and is powered by Marvell ARMADA 388 processor that has been specifically designed for this type of application.

Helios4 NAS specifications:

  • SoC – Marvell ARMADA 388 dual core Cortex A9 processor @ up to 1.866 GHz with RAID5/6 acceleration engines, security acceleration engines, etc…
  • System Memory – 1 or 2 GB DDR3L
  • Storage – 4x SATA 3.0 ports, 2x HDD power connectors for 3.5″ drives using the provided DIY enclosure; micro SD slot supporting SDHC/SDXC cards
  • Connectivity – 1x Gigabit Ethernet
  • USB – 2x USB 3.0 ports, 1x micro USB port for serial console only
  • Expansion – 14-pin GPIO header, 4-pin I2C header which can be used for an LCD screen & control buttons.
  • Misc – 2x PWM fan headers + 2x fans provided with DIY enclosure
  • Power Supply – 12V/8A via 4-pin jack

The basic kit comes with an Helios4 board (shown below), 4x SATA data cables, 2x Molex to dual SATA power cables, and a 12V/8A power adapter. The full kit adds a case available in black or blue, two 70mm PWM ball bearing fan, and a fasteners set.

The NAS will support Armbian Debian and Ubuntu images, OpenMediaVault open NAS solution, and SynCloud open source app server. The developers (Kobol Team), based in Singapore, also promise to release software and hardware design files for the project. For now, they have Armbian build scripts, as well as Linux and U-boot source code on Github. The board has been designed in collaboration with SolidRun, which has experience with Marvell via their MACCHIATObin / ClearFog boards and system-on-modules.

The project has just been launched on Kickstarter, where Kobol aims to raise 150,000 SGD ($106,000 US). All prices are in SGD, but I’ll use the USD equivalent going forward. An early bird pledge of $125 US should get you the basic kit with 1GB RAM, while $149 is required for the 2GB version. If you want a full kit with enclosure, you’ll need to pledge $139 (1GB RAM) or $169 (2GB RAM). Worldwide shipping adds $39 or $43 for respectively the basic and full kit, even if you are in Singapore. Delivery is scheduled for September 2017.

No Case for Orange Pi Zero or Other Tiny Development Boards? No problem: Use an Old Mouse

April 11th, 2017 1 comment

There now plenty of tiny ARM Linux boards, which are normally sold without case, but usually it’s not to hard to find a 3D printed case. But if you have small board, and don’t feel to purchase a case for it, there’s an other solution: use an old mouse. That’s exactly what Slider2732 has done with his Orange Pi Zero board to convert it to a mini PC running Armbian, or a game console running RetroOrangePi. So after the keyboard PC, here comes the mouse PC!

So what did he exactly use for the mouse PC?

  1. Orange Pi Zero board
  2. An old Logitech mouse for the case and cable
  3. An 8GB micro SD card to flash the operating system
  4. A 4.3″ car reversing monitor (optional) acting as the display with composite input
  5. An Rii wireless keyboard/mouse, as the mouse function is not included with the mouse PC…
  6. A PAM8403 based 3W audio amplifier
  7. A 0.25W speaker
  8. Salvaged fan from an ATI graphics card + 32 Ohm resistor

You’ll have to find an old mouse with sufficient height, and cut plastic parts that get in the way. The mouse cable is used to carry power, audio and composite video in his setup, but you could customize it as you see fit. Note that you should get 6 wires in a PS/2 mouse, and only 4 wires in a USB mouse, so the older the better 🙂

You can find more details about the build in the video.

Via Hackaday.

Orange Pi Zero Plus 2 H5 Board Replaces Allwinner H3 by Allwinner H5 for $1 More

March 28th, 2017 20 comments

It’s hard to keep up, but Shenzhen Xunlong has launched another Orange Pi board, as two weeks after introducing Orange Pi Zero Plus 2 development board, the company has now introduced “Orange Pi Zero Plus 2 H5” board, with the exact same specification, except Allwinner H3 quad core Cortex A7 32-bit processor has been replaced by Allwinner H5 quad core Cortex A53 64-bit processor.

Orange Pi Zero Plus 2 H5 board specifications:

  • SoC – Allwinner H5 quad core Cortex A53 processor with 2+4 core Mali-450MP4 GPU
  • System Memory – 512 MB DDR3 SDRAM
  • Storage – 8GB eMMC flash + micro SD card slot
  • Video Output – HDMI port
  • Connectivity – 802.11 b/g/n WiFi + Bluetooth 4.0 LE (Ampak AP6212) with u.FL antenna connector and external antenna
  • USB – 1x micro USB OTG port
  • Camera – MIPI CSI port
  • Expansion headers – Unpopulated 26-pin “Raspberry Pi B+” header + 13-pin header with headphone, 2x USB 2.0, TV out, microphone and IR receiver signals
  • Debugging – 3-pin serial console header
  • Misc – 2x LEDs for power and status
  • Power Supply – 5V via micro USB port
  • Dimensions – 48 x 46 mm
  • Weight – 20 grams

Allwinner H5 is pin-to-pin compatible with Allwinner H3, so the PCB is exactly the same. The upgrade brings slightly better CPU performance, as well as – in theory – better GPU performance, but the latter might not be usable right now (in Linux) due to a lack of software support. Power consumption might be a little higher too (TBC).

The company claims support for Android, Ubuntu, Debian, and “Raspbian”, but I can’t double check since their website won’t load (yet again). Armbian will likely have Ubuntu Xenial nightly images with mainline Linux ready soon, like they did for NanoPi NEO 2 and Orange Pi PC 2, and while they are usable for some applications, you should not expect everything to work just yet.

The board costs just $1 more than the H3 version, as it sells for $19.90 + shipping on Aliexpress.

$18.9 Orange Pi Zero Plus 2 Board: Allwinner H3, WiFi + Bluetooth LE, HDMI and 8GB eMMC Flash

March 17th, 2017 24 comments

When will they ever stop? Shenzhen Xunlong has launched yet another Allwinner H3 board called Orange Pi Zero Plus 2, that has not that much in common with Orange Pi Zero, since it uses a different processor (H3 vs H2+), adds HDMI, and implements WiFi and BLE via an Ampak AP6212 module.Orange Pi Zero Plus 2:

  • SoC – Allwinner H3 quad core Cortex A7 processor @ 1.2 GHz with Mali-400MP2 GPU @ 600 MHz
  • System Memory – 512 MB DDR3 SDRAM
  • Storage – 8GB eMMC flash + micro SD card slot
  • Video Output – HDMI port with CEC support
  • Connectivity – 802.11 b/g/n WiFi + Bluetooth 4.0 LE (Ampak AP6212) with u.FL antenna connector and external antenna
  • USB – 1x micro USB OTG port
  • Camera – MIPI CSI port
  • Expansion headers – Unpopulated 26-pin “Raspberry Pi B+” header + 13-pin header with headphone, 2x USB 2.0, TV out, microphone and IR receiver signals
  • Debugging – 3-pin serial console header
  • Misc – 2x LEDs for power and status
  • Power Supply – 5V via micro USB port
  • Dimensions – 48 x 46 mm
  • Weight – 20 grams

So the board is slightly smaller than Orange Pi Zero, and won’t have some of the WiFi issues with Orange Pi Zero with many re-transmit packets leading to a lower throughput. It still works through contrary to what some people claim. Software support for Orange Pi Zero Plus 2 should be the same as with other H3 boards including Android, Ubuntu, and Armbian builds.

Orange Pi Zero Plus 2 has started selling for $18.90 + shipping on Aliexpress.

Thanks to Aleksey for the tip.

NanoPi NEO2 Development Board Powered by Allwinner H5 64-bit ARM Processor Sells for $15

March 14th, 2017 48 comments

NanoPi NEO is a cool little board, and I’ve been using it with Armbian as a 24/7  MQTT + Domoticz server for several weeks without any issues so far. FriendlyElec has now an update with NanoPi NEO2 featuring Allwinner H5 quad core Cortex A53 processor instead of Allwinner H3 Cortex A7 processor, a faster Gigabit Ethernet connection, and a new audio header.

NanoPi NEO2 specifications:

  • SoC – Allwinner H5 quad core Cortex A53 processor with an ARM Mali-450MP GPU
  • System Memory – 512 MB DDR3
  • Storage – micro SD card slot
  • Connectivity – Gigabit Ethernet (via RTL8211E-VB-CG chip)
  • USB – 1x USB 2.0 host ports, 1x micro USB OTG port, 2x USB via headers
  • Expansion headers
    • 24-pin header with I2C, 2x UART, SPI, PWM, and power signals
    • 12-pin header with 2x USB, IR pin, I2S
    • 5-pin audio header with microphone and LINE out signals
  • Debugging – 4-pin header for serial console
  • Misc – Power and status LEDs
  • Power Supply – 5V via micro USB port or VDD pin on headers.
  • Dimensions – 40 x 40 mm

One of my reader (Willy) also noticed they included a low-profile Ethernet jack that was asked by some. The company provides an image based on U-boot + Ubuntu Core, as well as hardware and software documentation on their Wiki. That’s not the first Allwinner H5 board we’ve seen, as Shenzhen Xunlong introduced Orange Pi PC 2 at the end of last year, but NEO2 is the first H5 board in such as small form factor.

Software support for H5 was not quite that good last November, but now Armbian community has released nightly builds for Orange Pi PC 2 based on Linux 4.10, which do seem to work fine for headless operation, but there’s little hope to have Mali drivers, hardware video decoding, and HDMI audio output support any time soon. None of those should matter for NanoPi NEO2 since it does not come with any video output ports, and I’d expect Armbian images to be released for the board soon.

NanoPi NEO2 is sold for $14.99 + shipping together with 2×12 and 1×12 headers directly on FriendlyARM website. Note that the heatsink is not included by default, and depending on your target application you may want to spend the extra $2.97 to add the heatsink + thermal pad to your order.

$25 Orange Pi Win Development Board To Run Windows 10 IoT (and Linux, and Android)

March 13th, 2017 26 comments

Shenzhen Xunlong Software must already have over a dozen of Orange Pi boards, but this is not stopping them from launching more, and the company has just introduced Orange Pi Win, powered by Allwinner A64 processor, and beside supporting Linux and Android like other models, it’s rumored to run Windows 10 IoT too.Orange Pi Win specifications:

  • SoC – Allwinner A64 quad core ARM Cortex A53 processor @ 1.2 GHz with Mali-400MP2 GPU
  • System Memory – 1 GB DDR3
  • Storage – 2MB SPI flash, micro SD slot up to 64 GB, footprint for optional eMMC flash
  • Video Output / Display interface – HDMI 1.4 up to 4K @ 30 Hz with CEC 3D and HDCP support,, MIPI LCD interface
  • Audio – HDMI, 3.5 mm headphone jack, built-in microphone
  • Connectivity – Gigabit Ethernet + 802.11 b/g/n WiFi & Bluetooth 4.2 (AP6212)
  • USB – 4x USB 2.0 host ports, 1x micro USB OTG port
  • Camera – MIPI CSI interface up to 5MP camera, up to [email protected] fps video capture
  • Expansion – 40-pin Raspberry Pi somewhat-compatible header
  • Debugging – 3-pin UART header
  • Misc – IR receiver; reset and power buttons; power and status LEDs;
  • Power
    • 5V via power barrel or micro USB port
    • Lithium battery header
    • Power selection jumper (4-pin header)
    • AXP803 PMIC
  • Dimensions – 93 x 60 mm
  • Weight – 48 grams

Supported operating systems includes “Android 4.4, Ubuntu, Debian, Raspberry Pi image, and Banana Pi image”. The latter is possible since Orange Pi Win is quite  similar to Banana Pi M64, except it has less RAM. “Raspberry Pi image” likely means Raspbian with Linux + Uboot for Allwinner A64 processor, and Raspbian image for Raspberry Pi won’t work. Linux support should now be relatively good due to the work done on other Allwinner A64 boards such as Pine A64 and Banana Pi M64, and I suspect Armbian builds should come soon enough.

Windows 10 IoT is not part of that list, but should eventually be supported according to a forum post, and Shenzhen Xunlong confirmed it by email. Not really surprising considering Windows 10 IoT has been ported to Pine A64 and Banana Pi M64 boards. You can check officially supported Allwinner boards directly on Microsoft Azure IoT device catalog, and Orange Pi Win is not there yet.

The board has just started to sell for $25 + shipping on Aliexpress.

Thanks to Tomaz, Aleksey, and tkaiser for the tip.