Home > Allwinner H-Series, Debian, Hardware, Linux, Ubuntu > NanoPi NEO Board Gets Armbian Debian 8 & Ubuntu 16.04 with Linux 4.6 & 4.7 (Mainline), h3consumption Power Consumption Tool

NanoPi NEO Board Gets Armbian Debian 8 & Ubuntu 16.04 with Linux 4.6 & 4.7 (Mainline), h3consumption Power Consumption Tool

We’ve been blessed with a wide range of low cost Allwinner H3 boards thanks to Shenzhen Xunlong Orange Pi and FriendylARM NanoPi boards. Recently, armbian developers have been focusing on NanoPi NEO board, and they’ve now released Debian Jessie and Ubuntu Xenial with Linux 4.6.7 and Linux 4.7.2. The latter is mainline kernel with some patchsets for Ethernet.

FriendlyARM_NanoPi_NEO_BoardYou can download the Linux 4.6.7 based “beta” images from armbian NanoPi NEO page, and selected the “Vanilla” versions, then flash then one a micro SD card as you would normally do. Linux 4.7.2 based “experimental” images with USB OTG support and schedutil cpufreq governor can be found on the separate server in a temporary directory.

Thomas Kaiser explains further:

Ethernet and throttling are working (the latter not as efficient as with legacy kernel but at least it protects the SoC from overheating). Please note that all vanilla kernel images currently suffer from random MAC addresses on reboot so better choose a static IP address configuration. Also keep in mind that current cpufreq scaling settings in mainline kernel don’t know the 912 MHz operating point so with our default /etc/defaults/cpufrequtils contents you end up with 816 MHz max cpufreq (feel free to adjust, throttling works with these images).

You can test the schedutil cpufreq governor in Linux 4.7, by changing /etc/default/cpufrequtils to something like:


They have not released equivalent “Vanilla” images for Allwinner H3 Orange Pi boards, but I guess it will done once NanoPi NEO images are proven to be working reasonably. Eventually, you’ll be able to download the Linux kernel directly from Kernel.org for your Allwinner H3 boards. I’ve been told this won’t happen in Linux 4.8, but I’d assume Linux 4.9 or 4.10 are realistic targets.

