I have always loved the concept (single board computer) behind the Pi however in reality each release has let me down. Its lack of a Gigabit NIC (in addition to extremely slow transfer speeds) and inability to bitstream HD audio keeps me waiting for the next generation. That is until I ran across the ODROID-C2. It checks off both features and runs much faster to boot. Software support isn't nearly as strong as the Pi however with Ubuntu and LibreELEC (Kodi project) you have everything you need for either a "low-end" server or media client.
Now we are taking well under $100 so don't expect to be able to transcode multiple streams or flood your Gigabit network. Client wise with 4K and bitsteaming it can compete with the big boys. Let's take a look at the various pieces:
$47 - ODROID-C2 - Best suited as a media client
$5 - Case - most Pi cases will work although you won't have access to the SD slot
$7 - Power supply - Pi power supplies will work
$9 - 8GB microSD boot media - or use one you already have...
$4 - Shipping charges via ameriDroid.com
$72 Total investment (as of 6/7/2017) - accessories are available from the C2 link
$62 - ODROID-XU4 - Best suited as a low-end NAS or general purpose Apps
$7 - Case
$7 - Power supply
$11 - 8GB microSD boot media - or use one you already have... or upgrade to the much faster and more expensive eMMC storage
$6 - Shipping charges via ameriDroid.com
$93 Total investment (as of 6/7/2017) - accessories are available from the XU4 link
Assembly will take a good two minutes most of that looking for a screwdriver small enough for the enclosed screws to hold the motherboard and case together. Now that you have this beast together you'll have to decide what you want to do with it. In my case I decided to use it as a media server and once that was online I couldn't think of a reason not to use it as a client as well. I could have to a large degree combined both into one device but I decided I'd much rather keep them separate for numerous reasons and at their cost the advantages well outweighed the disadvantages.
- Amlogic ARM® Cortex®-A53(ARMv8) 1.5Ghz quad core CPUs
- Mali™-450 GPU (3 Pixel-processors + 2 Vertex shader processors)
- 2Gbyte DDR3 SDRAM
- Gigabit Ethernet
- HDMI 2.0 4K/60Hz display
- H.265 4K/60FPS and H.264 4K/30FPS capable VPU
- 40pin GPIOs + 7pin I2S
- eMMC5.0 HS400 Flash Storage slot / UHS-1 SDR50 MicroSD Card slot
- USB 2.0 Host x 4, USB OTG x 1 (power + data capable)
- Infrared(IR) Receiver
You will need a few utilities to get started:
7-zip - Uncompress installation files
Win32 Disk Imager - Create installation flash drive | Also used for backup/restore
PuTTY - Remote access via Windows
vi - Text editor overview
As a media server I choose Ubuntu. Sure it's not as simple to install as the the one-click customized server "packages" Which makes installation and configuration perhaps a little more difficult but you gain the complete power of Ubuntu. Not a subset of this or that feature rather the ability to use all of its resources. This also comes in rather handy when you are trying to resolve an issue. There is strength in numbers and when you are trying to figure this or that out a Google search will almost always reveal the solution.
I used the following links/steps for reference during installation and configuration:
- Download Ubuntu - I use minimal (headless)
- Use fixed IP address - or assign via your router
- Add user "adduser media" - change shared drive(s) directories to this owner & group
- Configure/auto mount external drives - if your drive has data you want to keep be sure to skip creating the drive steps! - run "tune2fs -m 0 /dev/sdX1 to set reserved disk space to 0". (UUID=364e6263-2e2a-4d39-9982-3c5e3559bae8 /media/drives/drive0 ext4 errors=remount-ro,noatime 0 1)
- Install Samba
- Install MySQL Server - C2 only - before installing change setenv mesontimer to "0" in /media/boot/boot.ini and reboot - need to do this each time the kernel is updated (writes a new boot.ini) - per the LINK the actual file for my.cnf is /etc/mysql/mysql.conf.d/mysqld.cnf
- Set MySQL kodi's password
- Install CUPS
- Allow remote CUPS administration
- Plex Media Server on the XU4 - I haven't tried PMS on the C2
- NFS (file sharing) - see related info below
- edit /media/boot/boot.ini (XU4) to set CPU speed - "ondemand" stops the fan from cycling versus "performance"
# --- CPU Governor Setup ---
# Uncomment only one line. New governor is set after 90secs after boot.
# - Performance (Keep all the CPU's at Maximum frequency)
# setenv governor "performance"
# - Ondemand
setenv governor "ondemand"
- /media/boot/boot.ini - (C2 only) set mesontimer to "0" - enables MySQL Server to install and run (needs to be redone after kernel update when boot.ini is overwritten)
Points of Interest:
- Android OS is available
- The ODROID-C2 uses less than 2 watts at idle and tops out at 5 watts - my external drives auto sleep after x minutes
- (C2 only) /media/boot/boot.ini - set nographics to "1" to disable HDMI graphics - remote access only (reduces power usage)
- To backup insert the SD card into a Windows PC, run Win32 Disk Imager, select a filename to save as and click on Read
- To restore insert the SD card into a Windows PC, run Win32 Disk Imager, select your backup (file) and click on Write
- (C2 only) - You can manually configure the CPU speed and number of cores... to a large degree
- Access floats around 35-40MB/s (90MB+/s for XU4/USB 3.0) for reads and writes to USB drives (USB 2.0 bottleneck)
- Backup/sync - rsync -avr /drives/drive0/ /drives/drive1 & - & places the process in the background, a = keeps date and permissions, v = verbose and r = recursive - add the n option if you want a "dry-run" to see what changes will occur (use --delete) to delete files no longer in the source directories
- Disk image - dd if=/dev/sda | gzip > /drive0/backup/image.gzip - you can use dd to create a img of your boot drive by replacing /dev/sda (fdisk -l) with your boot drive and changing /drive0/backup to point to your externally mounted drive. Copy the file to your PC (via samba) and use Win 32 Disk Imager (after uncompressing) to restore
- /etc/exports - /drives/drive0 192.168.1.0/24(rw,sync,no_subtree_check,insecure) - These surely aren't the best options but they are working at the moment
- /etc/fstab - 192.168.1.10:/drives/drive0 /nfs/drive0 nfs noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0 - Again these probably aren't the best options but they are working
I installed Ubuntu 16.04 LTS. Configured one auto mount external drive and one manually mounted external drive (for backup). Installed Samba and MySQL Server for Kodi clients and just for fun the print server. The above certainly isn't a walk-thru but does cover a couple of gotchas I ran into. Without them I'd guess roughly 4 hours for a geek and 2 hours if you have heard of Linux.
Performance wise it is slower than most NAS or HTPC boxes but more than fast enough to serve several clients concurrently. For me the print server works wonderfully. Windows jobs are instantly queued whether the printer is on or off. The moment it comes online they are spooled.
When you get a configuration you are happy with insert the flash drive into your PC and use Win32 Disk Imager to back it up. You can always "go home again" if you mess things up... simply restore the image to the flash drive.
Not sure I need to post anything here as the process couldn't be much easier. Again the ODROID-C2 supports HD audio bitstreaming and has plenty of power to handle the various video codecs. The C2 is officially supported by Kodi/LibreELEC which ensures ongoing updates and compatibility.
- Download the LibreELEC USB-SD Creator
- Run the creator on your PC
- Insert the flash drive into your C2 and boot!
Points of Interest:
- Android OS is available
- HD audio bitstreaming support
- The C2 has a built-in IR sensor that I haven't used and know nothing about (perhaps I'll update this later)
- If you are looking for a IR sensor try this - very powerful and I have used it for years with all types of hardware
How About a Faster Server
Want more power and USB 3.0? Take a look at the ODROID-XU4. You'll also be adding a fan and losing a lot of Kodi support such as bitstreaming HD audio. You can swap the fan for a heatsink but the CPU will step down once it heats up. From experience if you set the CPU governor to anything other than performance (see above for details) the fan won't spin and you won't lose any performance as it will "step up" when needed.
If you are all in serving this is a valid option. Ubuntu is supported and you should be able to flood a Gigabit network. What's another $30?
After using the C2 as a server for several weeks I took delivery of a XU4. Best way to describe the difference is like going from a Celeron to a i7. Real world usage is roughly two to three times faster and even on the client side it is instantly noticeable. Streaming files jump to the screen and moving around is effortless. Not quite flooding my Gigabit network (90+MB/s) however I haven't done any tweaking yet...
New passive cooling model has been released.
- Samsung Exynos5422 Cortex™-A15 2Ghz and Cortex™-A7 Octa core CPUs
- Mali-T628 MP6(OpenGL ES 3.0/2.0/1.1 and OpenCL 1.1 Full profile)
- 2Gbyte LPDDR3 RAM PoP stacked
- eMMC5.0 HS400 Flash Storage
- 2 x USB 3.0 Host, 1 x USB 2.0 Host
- Gigabit Ethernet port
- HDMI 1.4a for display
- Size : 82 x 58 x 22 mm approx.(including cooling fan)
Points of Interest:
- Android OS is available
- 70MB+/s write and 90MB+/s read speed
- Run Plex Media Server (http://www.htpcguides.com/install-plex-media-server-on-odroid-lubuntu-and-debian/) - enough power to transcode one stream concurrently
Another (newer) Faster Option...
The ODROID-HC1 is a XU4 with a lot removed and something added! What's added? A native SATA connector with a frame/heatsink designed to hold a 2.5" drive. What's missing? HDMI, eMMC, the external USB 3.0 ports (replaced by the SATA interface and Gigabit Ethernet), power switch and boot selector. Overall designed to be a headless NAS. Priced currently at $49.95.
For single drive storage this is an obvious winner over the XU4 and you can stack them via the Ceph filesystem (Ceph FS) to show as one volume. However I have had zero issues using USB 3.0 on the XU4 and it offers more storage flexibility (such as attaching a USB 3.0 drive for backup) so I'm up in the air. At this point I wouldn't swap my XU4 for a HC1. When they start shipping in September 2017 I'll take another look and see what's happening.
Close But No Cigar
Why wouldn't you use the C2/XUA as a server:
- Not as "idiot proof" as a dedicated NAS - arguably as stable and maintenance free once configured however you will have to invest some time in getting online
- USB (only) storage - I believe you can rig SATA drives although in most cases you are limited to USB and as such I wouldn't get too deep into ZFS/RAID/etc
- You intend to transcode video endlessly for multiple clients
Why wouldn't you use the C2 as a client:
- If you don't care about 4K and audio bitstreaming you might make a case for the Pi - it offers far better software support
The C2 is working so well now I've pulled my Dune Smart HD and Popcornhour A500 from my equipment rack and am using the C2 as my primary media player now.
For anyone looking to buy and can't decide between the C2 and Raspberry Pi... the much more powerful C2 has no problem flawlessly playing HEVC/h.265 content- the Pi's (even the latest Pi III) can's play HEVC/h.265.
- None at this time!
I'm running a XU4 as a file server and couldn't be happier. It performs the following...
- NFS file serving to Kodi clients
- MySQL Server for Kodi "shared" data
- Plex Media Server powerful enough to transcode one stream - clients include Roku and PC
- Print Server for Ubuntu and Windows clients
- Backup client shared/important data
- rsync offline backup
I'm running a C2 as a media client. It runs...
- LibreELEC (latest release)
Like to play but don't need a server or client? Take a look at ODROID Magaizine and you might find several compelling reasons to bring one online!
Can you guess which of the attachments have nothing to do with this "project"?.. just happened to be the next image on the roll.
52.9 KB Views: 226
330.7 KB Views: 394
388.9 KB Views: 385
516.2 KB Views: 6,009
21.7 KB Views: 5,994
290.9 KB Views: 337
658.3 KB Views: 6,556
792 KB Views: 5,766
7.3 KB Views: 5,482
9 KB Views: 5,503
53.5 KB Views: 5,332
18.8 KB Views: 4,312