NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
FenterSpooner
Apr 29, 2013Aspirant
RN314 Fan Speed
Is there anyway to bump up the fan speed on v6.0? It's nice that its quiet and all but sitting at ~800rpm it's definitely keeping my drives at a higher temperature. I for one would welcome a little extra noise for lower temps on my drives.
My drives are running 5-6 degrees Celsius hotter than in my NV but the fan in my old unit is also running at ~1800rpm.
Thanks!
My drives are running 5-6 degrees Celsius hotter than in my NV but the fan in my old unit is also running at ~1800rpm.
Thanks!
8 Replies
Replies have been turned off for this discussion
- mdgm-ntgrNETGEAR Employee RetiredWhat brand and model drives and what are the disk temperatures?
I don't think the fan speed can be adjusted. It would be nice if they added a few fan modes. One for the current preference for keeping the fan speed down whilst still ensuring the drives stay cool enough, like they do now and another to run the fan speed at a faster speed so that the drives are cooler. - FenterSpoonerAspirantToshiba DT01ACA200. The outside drives are running 105 degrees F and the inside are running 113.
- mdgm-ntgrNETGEAR Employee RetiredThat temperature is perfectly acceptable. A safe operating temperature according to the manufacturer's drive specifications would be up to 140 degrees F. The non-operating limit would be 158 degrees.
- FenterSpoonerAspirantSafe and ideal are two different deals. Since I plan on running my disks 24x7 for years, keeping them as cool as possible is what I'm looking for. I would like to see the drives at or under 40 degrees (Celsius) if all possible.
- c3poNETGEAR ExpertNot that we agree Google's study here:
http://static.googleusercontent.com/ext ... ilures.pdf
Accordingly to the study(you will probably disagree! ) :
During the first 3 years, the lower temperature, the higher failure rate! 45C is sweet spot as far as temperature is concerned.
After 3 years, they believed that other factors contribute more than temperature to disk failure.
For today's HDD, it is perfectly fine to run it below 50C - StephenBGuru - Experienced UserThe google study was published in 2007, so it predates 3TB/4TB drive technology. I suspect that none of us have 100,000 disks to play with - so our personal views are not really grounded in data on current drives.
Personally I'd like to see a couple of cooling profiles: normal (what we have); keep it cool, I don't care about the noise (high); and keep it quiet (low). - townsmcpAspirantI know this thread is a bit old, however I thought I would update it.
I originally had a ReadyNAS 104 and got fan control working (based on the thread by moseleypj (Sat Dec 28, 2013 3:51 pm) http://www.readynas.com/forum/viewtopic.php?f=7&t=71587&start=15). On the weekend I bought a ReadyNAS 314 and tried applying the scripts to the 314. Unfortunately it didnt work. However after some tweaking I have been successful getting control of the fans :D
The problem from the 104 script was the location of the sensors and fan control files.Slight tweak to this and we are in business with a script that is adjustable to your needs. The code is as follows:
Create a file called fanoveride at /root/ with the following content:#!/bin/bash
## Variables ##
FANPWMPATH=/sys/devices/platform/it87.2560/pwm1
FANSPEEDPATH=/sys/devices/platform/it87.2560/fan1_input
CORETEMPPATH=/sys/devices/platform/it87.2560/temp1_input
MAXFAN=100 # Maximum operable speed
MINFAN=0 # Minimum operable speed
MINPWM=75 # PWM Limit
MAXPWM=255 # PWM Limit
MINTEMP=35 # Min temp -> Fan slowest
MAXTEMP=70 # Max temp -> Fan fastest
NEWSPEED=50 # Initial fan speed (%)
## Functions ##
function getReadings {
FANPWM=$(cat $FANPWMPATH)
FANSPEED=$(cat $FANSPEEDPATH)
CORETEMP=$(cat $CORETEMPPATH)
}
function setFanSpeed {
if [ $NEWSPEED -lt $MINFAN ]; then
NEWSPEED=$MINFAN
fi
if [ $NEWSPEED -gt $MAXFAN ]; then
NEWSPEED=$MAXFAN
fi
NEWPWM=$(expr $MAXPWM - $MINPWM)
NEWPWM=$(expr $NEWPWM \* $NEWSPEED)
NEWPWM=$(expr $NEWPWM / 100)
NEWPWM=$(expr $NEWPWM + $MINPWM)
echo $NEWPWM > /sys/devices/platform/it87.2560/pwm1
}
function calcFanPercent {
TEMPRAN=$(expr $MAXTEMP - $MINTEMP)
TEMPREL=$(expr $CORETEMP - $MINTEMP)
TEMPREL=$(expr $TEMPREL \* 100)
TEMPPER=$(expr $TEMPREL / $TEMPRAN)
NEWSPEED=$TEMPPER
}
###################################################################
echo "Automatically controlling fan speed..."
while true
do
getReadings
echo "Temp: $CORETEMP C FAN: $NEWSPEED% [$FANSPEED RPM] [$FANPWM]"
calcFanPercent
setFanSpeed
sleep 10
done
###################################################################
Create a file called fanoveride at /etc/init.d with the following content:#!/bin/sh
### BEGIN INIT INFO
# Provides: FanOveride
# Required-Start: $local_fs $network $named $time $syslog
# Required-Stop: $local_fs $network $named $time $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: FanOveride overides the default ReadyNAS fan control
### END INIT INFO
SCRIPT=~/fanoveride
RUNAS=root
PIDFILE=/var/run/fanoveride.pid
LOGFILE=/var/log/fanoveride.log
start() {
if [ -f /var/run/$PIDNAME ] && kill -0 $(cat /var/run/$PIDNAME); then
echo 'Service already running' >&2
return 1
fi
echo 'Starting service.' >&2
local CMD="$SCRIPT &> \"$LOGFILE\" & echo \$!"
su -c "$CMD" $RUNAS > "$PIDFILE"
echo 'Service started' >&2
}
stop() {
if [ ! -f "$PIDFILE" ] || ! kill -0 $(cat "$PIDFILE"); then
echo 'Service not running' >&2
return 1
fi
echo 'Stopping service.' >&2
kill -15 $(cat "$PIDFILE") && rm -f "$PIDFILE"
echo 'Service stopped' >&2
}
uninstall() {
echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] "
local SURE
read SURE
if [ "$SURE" = "yes" ]; then
stop
rm -f "$PIDFILE"
echo "Notice: log file is not be removed: '$LOGFILE'" >&2
update-rc.d -f <NAME> remove
rm -fv "$0"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
uninstall)
uninstall
;;
retart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|uninstall}"
esac
Set permissions for these files to 755 and install the service:chmod +x /root/fanoveride
chmod +x /etc/init.d/fanoveride
update-rc.d fanoveride defaults
The service will then start at next reboot of the NAS however you can use the following manual controls:service fanoveride start
service fanoveride stop
Within 10 minutes I managed to drop my CPU temp from 54c to 44c and hard drives from 44c to 35c.
Remember if copy and pasting the above code you will need to remove the carriage returns that will be shown in Linux. The easiest way to add these scripts (my personal preference) is to enable SSH on the NAS, use NotePad ++ to paste the text in to a new file without the carriage returns at end of line, and use Bitvise SSH to copy the files over to the NAS
Hope that helps others - So I spent a few hours over the course of a few days working out how to update this script to support the RN314 model and here it is. Seems to be working pretty well on my unit.
follow exactly the same instructions as this thread:
viewtopic.php?f=11&t=76184
but in the fanoveride file, paste this code instead:
#!/bin/bash
## Variables ##
FANPWMPATH=/sys/devices/platform/it87.2560/pwm1
FANSPEEDPATH=/sys/devices/platform/it87.2560/fan1_input
CORETEMPPATH=/sys/devices/platform/coretemp.0/temp2_input
MAXFAN=100 # Maximum operable speed
MINFAN=0 # Minimum operable speed
MINPWM=140 # PWM Limit
MAXPWM=255 # PWM Limit
MINTEMP=40000 # Min temp -> Fan slowest
MAXTEMP=65000 # Max temp -> Fan fastest
NEWSPEED=60 # Initial fan speed (%)
## Functions ##
function getReadings {
FANPWM=$(cat $FANPWMPATH)
FANSPEED=$(cat $FANSPEEDPATH)
CORETEMP=$(cat $CORETEMPPATH)
}
function setFanSpeed {
if [ $NEWSPEED -lt $MINFAN ]; then
NEWSPEED=$MINFAN
fi
if [ $NEWSPEED -gt $MAXFAN ]; then
NEWSPEED=$MAXFAN
fi
NEWPWM=$(expr $MAXPWM - $MINPWM)
NEWPWM=$(expr $NEWPWM \* $NEWSPEED)
NEWPWM=$(expr $NEWPWM / 100)
NEWPWM=$(expr $NEWPWM + $MINPWM)
echo $NEWPWM > /sys/devices/platform/it87.2560/pwm1
}
function calcFanPercent {
TEMPRAN=$(expr $MAXTEMP - $MINTEMP)
TEMPREL=$(expr $CORETEMP - $MINTEMP)
TEMPREL=$(expr $TEMPREL \* 100)
TEMPPER=$(expr $TEMPREL / $TEMPRAN)
NEWSPEED=$TEMPPER
}
###################################################################
echo "Automatically controlling fan speed..."
while true
do
getReadings
echo "Temp: $CORETEMP C FAN: $NEWSPEED% [$FANSPEED RPM] [$FANPWM]"
calcFanPercent
setFanSpeed
sleep 10
done
###################################################################
Notes about the changes/variables:
- file paths had to be updated to support the different platform
- the MINTEMP and MAXTEMP values are x1000 as this is the value reported by the monitoring chip so 40c becomes 40000
- if you want your fan to spin at a higher minimum rate no matter what, edit the MINPWM value to something over 100 (100 is the default and lowest). As you can see I have set mine to 140
- You can set the NEWSPEED to 50 or higher however I have found it more effective to change the MINPWM value to set the fan speed floor
- the fanoveride log (/var/log/fanoveride.log) will show an incorrect fan speed percentage. Just ignore this. The key things to look at are the fan RPM and last number which is the current PWM value.
regarding automatic startup:
I don't think the script starts up automatically using the commands from the original post. If anyone knows how to fix this, please let me know.
Using this script, my HDDs which were now running at 49-50c are now at 43-44 and the fan never runs are the old ~700rpm
Related Content
NETGEAR Academy
Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology!
Join Us!