FAN Speed too low

On my PR4100 I have noticed since “upgrading” to os5 that Disks temperature are close to 47 and the FAN Speed still at 510 RPM! How can I make the fan speed increase? Is there a cool setting making the fan work at least at 80%. Can I change this through the shell?


1 Like

You can get information using ssh, but I couldn’t find anything to set fan speed.
Your idea of setting the speed to 80% would work if your NAS CPU never reached 100% or if your room is always cold. But imagine if you need more cooling but your fan is set to 80%, you could possibly damage your NAS due to overheating.

Maybe my fan is high because my NAS is sitting close to my heater. If your fan speed is that low and the temperature under control, it means your room is cool enough.

Don’t focus on fan speed, but on temperature.

root@MyCloudEX2Ultra ~ # fan_control -g 0
Current temperature is 57
hd0 temperature=53
hd1 temperature=55
CPU temperature=85
root@MyCloudEX2Ultra ~ # fan_control -g 4
fan rpm = 3448
root@MyCloudEX2Ultra ~ #

tnx a lot! That’s what I get with fan_control. 53 Celcius is quite high for hd, isn’t it?
My idea is to have the fan work from 80% to 100%. 80% to be the minimum, keeping the system cool all the time.
root@nas ~ # fan_control -g 0
Current temperature is 46
hd0 temperature=47
hd1 temperature=48
hd2 temperature=49
hd3 temperature=48
CPU0 temperature=52
CPU1 temperature=53
CPU2 temperature=51
CPU3 temperature=51
CPU temperature=53
root@nas ~ # fan_control -g 4
fan rpm = 510

This document says that between 0 and 65 Celsius, you’re fine.

But, you can also do something like this guy, a usb fan with speed control

You are fine, but the higher the temperature the higher the risk for a failure. Fine means that it will operate according to specs regarding the MTBF. … This is not enough for the majority of the users. I have HDDs that are well over the MTBF and are working just fine. I know it is a risk but it is a great burden to replace them.

tnx a lot anyway

My PR4100 is currently using OS3 and I noticed the disks reached 56c at one point due to a full system check, I cancelled it in the end and let the drives cool down. It turns out the system is configured to only increase fan speed when the disks hit 57c, bit extreme if you ask me, the fan stays at 510rpm otherwise. I found the settings under /etc/wd/BNFA-thermal.xml
On an EX4100 the drives are considered warm when they are 40c and above but on a PR4100 it’s 57c. It’s possible OS5 has a similar setup which would explain why the fan doesn’t increase. I find it odd though that depending on the nas model purchased the values for what are considered warm for a hard drive vary greatly.

Is there a simple way to use EX4100 temp profile on PR4100 in the above post? I don’t mind a little fan noise if the tradeoff is disks lasting longer. 56 degrees is too high a disk temp irrespective of what any support doc says.

I honestly don’t know. I tried manually changing the temperature values in the PR4100 thermal file but the file was reset at reboot. My PR4100 is currently off and will remain so until WD fix this or I can put another OS on it that works. It wouldn’t surprise me if this was why others are having temperature issues. Completely unacceptable to allow the drives to get this hot. I might raise a support request assuming I can figure out how to do that.

I’ve both EX4100 and PR4100 and see no difference in structure, @WDStaff any idea why they’ve so different fan profiles? At least give the users a quiet/normal/cool option so we can prioritize noise over HDD longevity.

Releasing a bungled up, untested software to reduce functionality by half and now this, deliberately heating up hard disks to make them fail early, isn’t there some sort off regulatory control on such practices?

I appreciate all the time and effort you’ve been putting in, but the simple point is it’s WD’s responsibility to ensure these simple glaring issues are never there, and then fixed as soon as discovered. A lot of NAS users go for NAS solutions with the expectation of things working and their not having to constantly keep tinkering and looking down the hood.

for those of you that do look down the hood

Where is the NAS getting the temperature data for fan control
SMART data seems ok as a check but is there an extra sensor on the PC board.

Some of the older Mac systems had extra sensors on the hard drives.

and I have placed a resistor to give off heat to force fan control software to nudge the fan speed faster in the field when software options were not possible,

You are the best! @dswv42 Kudos!
tnx for the tips, it works great. Currently it is nice and cool in my garage, let’s wait to test it during summer :slight_smile:
@WD allowing a profile based (e.g cool, silent) selection in OS5 could be a treat for the users.
Environmental conditions vary for each user. It is a plus to have the option to adapt your NAS on your needs.

tnx once more.

1 Like

Thanks again for your help. How to I make this persistent after reboot? And does this need to be edited again after firmware updates?

Thanks @dswv42, I might revisit my PR4100 sometime. I am guessing use of cron and changing the config path are possible workarounds?

If you do put an app together, I think many would welcome it, myself included. Thanks again for the support.

1 Like

You are not fine if the temperature more than 40 Celsius, you can see in the same document.
10- MTBF specifications are based on a sample population and are estimated by statistical
measurements and acceleration algorithms under typical operating conditions: workload of
90TB/year and drive temperature of 40°C. Derating of MTBF will occur above these parameters,
up to 65°C drive temperature. MTBF does not predict an individual drive’s reliability and does
not constitute a warranty.

Hello. New user here, also wanting to reduce the hard drive temps on my PR4100 by increasing the fan speed. Noticing @dswv42 was thanked here, but couldn’t find the solution referred to. Could you please share?

I’m a macOS user. If the answer is to edit a file and change a value, appreciate some pointers on how to access said file. Thanks in advance!