Since NanoPi NEO board has been designed for IoT applications with low load too, armbian community has also investigated how to lower power consumption, and after finding that disabling Ethernet PHY saved 200 mW, and disabling HDMI and the GPU 210 mW, they created a new tool (bash script) called h3consumption, and working on all Allwinner H3 boards. You can find more power savings tips and h3consumption options in the forums.

  1. JotaMG
    August 23rd, 2016 at 21:35 | #1

    For a headless server, this FreeBSD 12.0-CURRENT image is probably a better choice:
    https://www.mediafire.com/folder/bfbs771c3ajar/FreeBSD

  2. tkaiser
    August 23rd, 2016 at 22:56 | #2

    @JotaMG
    Well, I really love FreeBSD on the NAS boxes (ZFS rulez 😉 ) but doubt that we’re talking about the same here. One thing is an idle OS, the other identifying hardware tweaks that improve performance and lower consumption (and to be able to easily adjust settings to your own needs!). On H3 performance depends somehow on lowering consumption since H3 tends to overheat (so by lowering Vcore voltage you lower chip temperature and increase performance when throttling starts).

    Same thing with hardware engines: Disabling GPU/HDMI does not only lower consumption by 210 mW, decreases SoC temperature by approx 4°C but does also increase memory bandwidth which is something you really want on every server. ‘True headless’ means disabling HDMI/GPU at the hardware level and not just disconnecting a display and logging in with SSH 😉

    I made a quick test with the FreeBSD image — consumption was a lot higher than with Armbian’s new optimized settings but I’ve already on my TODO to ping Jared MC Neill and tell him about our findings so FreeBSD on H3 boards can also benefit 🙂

    @cnxsoft: One of our devs implemented device tree overlays for Linux mainline kernel (4.6), we wait for him getting these patches applying cleanly against Linux kernel 4.7 since this is the more interesting version to test with (schedutil, USB OTG). The images released for NEO can be easily used on the other H3 boards that use the more primitive voltage regulator (Nano Pi M1, OPi One and Lite) — details in the forum thread you linkes to above.

    Next boards that will follow with mainline kernel (beta) support will be the various Fast Ethernet OPi variants that use the better voltage regulator (dynamic voltage frequency scaling being more efficient than on the aforementioned boards like NEO where only switching between 1.1/1.3V is possible) and finally the Gbit Ethernet equipped boards.

  3. tkaiser
    August 23rd, 2016 at 23:30 | #3

    [x] done notifying FreeBSD developers. Now investigating the FreeNAS/FreeBSD ‘big iron’ stuff: https://bugs.freenas.org/issues/5904#change-85693 (already working perfectly on a few Linux based Orange Pi Plus 2E working as fileserver mirrors on remote locations 😉 )

  4. JotaMG
    August 23rd, 2016 at 23:45 | #4

    tkaiser :
    … but I’ve already on my TODO to ping Jared MC Neill and tell him about our findings so FreeBSD on H3 boards can also benefit

    Thanks for that!
    I made my comment based not on the NEO images per se but on the quality of the userland apps, like Apache or databases (not to mention ZFS).
    I will not be surprised that in real life the FreeBSD image performs a little better.
    Also I have no doubt that your Linux images are more refined and probably will be one step ahead.

  5. Moises
    August 24th, 2016 at 01:11 | #5

    Thanks for this release, Armbian team is making an great work with this linux distribuition, should be the default linux distro for Shenzhen Xunlong Orange Pi and FriendlyARM.

  6. August 24th, 2016 at 01:22 | #6

    Which driver have you taken for the ethernet? I tried it a while ago, and it was unstable at best.

  7. Ondrej
    August 24th, 2016 at 07:52 | #7

    @zoobab

    This driver, by montjoie, is the latest: https://github.com/montjoie/linux/commits/sun8i-emac-wip-v3

    It needs some changes in device tree to work with linux 4.7.x

    I have it integrated in my branch here, with some other patches to enable USB OTG and dynamic voltage/frequency scaling: https://github.com/megous/linux/tree/orange-pi-4.7

  8. tkaiser
    August 24th, 2016 at 16:49 | #8

    @zoobab
    ‘A while ago’ things might have changed 😉 … the purpose of these test/beta images is to get feedback about situation now from different people than kernel developers. Armbian relies on Ondrej’s kernel branches and a few of our customers use GbE equipped H3 devices with 4.6.0-rc1 since 4 months — no complaints about network problems from them (I had concerns since with synthetic benchmarks/tests both performance and stability were a problem).

    BTW: ‘Server use case’ is an area where this whole consumption minimzation process we made now at Armbian gets somewhat absurd 🙂

    While it’s nice to be able to lower consumption of any of the GbE H3 boards (OPi Plus 2E or BPi M2+ in our case) by 800mW with h3consumption tool and legacy kernel we were able to replace a dozen of Synology NAS boxes (+50W with spinning disks) with these OPi Plus 2E or BPi M2+ running mainline kernel and using btrfs FS/RAID accross 3 64 GB Micro SD cards. For btrfs mainline kernel is mandatory and even if the boards run without Ondrej’s great throttling/dvfs patches and consume ‘way more’ (900 mW) than they would now it’s still a saving of +50W per installation 🙂

  9. Demetris
    August 24th, 2016 at 20:23 | #9

    Thanks @Ondrej ,
    it’s what i was looking for.
    Good job there

  10. tkaiser
    August 24th, 2016 at 22:35 | #10

    @Ondrej
    Just FYI: I let cpuburn-a7 run on a NanoPi NEO with 4.7.2 and your dvfs settings for 2 days. With current settings cpufreq switches constantly between 624 and 1008 MHz, the possible 816 MHz in between are never used. Also the voltage generator has to constantly switch between 1.1 and 1.3V 🙁

    An hour ago the NEO disappeared from network, unfortunately I forgot to prepare serial console access (I power it through FriendlyARM’s PSU-ONECOM connector and could not access serial console without cutting power to the board). So while your current dvfs/THS settings successfully prevent overheating (not exceeded 80°C) there’s still a lot of room for improvements 🙂

  11. PoV
    August 31st, 2016 at 02:43 | #11

    This is exciting news! Bargain H3 powered computers with nearly the mainline kernel!

    Thank you Armbian team for everything you do!

  12. mahesh nanavalla
    May 23rd, 2017 at 13:09 | #12

    What is nanopi neo login Details:

  13. May 23rd, 2017 at 14:06 | #13

    @mahesh nanavalla
    It depends. If you are using FriendlyARM’s Ubuntu image: pi/pi, if you are using armbian: root/1243.

  14. mahesh nanavalla
    May 23rd, 2017 at 18:13 | #14

    @cnxsoft
    Thanks,
    anyone tested USB OTG NanoPI NEO…
    can anyone sujjest how to enable Nanopi Neo as dual functionality..

    I am using armbian Armbian_5.27.170523_Nanopineo_Ubuntu_xenial_dev_4.11.1.img

  1. No trackbacks yet.