Hi,
I'm new, and a real Linux noob, but after reading the complete thread carefully and trying over and over again i have found the correct way to control the fans on boot. I have tested it more than once on my "spare" ReadyNAS Pro 4.
Make sure you have setup your NAS and that it is working. After that enable SSH and login with ie Putty. Issue the following commands in the correct order
mkdir /volume1/@tmp
cd /volume1/@tmp
wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh
chmod +x syno-i686-bootstrap_1.2-7_i686.xsh
sh syno-i686-bootstrap_1.2-7_i686.xsh
ipkg update
ipkg upgrade
ipkg install perl
ipkg install bash
ipkg install mktemp
ipkg install lm-sensors
Than edit the file .profile located in /root as shown below (PATH is extended and at the bottom a code is added to boot into bash)
umask 022
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
export PATH
#This fixes the backspace when telnetting in.
#if [ "$TERM" != "linux" ]; then
# stty erase
#fi
HOME=/root
export HOME
TERM=${TERM:-cons25}
export TERM
PAGER=more
export PAGER
PS1="`hostname`> "
alias dir="ls -al"
alias ll="ls -la"
if [[ -x /opt/bin/bash ]]; then
exec /opt/bin/bash
fi
Now create a startup script S99fancontrol.sh in /usr/syno/etc/rc.d/ containing the following code
#!/opt/bin/bash
# Use the same head in fancontrol script
#
# S99fancontrol.sh - startup script for fancontrol
#
# This goes in /usr/syno/etc/rc.d and gets run at boot-time.
FANCONTROL=/opt/sbin/fancontrol
case "$1" in
start)
if [ -x "$FANCONTROL" ] ; then
echo "start fancontrol"
$FANCONTROL &
fi
;;
stop)
echo "stop fancontrol"
kill -TERM `cat /var/run/fancontrol.pid` > /dev/null 2>&1
logger -p daemon.error "$0 stop fancontrol"
sleep 1
;;
*)
echo "usage: $0 { start | stop }" >&2
exit 1
;;
esac
Set permissions to 755 with
chmod 755 /usr/syno/etc/rc.d/S99fancontrol.sh
Now test your sensors with
sensors
It will give an output similar to the code below
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +37.0°C (crit = +100.0°C)
it8721-isa-0a10
Adapter: ISA adapter
in0: +3.06 V (min = +2.20 V, max = +3.06 V) ALARM
in1: +2.86 V (min = +0.00 V, max = +2.08 V) ALARM
in2: +2.22 V (min = +2.12 V, max = +1.42 V) ALARM
+3.3V: +3.34 V (min = +2.69 V, max = +4.01 V)
in4: +2.76 V (min = +2.05 V, max = +1.91 V) ALARM
in5: +1.16 V (min = +1.46 V, max = +1.40 V) ALARM
in6: +2.80 V (min = +0.08 V, max = +1.52 V) ALARM
3VSB: +3.29 V (min = +5.93 V, max = +6.05 V) ALARM
Vbat: +3.31 V
fan1: 2033 RPM (min = 10 RPM)
fan2: 0 RPM (min = 14 RPM) ALARM
temp1: +49.0°C (low = +112.0°C, high = -5.0°C) ALARM sensor = thermal diode
temp2: +33.0°C (low = -53.0°C, high = +61.0°C) sensor = thermal diode
temp3: -128.0°C (low = +79.0°C, high = -7.0°C) sensor = disabled
intrusion0: ALARM
If everything is ok we have to build the default config files
sensors -s
Now we are ready to build /etc/fancontrol
bash pwmconfig
Follow the steps, but in general you can use the following as a guide
Select 1) hwmon/device/pwm1
Select 4) hwmon/device/temp2_input
Low temperature is default at 20
High temperature is default at 60
Minimum PWM value is 8 (check this, it is tested before)
Minimum PWM value when fan starts spinning is 8 (30 are added)
PWM value when below low temperature = 8
PWM value when over the high temperature limit = 165 (check this, it is tested before ans should be about 3000/3100 rpm)
After you saved it, it will create a config file /etc/fancontrol and it will look like this:
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=2
DEVPATH=hwmon0= hwmon1=
DEVNAME=hwmon0=coretemp hwmon1=it8721
FCTEMPS=hwmon1/device/pwm1=hwmon0/device/temp2_input
FCFANS= hwmon1/device/pwm1=hwmon1/device/fan1_input
MINTEMP=hwmon1/device/pwm1=20
MAXTEMP=hwmon1/device/pwm1=60
MINSTART=hwmon1/device/pwm1=38
MINSTOP=hwmon1/device/pwm1=8
MINPWM=hwmon1/device/pwm1=8
MAXPWM=hwmon1/device/pwm1=165
Now you can test your setup
bash fancontrol
If things are right the fans should spin-down immediately. Exit with ctrl-c and fans will spin-up again.
We have to edit /opt/sbin/fancontrol change the header to
#!/opt/bin/bash
Time to shutdown and restart your ReadyNAS
shutdown -h now
When your NAS is really off, power it on again. If all is fine, the fan will spin-down after the boot sequence is completed.
If you still boot from an USB stick, maybe it is time to replace the original Netgear bootcode.
First make a backup and copy it to a save place
dd if=/dev/sdu of=/dev/backup_netgear
Copy your image to ie /dev, after that unmount your USB volumes (if your USB stick is still present it is safe to unmount that also)
umount /dev/sdu1
Your USB is probably sdu2
umount /dev/sdu2
Now write the bootcode to sdu1
dd if=/dev/insert_the_name_of_your_image_here.img of=/dev/sdu
Reboot!
Hope this helps those who had problems before.... Now find a way to control the LCD!!!