From doing some digging, I managed to SSH into my PR4100 and use Vim to edit BNFA-thermal.xml and update threshold values as follows:

    <step name="init_drv_cool"     action="set_int_value" var="drv_state" value="1" interval="600" next="check_drv_extreme" />                                                                                      
    <step name="check_drv_extreme" action="compare_temperature"    source="drive" index="*" comparison="greater_than" value="64.0" interval="600" goto="set_drv_extreme" next="check_drv_pending" />                
    <step name="check_drv_pending" action="compare_temperature"    source="drive" index="*" comparison="greater_than" value="61.0" interval="600" goto="set_drv_pending" next="check_drv_danger" />                 
    <step name="check_drv_danger"  action="compare_temperature"    source="drive" index="*" comparison="greater_than" value="57.0" interval="600" goto="set_drv_danger"  next="check_drv_hot" />                    
    <step name="check_drv_hot"     action="compare_temperature"    source="drive" index="*" comparison="greater_than" value="54.0" interval="600" goto="set_drv_hot"     next="check_drv_warm" />                   
    <step name="check_drv_warm"    action="compare_temperature"    source="drive" index="*" comparison="greater_than" value="40.0" interval="600" goto="set_drv_warm"    next="check_drv_content" />                
    <step name="check_drv_content" action="compare_temperature"    source="drive" index="*" comparison="greater_than" value="35.0" interval="600" goto="set_drv_content" next="check_drv_under" />                  
    <step name="check_drv_under"   action="compare_temperature"    source="drive" index="*" comparison="less_than"    value="1.0"  interval="600" goto="set_drv_under"   next="check_drv_cool" />                   
    <step name="check_drv_cool"    action="compare_temperature"    source="drive" index="*" comparison="less_than"    value="36.0" interval="600" goto="set_drv_cool"    next="check_cpu_shutdown" /> 

Then some changes to setting fan speeds, trying to force max speed all the time:

    <step name="inc_sys_fan"   action="set_int_value" var="global_state" value="3" next="inc_sys_fan2" />                                                                                                           
    <step name="inc_sys_fan2"  action="increment_fan" source="system_fan" index="0" delta="70" limit="100" goto="set_sys_fan_max2" next="send_temp_alert" />                                                        

    <step name="dec_sys_fan"        action="compare_int_value" var="global_state" comparison="less_than" value="2" interval="600" goto="dec_sys_fan2" next="nochange_sys_fan2" />                                   
    <step name="dec_sys_fan2"       action="increment_fan" source="system_fan" index="0" delta="70" limit="100" goto="set_sys_fan_max2" next="send_temp_alert" />                                                   

    <step name="nochange_sys_fan"        action="set_int_value" var="global_state" value="2" next="nochange_sys_fan2" />                                                                                            
    <step name="nochange_sys_fan2"  action="compare_int_value"      var="global_state"    comparison="less_than"   value="100" interval="10"  goto="nochange_sys_fan3"  next="send_temp_alert" />                   
    <step name="nochange_sys_fan3"   action="increment_fan" source="system_fan" index="0" delta="70" limit="100" goto="set_sys_fan_max2" next="send_temp_alert" />                                                  

Fan speed has increased from 330 RPM to 720 RPM as per the PR4100 web GUI. Temperatures have reduced a bit.

root@MyCloudPR4100 wd # fan_control -g 0
Current temperature is 46
hd0 temperature=53
hd1 temperature=56
hd2 temperature=55
hd3 temperature=52
CPU0 temperature=56
CPU1 temperature=57
CPU2 temperature=57
CPU3 temperature=57
CPU temperature=57
root@MyCloudPR4100 wd # fan_control -g 4
fan rpm = 330

root@MyCloudPR4100 wd # fan_control -g 0
Current temperature is 40
hd0 temperature=48
hd1 temperature=51
hd2 temperature=51
hd3 temperature=48
CPU0 temperature=49
CPU1 temperature=49
CPU2 temperature=51
CPU3 temperature=51
CPU temperature=51
root@MyCloudPR4100 wd # fan_control -g 4
fan rpm = 720

The max RPM of the new/replacement fan (Be Quiet BL093) is 1600 RPM. Fan noise is max 19 dB at full speed, hence opting for this fan model. As such I’d like to run the PR4100 with the fan at max speed all the time. Any advice on settings required to maintain max RPM?

An add-on question: per the CPU temp settings, is anything between 16 and 89 thus deemed normal, with no change in fan speed? Would it not be more ideal to increase fan RPM as the CPU gets hotter, say above 60?

    <step name="start"  action="compare_temperature"    source="dts" index="*" comparison="less_than"    value="1.0"  interval="10" goto="set_cpu_extreme" next="check_cpu_danger" />                    
    <step name="check_cpu_danger"  action="compare_temperature"    source="dts" index="*" comparison="less_than"    value="3.0" interval="10" goto="set_cpu_danger"  next="check_cpu_warm" />                       
    <step name="check_cpu_warm"    action="compare_temperature"    source="dts" index="*" comparison="less_than"    value="10.0" interval="10" goto="set_cpu_warm"    next="check_cpu_content" />                   
    <step name="check_cpu_content" action="compare_temperature"    source="dts" index="*" comparison="less_than"    value="17.0" interval="10" goto="set_cpu_content" next="check_cpu_under" />                     
    <step name="check_cpu_under"   action="compare_temperature"    source="dts" index="*" comparison="greater_than" value="89.0" interval="10" goto="set_cpu_under"   next="check_cpu_cool" />                      
    <step name="check_cpu_cool"    action="compare_temperature"    source="dts" index="*" comparison="greater_than" value="16.0" interval="10" goto="set_cpu_cool"    next="check_mem_extreme" />

Without the NAS restarting, fan speed has returned to 330 RPM :confused:

Any suggestions for keeping the tweaks persistent, would be much appreciated.