NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.

Forum Discussion

FenterSpooner's avatar
Apr 29, 2013

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!

8 Replies

Replies have been turned off for this discussion
  • mdgm-ntgr's avatar
    mdgm-ntgr
    NETGEAR Employee Retired
    What 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.
  • Toshiba DT01ACA200. The outside drives are running 105 degrees F and the inside are running 113.
  • mdgm-ntgr's avatar
    mdgm-ntgr
    NETGEAR Employee Retired
    That 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.
  • Safe 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.
  • c3po's avatar
    c3po
    NETGEAR Expert
    Not 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
  • StephenB's avatar
    StephenB
    Guru - Experienced User
    The 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).
  • I 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

NETGEAR Academy

Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology! 

Join Us!

ProSupport for Business

Comprehensive support plans for maximum network uptime and business peace of mind.

 

Learn More