Saturday, July 20, 2013

Low Power, Small Form Factor, and High Utility Home Server - Part IV

Low Power, Small Form Factor, and High Utility
Home Server

Part IV

(Be careful.  This definitely voids your warranty.)

Part I:  Results Summary - and some pics
Part II: Back Story - Why the heck would you spend your free time doing this?
Part III: Build Detail
Part IV: Future additions

Part IV: Future Plans

Here are some other thoughts on next steps for this project.  
  • To Do:  OpenVPN server
    • Ideally I'd like to use this as an OpenVPN server.  
      • Benefits: PKI Certificates, Very Strong Encryption and Authentication, username, password and Google Two Factor Authentication!  Full L3 VPN tunnel with routed Tun interfaces.  Optionally TAP interfaces for a L2 VPN.
      • Cons:  Unfortunately the folks that compiled the linux kernel in the image I used didn't include support for Tun.
        • "zgrep TUN /proc/config.gz" gives me  "# CONFIG_TUN is not set".  :(
    • Since there's no support for Tun/Tap I openvpn won't start - rightly so as it'd be useless without it.  
    • Therefore my options are:
      • Compile a new kernel
        • not fun
        • time consuming
      • Run VPN elsewhere in my network.
        • Perhaps on my router?
    • I haven't decided which way to go yet, but I'm leaning towards the new kernel.  
  • To Do:  Make a backup of the microSD card using dd.  
    • I've been putting this off for quite some time.  But I think now is a good time as I've got it to a (somewhat) steady state.  
    • The data on the HDD changes slowly, but the microSD is fairly static at this point.
  • Future project modifications/fine tuning.
    • Case mod:
      • Initially when I put all the various components into the case, I (stupidly) had the power cord going out one end and the ethernet cable going out the opposite end.  This error wasn't immediately obvious to me as I was fighting with too long USB cables and not enough room in the case for them.  However, once I got it fully assembled I quickly realized my error.  Fortunately this was easily corrected and you can see the results here:

  • Heat sink for A10 Chip on MK802. [pick of chip]
    • When the MK802 was in it's original / fully enclosed state, it got quite warm.  See Video here.  I didn't measure mine, but 50 degrees Centigrade feels about right.
    • With the MK802's back cover removed and placed inside a larger, metal case, I haven't noticed any heat at all and it has been working well for a few weeks.
    • There have been a few heat sink mods done on the MK802, here's my favorite, but I'd probably only do the A10 SOC (System on a Chip).  This chip contains both the 1 Ghz CPU and the 500 kHz GPU.
  • Add Power Switch - I've got my eyes open for a nice little power switch for this project.  Once found, I'll be sure to integrate one into the back/exterior of the case.
  • Power Jack - I'll also add a power jack so that the power cord will not have to run interior to the case to be plugged in.
  • Do away with the power brick and run it from Power over Ethernet (PoE) from my switch.  
  • Power LED (maybe) - Also contemplating a simple power led (probably on the back) to indicate power-on status.
  • USB Camera - mjpeg streamer
EDIT: 7/27/2013
  • Added RS232 Serial Console - I thought it would be nice to have a good, old-fashioned RS232 Serial console on this little guy.  So I added a spare USB to Serial Adapter I had lying around: a Keyspan USA-19HS.  The process is very simple:  
    • Plug in USB to Serial adapter - kernel takes care of the drivers and you get /dev/ttyUSB0
    • A simple init script was needed to enable console logins on ttyUSB0.  


  1. why not use hamachi as the vpn? it's not supported on ios and android?

    1. I wasn't aware Hamachi VPN existed, but after you mentioned it the wikipedia page scared me off. "License = Proprietary". For me, Free and Open Source software (FOSS) is important. Probably as important as peer reviewed research is to a scientist. So, personally, I'll probably stay away from it. If you implement it, let me know how well it works.

  2. I use Hamachi on my Windows 7 boxes and my Ubuntu server (which holds my current NAS setup), makes it super simple to access my media from outside my home network while still being secure. I also run a VPN server on my DD-WRT enabled router, so I can access my entire network from anywhere with Internet access using my laptop.

  3. Hi there! You should really try Zero Tier VPN. Its very convenient.