Talk:Fannyd - control the temperature and fan of your LinkStation

CODE
/usr/sbin/fannyd  #the script for the fan daemon

# # # # # source /etc/fannyd.conf while : ; do 		for A in $DEVICES ; do 			TEMPERATURE=$(/usr/sbin/hddtemp -n $A) if [ $TEMPERATURE -gt $TEMPLIMIT ]; then echo -n "]]]]" > $UARTPORT else sleep 600    # overcompensate w/ 10 min of extra fan time echo -n "\\\\" > $UARTPORT fi done sleep $CHECKPERIOD done exit 0
 * 1) ! /bin/sh
 * 1)  fan-temperature control daemon - fannydee
 * 1)  this script checks the hdd temp on any LS-PPC that is running avr_evtd
 * 2)  and has hddtemp installed.  If the temperature is greater than the
 * 3)  defined limit, it kicks the fan up to high speed.
 * 1)  After the checkperiod elapses, it checks again.  If the temperature is
 * 2)  below that limit, then it drops it back to low speed.
 * 1)  In /etc/fannyd.conf, mak sure you define your devices that you want to check the temperature on
 * 2)  e.g.  /dev/hda  or /dev/sda, the temperature limit, time check, etc.
 * 3)  You can declare more than one hard drive, but that is not a likely situation.

/etc/init.d/fannyd-daemon   #startup script

#   # case "$1" in    start)        echo -n "Starting fannyd"        /usr/sbin/fannyd &         ;;    stop) echo -n "Stopping fannyd" killall fannyd ;;   restart)        echo -n "Stopping fannyd"        killall  fannyd        echo -n "Starting fannyd"        /usr/sbin/fannyd &        ;;    *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac
 * 1) ! /bin/sh
 * 1)   start/stop script for fannyd  fan/temperature control daemon

/etc/fannyd.conf #the configuration file

# # # # DEVICES=/dev/sda # # CHECKPERIOD=600 # TEMPLIMIT=40 # UARTPORT=/dev/ttyS0
 * 1)  config file for fan-temperature control daemon - fannydee
 * 1)  The script checks the hdd temp on any LS-PPC that is running avr_evtd
 * 2)  and has hddtemp installed.  If the temperature is greater than the
 * 3)  defined limit, it kicks the fan up to high speed.
 * 1)  After the checkperiod elapses, it checks again.  If the temperature is
 * 2)  below that limit, then it drops it back to low speed.
 * 1)  Define your devices that you want to check the temperature on
 * 2)  e.g.  /dev/hda  or /dev/sda
 * 3)  You can declare more than one, but that is not a likely situation.
 * 1)  define the timelimit in seconds.  It is suggested to use a value
 * 2)  around 300 to 600 seconds
 * 1)  define a temperature limit at which you want the fan to kick up at
 * 2)  a good value is around 38C.  Yes, use celsius.
 * 1)  set your UART/AVR serial port that accepts commands here
 * 2)  it can be determined by grepping your ps aux output for
 * 3)  avr_evtd.  it will be either /dev/ttyS0 or /dev/ttyS1
 * 4)  test for avr_evtd running (to be implemented)

Hey...

Any chance of getting a look at the code for fannyd? It seems a shame for the utility to be described if no-one except the author can use it! It would seem to do exactly what I need...

Cheers, Mflint 10:41, 7 September 2007 (CEST)

Hi Mflint - sorry, it took me a while to get this up... sorry about the delay... Davy gravy 23:33, 12 October 2007 (CDT)davygravy

Forum topic
There (kind of) is a forum topic concerning this. You may want to post there to get things jump-started.

Ramuk 11:21, 7 September 2007 (CEST)