0
andoru

Annoying fan noise on XU4

Recommended Posts

Does anyone know any way to fix the annoying way the fan works on this device? Even on idle load, the fan spins up every couple of minutes, keeps spinning for a few seconds, then turns off again, only to repeat a few minutes later. I can't even sleep in the same room the device is in...

I've tried using this: https://github.com/f1vefour/odroid-xu4-fan-control

And it hasn't really solved anything, as the fan cannot start on PWM values lower than 100... it instead makes squeaking noises. So having adjusted the script, nothing has really changed.

Is there something I could do to fix this in software? Perhaps something that doesn't involve getting the heatsink for it, or use a different fan. Currently I can't modify anything about the SBC due to the case I got for it...

Share this post


Link to post
Share on other sites

I solved this problem temporarily by setting the CPU governor from "performance" to "conservative". This helped reduce the CPU temperature by at least 10°C

At least now the fan doesn't spin up as often, maybe once every 15-30 min.
I think I might also buy a Noctua NF-A4x10 fan to be able to reduce the temperature even more. 

Does anyone know if the Noctua fan fits on the same heatsink the stock fan came with?

Share this post


Link to post
Share on other sites
6 hours ago, andoru said:

I think I might also buy a Noctua NF-A4x10 fan to be able to reduce the temperature even more. 


IMO rather get a large (perhaps official) heatsink. Stock XU4S , which is the exact same board, comes without fan by default.

Share this post


Link to post
Share on other sites
8 hours ago, andoru said:

I solved this problem temporarily by setting the CPU governor from "performance" to "conservative". This helped reduce the CPU temperature by at least 10°C

 

Buying a fast board to operate it slow is an option? Really?

 

I would cap max frequency of the big cores from 2.0 GHz to 1.8 GHz or maybe 1.6GHz (/etc/default/cpufrequtils) and then check again. The upper DVFS operating points have to use a much higher voltage to get CPU cores working stable so the amount of heat the SoC dissipates at the top clockspeeds is much higher than slightly below.

 

I would prefer a 5% or 10% performance drop instead of running slow all the time.

 

