rodolfo Posted July 12, 2016 Posted July 12, 2016 I've tested OPI ONE/LITE with moderate loads running stably from very modest power banks. The superior performance compared to RasPis ( ZERO/A+/B+/2 ) clearly make the OPIs the boards of choice. Good to know settings can be further adjusted from user space.
rodolfo Posted July 12, 2016 Posted July 12, 2016 Hmm... I'm somewhat sceptical since at least with RPi Zero you can decrease idle consumption a lot: https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=127210 Idle consumption is just perfect for the null use case RasPI Zero/ A+ are great as low power IoT gateways for sub-Arduino ATTINYs operating on watchdog. Higher up in the food chain OPIs deliver all the Linux fun at reasonable consumption. "Power on demand" for OPIs, idling at very low power and bursting to full blast when actually needed, is a very interesting strategy when running the boards from batteries. Thank you for the hints . 1
Per-Mattias Nordkvist Posted July 12, 2016 Posted July 12, 2016 Very interesting. Just to check. When running on full capacity on 4 cores whot temperatures are we speaking of, 60 degrees? What kind of heat sinks would you suggest for the Lite/One?
Tido Posted July 12, 2016 Posted July 12, 2016 What about temperature,if only one core is benchmarked? Does the Temperature read out differ if core 1, 2, 3 or 4 is benchmarked.
arox Posted July 12, 2016 Posted July 12, 2016 tkaiser said : "For RPi Zero exactly zero use cases come to my mind" Well, I have an old Raspi A that serve a dozen of relays, IR transmitter, buzzer, Bluetooth remote, and other goodies. A 80286 would do the job. Idem with an other Pi for a waker (lamp + buzzer + radio), and other for temp sensors ... So my personal use cases are low power, low consumption devices in a BT pan network. Ideally, I should use aduinos and mesh zigbee or z-wave network, but it would cost much more time and money ! So I am very interested in nanopi neo as RPI zero is so hard to find. Thanks for your work. Even if you dont have use cases for some cards, other will have the needs that match the specs. (I dont use a computer anymore but a network of arm nodes with specific roles : server, fw, desktop ...) 1
arox Posted July 13, 2016 Posted July 13, 2016 700 mW for a single device with its own PSU is good : small 5V PSU typically are rated 0.3 W consumption without any load and max 70% efficiency (only when power demand is near nominal power). Those who want to build a cluster (or a group of devices) should also invest in a good PSU to power the whole cluster + disk + hubs + goodies at around 80% of nominal power.
Ford Prefect Posted July 15, 2016 Posted July 15, 2016 Thanks for this nice work. It's a shame that most boards don't allow to make the best use of it with a battery connection.
arox Posted July 17, 2016 Posted July 17, 2016 "Different people, different needs!" Well, my first Unix workstation was a microVax (Digital Equipment). One tiny mips and it ran X11 ! My new H3 BPI boasts : SMP: Total of 4 processors activated (19200.00 BogoMIPS) LOL I should say my new BPI M2+ is not the best card I ever saw, but eMMC is very valuable. It replaces now a RPI-B as firewall/gateway with 10 times cpu power and IO bandwith but with half the consumption (2 Ethernet - GbE + USB, wifi, Bluetooth, no display = 2,5 W - PSU has 75% efficiency). The (2nd level) http proxy cache can now run on the gateway thanks to eMMC). I will test DRAM lower frequency after reinstalling the mail gateways. 1
arox Posted July 19, 2016 Posted July 19, 2016 Hi, I found I could spare 300 mW and 3° at idle by disabling 2 cpu, but I dont have any change by setting dram_clk = 480 in dram_para in script.bin. Did I miss something ? (BPI M2+ 3.4.112-sun8i #8 SMP PREEMPT Mon Jun 20 12:54:33 CEST 2016 armv7l ARMv7 Processor rev 5 (v7l) sun8i GNU/Linux stock kernel)
arox Posted July 20, 2016 Posted July 20, 2016 @tkaiser Thanks a lot. I spared another 200 mW and 3° ! I can now run my "gatekeeper" with less than 2W (no video, 2 cpu) - initially more than 5W with an (untuned) RPI-B with outdated software. Benchmarking performance in real world for my use case is not so easy and I have to think of a method. The usage is interactive (text filtering by privoxy) and the final result depends from network, and complex pipelining. I already found in first test that cpufreq governor parameters were optimal in armbian. Energy saving (and heat dissipation) is a complex matter anyway but not so important during winter ! As a matter of fact, I spare 20W by shutting down my ISP TV box and audio booster with relays, and I can spare much more by driving intelligently my central heating circulator. I would like to have humidity sensors everywhere in the house because a leakage can cost you up to 1000 times the cost of a card if you dont detect it. So my next project will be to find the best card for IOT projects, even if I must downgrade performance of a 4 core, 1,5 GHz, 1Go RAM card - as manufacturers are not so much interested in providing cheap and light solutions.
arox Posted July 28, 2016 Posted July 28, 2016 A quick test show that I can spare 150 mW by downgrading ethernet to 100 Mbits - witch is not surprising. (ethtool -s eth0 speed 100 duplex full). Modern switchs boast having adaptative power (with port usage and wire length). I use currently a 10 meters cable and will check the difference when I moved the swith and use shorter cable. But I dont expect a difference for BPI m2+ as the power consumption does not lower at idle when I unplug the cable.
cb88 Posted August 10, 2016 Posted August 10, 2016 Anyone wants to play a bit? Here are .debs of a patched kernel with DRAM clockspeed as low as 132 MHz: # cat lib/patch/kernel/sun8i-default/0028-h3-limit-dram-clock-to-132-mhz.patch diff --git a/drivers/devfreq/dramfreq/sunxi-ddrfreq.c b/drivers/devfreq/dramfreq/sunxi-ddrfreq.c index c7c20b7..7581087 100755 --- a/drivers/devfreq/dramfreq/sunxi-ddrfreq.c +++ b/drivers/devfreq/dramfreq/sunxi-ddrfreq.c @@ -1666,7 +1666,7 @@ static __devinit int sunxi_ddrfreq_probe(struct platform_device *pdev) if (sunxi_ddrfreq_min < SUNXI_DDRFREQ_MINFREQ_MIN) sunxi_ddrfreq_min = sunxi_ddrfreq_max / 3; #elif defined(CONFIG_ARCH_SUN8IW7P1) - sunxi_ddrfreq_min = 408000; + sunxi_ddrfreq_min = 132000; #else type = script_get_item("dram_para", "dram_tpr12", &val); if (SCIRPT_ITEM_VALUE_TYPE_INT != type) { Installation as usual -- unpack the tar archive and then do as root in the same directory: dpkg -i linux-headers-sun8i_5.17_armhf.deb linux-image-sun8i_5.17_armhf.deb Reducing DRAM clockspeed to just 132 MHz further reduces consumption. But performance is also affected of course. You would need to put the following to eg. /etc/rc.local or a cron job: echo 132000 >/sys/devices/platform/sunxi-ddrfreq/devfreq/sunxi-ddrfreq/userspace/set_freq 2>/dev/null Is this patch included in the armbian build tools or do I need to enable it somehow? I've just built armbian kernel images for my nanopineo on Devuan Jessie (yes I know it's unsupported but I got it working after some trial and error).... It appears from my logs that this patch is not applied to the kernel I just built. I'm wanting to build a specific SPI LCD driver into the kernel as well as use the lower memory clocks. Edit: never mind I didn't notice the file path you passed to cat above... I stuck it there and I expect that will work ;-)
rodolfo Posted August 25, 2016 Posted August 25, 2016 Just disabling GPU/HDMI for headless use works great for OPI ONE/LITE. A customized x2go LXDE-desktop on OPI ONE accessed via WiFi or LAN uses just 85M RAM and "idles" around 900mW (LAN) - 1200mW (WLAN). That's just fine to run the boards from dirt cheap 18650 power bank hacks with passthrough charging.
Teazia Posted August 26, 2016 Posted August 26, 2016 Very interesting information. Thank you for all this.
nematocyst Posted August 26, 2016 Posted August 26, 2016 I'm going to investigate thist stuff tomorrow, but I wanted to ask about my main usage case. I have an OjPi PC running a chess engine 24/7 on two cores atm, but could use 4 soon. Anyway, it does a LOT of idling, so I'd like to reduce power there if possible, but obviously when a game starts, it can require 100% DRAM and CPU for long periods. It doesn't think during the opening, and occasionally (due to the nature of chess engines) it is unable to come up with a move to ponder while waiting for the opponent. So it does sometimes go back to idle during a game, just not for long. I don't think a cron solution for DRAM will work in this scenario, but clearly reducing DRAM speed is desirable if it can kick back up when needed. I don't need any USB ports active, though it's in a location where it's rarely useful to use the box for fdisk or a TTL connection via screen. HDMI is off, but I don't think it's done in the fex file. It gets not much network activity, but relatively constant trickle. What do you think?
arox Posted August 26, 2016 Posted August 26, 2016 One funny thing with BPI m2+ is the drop in CPU temp when you lower ... Ethernet speed from 1000 to 100 Mb/s. Something like 1.5° if the card is in open air and 3° in a close case. (conditions : no heatsink, aluminium case, temp 41° at idle, 26° ambiant). So I would say the PCB is responsible for half of it. N.B. The effect is probably less important proportionally when temp raise at 60°+ in active computing.
Recommended Posts