Temperature Control

I have noticed the drives in my PR4100 are running hotter than the ones in my EX4100, granted they are much larger capacity drives so could run naturally warmer. I did some digging and found the following file is used for monitoring temperature: /etc/wd/BNFA-thermal.xml
What’s interesting is the EX4100 equivalent uses very different values with regards to the temperature.

PR4100 snippet:

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=“74.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=“71.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=“67.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=“64.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=“57.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=“50.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=“51.0” interval=“600” goto=“set_drv_cool” next=“check_cpu_shutdown”

EX4100:

step name=“init_drv_cool” action=“set_int_value” var=“drv_state” value=“1” interval=“570” next=“check_drv_extreme” />
step name=“check_drv_extreme” action=“compare_temperature” source=“drive” index="" comparison=“greater_than” value=“74.0” interval=“570” goto=“set_drv_extreme” next=“check_drv_pending”
step name=“check_drv_pending” action=“compare_temperature” source=“drive” index="
" comparison=“greater_than” value=“71.0” interval=“570” goto=“set_drv_pending” next=“check_drv_danger”
step name=“check_drv_danger” action=“compare_temperature” source=“drive” index="" comparison=“greater_than” value=“67.0” interval=“570” goto=“set_drv_danger” next=“check_drv_hot”
step name=“check_drv_hot” action=“compare_temperature” source=“drive” index="
" comparison=“greater_than” value=“64.0” interval=“570” 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=“570” goto=“set_drv_warm” next=“check_drv_content”
step name=“check_drv_content” action=“compare_temperature” source=“drive” index="
" comparison=“greater_than” value=“37.0” interval=“570” 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=“570” goto=“set_drv_under” next=“check_drv_cool”
step name=“check_drv_cool” action=“compare_temperature” source=“drive” index="
" comparison=“less_than” value=“38.0” interval=“570” goto=“set_drv_cool” next=“check_cpu_shutdown”

On the EX4100 drives are considered warm if they are greater than 40 degrees, I am assuming this is Celsius. On the PR4100 drives are considered warm when they are greater than 57 degrees, that’s quite a large difference. What I want to know is are these config files being used to control the fan speed based off the temperature? If they are used to control the temperature it would explain why my drives got to 56c yesterday when running a full system test which I cancelled as I wasn’t comfortable with how hot the drives got. I identified the configuration files used by checking the log file /var/log/wdhwlib.log on both units. Can someone confirm if their PR4100 thermal file has the same values as mine? Firmware version for the PR4100 is
2.41.116, EX4100 has version 2.40.157.

Thanks for responding. If these values are being used to determine fan speed I am curious as to why there is a large variance across some models given that a wd red plus of the same model would then be expected to operate at higher temperatures depending on the nas unit purchased. My understanding is 65c is the max operating temp, however this is not recommended as it would likely reduce the lifespan / reliability of the hard drive. Are you able to confirm if these files are used for temperature control?

Thank you for confirming. If I knew more about Software I would be tempted to build my own firmware with some tweaked temperature values for better control. It would be nice if WD themselves could confirm why these values are not more consistent and whether they have tweaked the values for the newer OS5 firmware which I will not be touching for many months.

I’ll keep an eye on your progress. I am not using my PR4100 for anything at the moment so I might try installing something else.