And yeah, the fansink is a joke since not sufficient to provide appropriate cooling. With demanding workloads throttling will always occur (you can't run anything really heavy at 2.0 GHz with the fansink) and the sound is annoying.

 

BTW: To diagnose and optimize behaviour running 'armbianmonitor -m' in a shell is always a good idea.

 

In case the CPU cores run at high clockspeeds with ondemand even when idle this might be another occurence of 'sampling_rate' being inapppropriate with recent kernels.

Share this post


Link to post
Share on other sites

@tkaiser Hmm, any other ideas? On my old debain (custom by community) I was able to run the Odroid with a significant lower fan noise. How? I've set the cpu governor to powersave (or conservative - i mean really conservative!) and the fan doesn't spin up at all if there are no access! With armbian I wasn't able to reproduce that. Even if I manually (by crontab) set the minimal clockfreq to 200 MHz (like on the other build) the fan spins up really often. No wonder when the cpu hits 68°C ! So do you have any further idea how to solve this problem?

Share this post


Link to post
Share on other sites
36 minutes ago, Simonmicro said:

So do you have any further idea how to solve this problem?

 

Other than replacing the crappy fansink with a good heatsink... no.

 

Information would be needed (armbianmonitor -m) to get an idea why the fan starts to spin up (thermal trip points --> kernel/settings) and how temperatures look like. But to be honest: I bought my XU4 early 2017 and sold it 9 months later since the XU4 is so disappointing and I won't further waste any time dealing with the various issues.

 

My personal opinion: ODROID MC1, HC1 and HC2 are nice boards, XU4Q at least solves the problem of annoying fan noise (though I think the large heatsink would be better with more space between the fins to allow for more convection)

Share this post


Link to post
Share on other sites

Okay, here two logs on powersave (second one is locked to 200MHz). It seems that the fan spins up at 58°C. On other governors the system has stable 63°C without a fan! Should I create a log for this too?

I will use my Odroid until I build my own Server with Intel E3 1235L V5. This processor have such a low TDP that I don't think that my fan will spin up often (and every fan is more quiet than the Odroid ones!)

Log1

Log2

Share this post


Link to post
Share on other sites
44 minutes ago, Simonmicro said:

It seems that the fan spins up at 58°C

 

These are the relevant log lines:

Time       big.LITTLE   load %cpu %sys %usr %nice %io %irq   CPU  C.St.
11:26:57:  200/ 200MHz  0.25   1%   0%   0%   0%   0%   0% 57.0°C  0/3
11:27:02:  200/ 200MHz  0.31  30%   4%  25%   0%   0%   0% 59.0°C  1/3

C.St. means cooling state. There are 4 defined in device-tree (and you can change them if you want by adjusting .dts or via sysfs) and if 1 is reached (most probably 60°C defined) then the fan starts to spin. 57°C on a totally idle system are insanely high (comparison with passively cooled HC1) so I would suggest removing the heatsink, checking situation with thermal paste and maybe cleaning both SoC and heatsink and reapplying thermal paste. You'll find several occurences in ODROID forum about bad jobs at the factory ruining thermal efficiency of the fansink.

 

And if you're already at it maybe replacing the annoying fansink with the much better passive heatsink from the XU4Q.

Share this post


Link to post
Share on other sites

I wanted to use mine for occasional transcoding of live tv or videos to smaller devices to save bandwidth (prior to the XU4Q and my involvement here), so it might be liquid cooled.  (No, I'm not saying it is a sane solution, however I've found that the XU4's SoC does not respond to most cooling solutions well, and it was fun trying to make a miniature liquid cooling rig.  :lol:) It works quite well, but the pump is its own (less annoying) noise source.  I need to hook the small radiator fan into the system PWM port so it stays off 99% of the time.  And package it.  It lives in my basement next to the ethernet switches, so I neglect it.  :-/ 

 

I have to think the SoC probably needs a board that can dissipate heat away from the bottom of the SoC as well, given how much heat I find on the bottom side under load.  @tkaiser, do the HC1 or 2 have a copper plane for this that you know of?  (And no, to the general audience, I am not saying anything is poorly made, I'm simply considering that an avenue for improvement if it has not already been taken)  It hadn't occurred to me that any of these vendors weren't doing that until I found out that it was a "new feature" on the Pi 3B+  :rolleyes:.

 

On 8/24/2018 at 6:25 AM, tkaiser said:

57°C on a totally idle system are insanely high

 

My XU4 was similar, I was able to get it to 49 with new thermal paste and biasing the pressure between the springs of the fansink (the SoC is nowhere near the center, so the thought that the fansink sits flush is a bit silly).  With a thermal epoxy-held copper 15mm water block I get 31 at idle, and it hits 85 within 10 seconds with minerd.

 

On 8/24/2018 at 6:25 AM, tkaiser said:

And if you're already at it maybe replacing the annoying fansink with the much better passive heatsink from the XU4Q.

 

I agree with this, and if needed you can use a small (40mm^2) fan which is fractionally as loud as the fansink (which is amazingly loud).  A 12V one will run at lower RPM with the 5V input, since that heatsink is large enough, it's just not overly efficient as tkaiser mentioned.  Any forced draft will improve it.

 

Interesting tidbit, I can see throttling occurring but I'm still showing cooling state = 0 on armbianmonitor.  [edit]  that's with kernel 4.9.61.  4.14.66 is not showing that issue.

Share this post


Link to post
Share on other sites
3 hours ago, TonyMac32 said:

do the HC1 or 2 have a copper plane for this that you know of?

 

No idea. But IIRC I had to gently massage one of my 2 HC2 to get better heat transfer into the massive heatsink/enclosure thing.

 

3 hours ago, TonyMac32 said:

I was able to get it to 49 with new thermal paste and biasing the pressure between the springs of the fansink (the SoC is nowhere near the center, so the thought that the fansink sits flush is a bit silly).

 

Well, this is also an important information: 'new' thermal paste (they can age and perform lower after some time, same wrt contact area between heatsink and SoC)

 

3 hours ago, TonyMac32 said:

Interesting tidbit, I can see throttling occurring but I'm still showing cooling state = 0 on armbianmonitor.

 

Sure, throttling can happen without the fan becoming active and vice versa. My understanding is that it all depends on DT contents and cooling maps there. They can define to lower clockspeeds and/or activate additional measures like a fan.

 

BTW: the similar looking fansink on my N1 dev sample was almost silent compared to the XU4 fansink. The only annoyance was a strange chirping sound when the fan started to spin. Simple countermeasure on the N1: define entering lowest fan speed to be entered at a very low temperature already. But this isn't an option with the XU4 since then fan is too loud.

 

AFAIK all these thermal tresholds are available through sysfs. You can even get an immediate emergency shutdown by echoing a low temperature value to the critical treshold sysfs node.

Share this post


Link to post
Share on other sites
12 hours ago, TonyMac32 said:

I was able to get it to 49 with new thermal paste

Did that too. The original paste was a milky white substance. With normal paste it works a lot better. The same with the C2.
 

 

On 8/23/2018 at 10:00 PM, Simonmicro said:

Hmm, any other ideas?

I`ve got the Q heatsink, plus a silent big 5V fan. I don`t have any noice problem like this.
https://www.aliexpress.com/item/ALSEYE-5v-80mm-fan-3000RPM-2pin-PH2-0-connector-DC-cooling-fan-radiator-high-quality-exhaust/32785165145.html?spm=a2g0s.9042311.0.0.27424c4d8uKUR2
I also clock my big cores to 1.8Ghz for long demanding tasks and get better results than at 2Ghz since it doesn`t overheat.

I`ve once used only my XU4 for a week instead of my pc. What a pleasure not to have the buzzing of that thing.
That fan is not controlable so it`s always on. You could make a script and power with gpio`s to stop it when not needed.
 

Share this post


Link to post
Share on other sites
0