user283746 Posted May 14, 2018 Posted May 14, 2018 I have a rev 1.4 Orange Pi Zero that overheats. I've confirmed this by touch and know it's a known problem. On the legacy kernel, setting CPU to 800 Mhz and RAM to 300 Mhz used to keep things cool. (e.g. "sudo h3consumption -m 800"). h3consumption doesn't exist on 4.14 kernels, so how do I underclock?
chwe Posted May 15, 2018 Posted May 15, 2018 edit: /etc/default/cpufrequtils (max cpu speed) followed by: /etc/init.d/cpufrequtils restart should do the job... But figure out why it overheats might be also interesting?
guidol Posted May 15, 2018 Posted May 15, 2018 4 hours ago, chwe said: But figure out why it overheats might be also interesting? maybe because its a rev 1.4 or a wrong read-out....
user283746 Posted May 15, 2018 Author Posted May 15, 2018 (edited) 15 hours ago, chwe said: edit: /etc/default/cpufrequtils (max cpu speed) followed by: /etc/init.d/cpufrequtils restart should do the job... But figure out why it overheats might be also interesting? Thanks, will try that. How do you under-clock the ram? I think that also contributes to the overall problem. Taking a step back, maybe dynamic frequency scaling is broken but IMHO the firmware should be using more appropriate values to match v1.4 board performance. I'm not sure if there is a proper way to detect v1.4 (or high temps or a broken temp sensor) Edited May 15, 2018 by user283746
user283746 Posted May 17, 2018 Author Posted May 17, 2018 @chwe Your CPU underclock instructions work and it helps to some extent. Board is still a lot warmer on newer software than legacy, so I'd also like to underclock the RAM. How do we underclock ram? FYI, I also changed the governor to powersave which also seems to help. For anyone more interested in governors here is the link to kernel docs. Documenting here for future readers, note that lines starting with # are commented out user@orangepizero:~$ sudo nano /etc/default/cpufrequtils # WARNING: this file will be replaced on board support package (linux-root-...) upgrade ENABLE=true MIN_SPEED=240000 # MAX_SPEED=1200000 MAX_SPEED=816000 # Run at lowest # GOVERNOR=powersave # Dynamic, jump to max # GOVERNOR=ondemand # Dynamic, slowly scale up GOVERNOR=conservative user@orangepizero:~$ sudo /etc/init.d/cpufrequtils restart Lastly, you can see with sudo cpufreq-info and set (NOTE - this doesn't persist across reboots, so use the /etc/default/cpufrequtils file for persistence) sudo cpufreq-set --max 816MHz 1
zador.blood.stained Posted May 17, 2018 Posted May 17, 2018 1 hour ago, user283746 said: How do we underclock ram? By rebuilding u-boot with changed CONFIG_DRAM_CLK value.
user283746 Posted May 18, 2018 Author Posted May 18, 2018 Wait .. so those values are now hardcoded in the uboot supplied by mainline kernel distribution?? Why? They should be re-programmable ...
zador.blood.stained Posted May 18, 2018 Posted May 18, 2018 7 hours ago, user283746 said: so those values are now hardcoded in the uboot supplied by mainline kernel distribution? They were always hardcoded, it's just that the sunxi legacy kernel has some hacks and closed source blobs that allow reconfiguring the DRAM frequency on the fly. 7 hours ago, user283746 said: They should be re-programmable "Should" is subjective here. Since nobody tried to implement this yet you can assume that developers think that this is not necessary or can't be reliably or cleanly implemented. 2
WarHawk_AVG Posted July 13, 2018 Posted July 13, 2018 On 5/17/2018 at 12:14 PM, user283746 said: @chwe Your CPU underclock instructions work and it helps to some extent. Board is still a lot warmer on newer software than legacy, so I'd also like to underclock the RAM. How do we underclock ram? FYI, I also changed the governor to powersave which also seems to help. For anyone more interested in governors here is the link to kernel docs. Documenting here for future readers, note that lines starting with # are commented out user@orangepizero:~$ sudo nano /etc/default/cpufrequtils # WARNING: this file will be replaced on board support package (linux-root-...) upgrade ENABLE=true MIN_SPEED=240000 # MAX_SPEED=1200000 MAX_SPEED=816000 # Run at lowest # GOVERNOR=powersave # Dynamic, jump to max # GOVERNOR=ondemand # Dynamic, slowly scale up GOVERNOR=conservative user@orangepizero:~$ sudo /etc/init.d/cpufrequtils restart Lastly, you can see with sudo cpufreq-info and set (NOTE - this doesn't persist across reboots, so use the /etc/default/cpufrequtils file for persistence) sudo cpufreq-set --max 816MHz Cool! Thanks for this Just tweaked to change my cpu minimum to 240MHz sudo cpufreq-set --min 240MHz changed my governor to conservative and now in my armbianmonitor -m shows it dropping down to the lower cpu speed and temps are dropping well at idle speeds 1
sametkocatepe Posted July 16, 2018 Posted July 16, 2018 Hi, I have made all settings to underclock the CPU, unfortunately before and after temperatures are exactly same. we are planning to use this board as commercial product and high temperature issues for rev 1.4 boards make us worried. i really wonder that v1.4 boards have problems ?
guidol Posted July 16, 2018 Posted July 16, 2018 21 minutes ago, sametkocatepe said: we are planning to use this board as commercial product and high temperature issues for rev 1.4 boards make us worried. The original OPi Zero does get real "hot".... for a commercial product I would suggest the OPi Zero Plus2 H5 (if not used for Game Emulation because of the H5 CPU) because this one stays really cool (not the OPi Zero Plus H5) Does cost a little more...but for a server-like device its pays for stability
tkaiser Posted July 16, 2018 Posted July 16, 2018 39 minutes ago, sametkocatepe said: I have made all settings to underclock the CPU, unfortunately before and after temperatures are exactly same As expected. As long as the DVFS settings keep the SoC at the lower voltage (1.1V) temperatures won't differ significantly regardless whether the CPU cores idle at 816 MHz, 240 MHz or 0.1 MHz. Quoting linux-sunxi wiki: 'Modern processors implement advanced clock gating for power saving purposes and if the processor is sitting on a WFI instruction, then the power consumption is already significantly reduced regardless of the CPU clock speed.' Please remember that with OPi Zero rev 1.4 thermal readouts are wrong. DRAM on OPi Zero is already downclocked to 408 MHz with Armbian so there's not much you could do to really lower temperatures (the real ones, not the wrong readouts).
sametkocatepe Posted July 16, 2018 Posted July 16, 2018 2 hours ago, guidol said: The original OPi Zero does get real "hot".... for a commercial product I would suggest the OPi Zero Plus2 H5 (if not used for Game Emulation because of the H5 CPU) because this one stays really cool (not the OPi Zero Plus H5) Does cost a little more...but for a server-like device its pays for stability Hi guidol thank you for your suggestion. unfortunately OPi zero H5 does not include built in ethernet connectivity and usb . our application depends on fully ethernet. in this situation, i will use a passive & active cooler. actually our application does not have heavy duty working, it will gather some serial data and transfer to remote server using python and nodejs at every 20 minutes. nevertheless it will be in a plastic case. i have soldered all pins of opi zero to the PCB and noticed that PCB works like passive cooler even if just a bit. do you have a suggestion on cooling the opi zero ?
sametkocatepe Posted July 16, 2018 Posted July 16, 2018 2 hours ago, tkaiser said: As expected. As long as the DVFS settings keep the SoC at the lower voltage (1.1V) temperatures won't differ significantly regardless whether the CPU cores idle at 816 MHz, 240 MHz or 0.1 MHz. Quoting linux-sunxi wiki: 'Modern processors implement advanced clock gating for power saving purposes and if the processor is sitting on a WFI instruction, then the power consumption is already significantly reduced regardless of the CPU clock speed.' Please remember that with OPi Zero rev 1.4 thermal readouts are wrong. DRAM on OPi Zero is already downclocked to 408 MHz with Armbian so there's not much you could do to really lower temperatures (the real ones, not the wrong readouts). yes exactly as you stated. even if it work under 0.1 MHz it becomes hot. . Can i calculate the correct temperature according to wrong readouts?
tkaiser Posted July 17, 2018 Posted July 17, 2018 4 hours ago, sametkocatepe said: Can i calculate the correct temperature according to wrong readouts? No. It's just numbers without meaning. We reference the thread where everyhing is explained even from download page: https://forum.armbian.com/topic/4313-new-opi-zero-yet-another-high-temperature-issue/?do=findComment&comment=45585
user283746 Posted July 17, 2018 Author Posted July 17, 2018 20 hours ago, tkaiser said: As expected. As long as the DVFS settings keep the SoC at the lower voltage (1.1V) temperatures won't differ significantly regardless whether the CPU cores idle at 816 MHz, 240 MHz or 0.1 MHz. Quoting linux-sunxi wiki: 'Modern processors implement advanced clock gating for power saving purposes and if the processor is sitting on a WFI instruction, then the power consumption is already significantly reduced regardless of the CPU clock speed.' Please remember that with OPi Zero rev 1.4 thermal readouts are wrong. DRAM on OPi Zero is already downclocked to 408 MHz with Armbian so there's not much you could do to really lower temperatures (the real ones, not the wrong readouts). I'm an EE that did power optimization at Qualcomm a while back. I'll just say - if only it were that easy ! If everything lines up, yes, it's possible to drop power draw to ideal. But clearly the software (legacy vs new kernel) heavily influences actual physical temperatures on the same silicon/processor. So safe to assume the board (design, layout, components etc) is just about acceptable for this price point, even if not optimal. Without a specific deep-dive into this issue, our efforts here are like band-aids the minimize the thermal performance problem with 4.x kernels rather than solve the problem at the root cause itself. IMHO, these are all 'toys' so I don't see anyone 'caring' enough to root-cause this (vs say, if this was my product line). Tinker on! 1
sametkocatepe Posted July 17, 2018 Posted July 17, 2018 18 hours ago, tkaiser said: No. It's just numbers without meaning. We reference the thread where everyhing is explained even from download page: https://forum.armbian.com/topic/4313-new-opi-zero-yet-another-high-temperature-issue/?do=findComment&comment=45585 but when i make thumb test, i see that the temperature goes down about 4 - 5 degree.
tkaiser Posted July 18, 2018 Posted July 18, 2018 5 hours ago, sametkocatepe said: when i make thumb test, i see that the temperature goes down about 4 - 5 degree. Pressing the thumb on an idle H3 SoC without heatsink and then seeing reported temperatures decreasing by just 5°C IIRC means the SoC is at around 45°C. But I might be wrong. Anyway: the numbers you can read out via software are bogus, can not be trusted and not 'calibrated' by any means other than a hardware mod described in the other thread.
Recommended Posts