DSM-G600, DNS-3xx and NSA-220 Hack Forum

Unfortunately no one can be told what fun_plug is - you have to see it for yourself.

You are not logged in.

Announcement

#1 2008-09-04 13:51:12

kreuters
Member
Registered: 2007-04-13
Posts: 13

Cannot set fan speed

hey

i had a failed DNS323 which has been replaced with the newer hardware revision B1. seems mostly the same, except i cannot change the fan speed any more. if i try:

fanspeed g

all i get is 0, and any attempts to write a new fanspeed are ignored. does anyone have this problem? is very annoying, as the fan runs at quite a high speed, is loads noisier than my other DNS.

Offline

 

#2 2008-09-04 16:34:31

skydreamer
Member
From: At the Atlantic Coast
Registered: 2007-01-06
Posts: 232

Re: Cannot set fan speed

This happens to me on the old hardware too, try to power cycle the enclosure.

Offline

 

#3 2008-09-04 16:44:50

fonz
Member / Developer
From: Berlin
Registered: 2007-02-06
Posts: 1716
Website

Re: Cannot set fan speed

check dmesg output for TWSI errors

Offline

 

#4 2008-09-04 17:03:07

kreuters
Member
Registered: 2007-04-13
Posts: 13

Re: Cannot set fan speed

no TWSI errors, which i get all the time on my older unit. cycling the power did not help either,,

so this is not common to the newer units then, just a problem with this particular one?

Offline

 

#5 2008-09-06 13:01:22

amichel
Member
From: Vienna
Registered: 2008-07-13
Posts: 17

Re: Cannot set fan speed

isn't the command to set the speed fanspeed w ?

w rpm, set fan speed(rpm range:1935~30000)

amichel

Offline

 

#6 2008-09-06 18:14:39

kreuters
Member
Registered: 2007-04-13
Posts: 13

Re: Cannot set fan speed

yes, and using fanspeed w 2000 for example, will do nothing. the speed remains the same, and fanspeed g always reads 0.

Offline

 

#7 2008-09-24 17:58:55

dadoes
New member
Registered: 2008-09-24
Posts: 3

Re: Cannot set fan speed

I just got a dns321 and it looks like you can only set the fanspeed to low, high, or stop.


Usage: fanspeed [function]

Functions:
l      fan low speed
h      fan high speed
s      stop fan
g      get fan status

EDIT: Stopping the fan seems to shut down the box.  Even if the "fancontrol" process is killed.  I wonder if there is another process that is checking the fan somwhere.

Last edited by dadoes (2008-09-24 20:36:12)

Offline

 

#8 2008-09-24 20:41:42

dadoes
New member
Registered: 2008-09-24
Posts: 3

Re: Cannot set fan speed

I've modified the ctrl_fanspeed.sh script to work with the new fan.

It basically stops the fan below 108.  (Because stopping the fan shuts down the box, i've set it to low for now, until I can figure out a way to fix this).

Sets the fan at low above or equal to 108.

Sets the fan to high above 140.



#!/bin/sh
#
# This script was created at http://dns323.kood.org by FIB,
# it has been slightly modified by leper (with help from
# fonz). It sets the fanspeed of the device depending on
# the temperature, which is measured in Fahrenheit. If
# your box measures temperature in Celsius, you need to
# edit it to work.
# Additional changes by gartylad.

# Set the path to use RAM-disk instead of harddrive, to
# execute from. This is done so that the disks will go
# into sleep mode, while the script is running.
PATH=/usr/bin:/bin:/usr/sbin:/sbin

Create a logfile on the RAM-disk.
LOGDIR=/log
FANLOGFILE=${LOGDIR}/fan_ctrl.log
mkdir -p ${LOGDIR}

# Kill the old fan controller.
kill -9 `pidof fancontrol`
#echo "Fancontrol killed. Installing fan_ctrl.sh" >${FANLOGFILE}

# With temps between T1 and T2, the script automatically
# lowers/raises the fanspeed between RPM1 and RPM2. This
# it does every update_interval seconds.
update_interval=120
T1=108
T2=140
RPM1=2300
RPM2=4500

while [ 1 ]
do
  T=`temperature g 0`
  T=${T##*=}
  # Check if temperature has fallen below T1 value
  if [ $T -lt $T1 ]; then
    # Temp below T1 fan stops
#    fanspeed s    # stopping the fan causes the machine to shutdown
    fanspeed l
    echo `date`"::Fanspeed stop" >>${FANLOGFILE}
  elif [$T -gt $T2 ]; then
    # Temp above T2 start fan at high speed
    echo `date`"::Fanspeed high" >>${FANLOGFILE}
    fanspeed h
  elif [$T -ge $T1 ]; then
    # Temp equal or above T1 start fan at low speed
    echo `date`"::Fanspeed low" >>${FANLOGFILE}
    fanspeed l
  fi
  # echo `date`" ::CURRENT::" $T"F" ${CONVFTOC}"C -- fanspeed:" $newRPM "(written to "${FANLOGFILE}")." >>${FANLOGFILE}
  # wait for next cycle
  sleep $update_interval
done

Last edited by dadoes (2008-09-24 20:42:28)


Attachments:
Attachment Icon ctrl_fanspeed.sh, Size: 1,707 bytes, Downloads: 235

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2010 PunBB