NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
AMRivlin
Mar 21, 2013Apprentice
OS6 now works on x86 Legacy WARNING: NO NTGR SUPPORT!
Update: It is now unofficially possible using NTGR images to update legacy hardware to os6.X See Post #3, for directions to install 6.2.1 on x86 Ultra and Pro Models. (ARM NOT SUPPORTED by this OS) ...
- Jan 21, 2016
mdgm and I have decided that its time to lock this thread. So please do post any new OS6 on Legacy issues on their own threads.
sventunus
May 15, 2013Aspirant
demetris wrote: They were from an ubuntu 12.04 OS. You guys have to find a matchable pair for Debian Wheezy.
Nope.
"Us guys" [ReadyNAS Ultra 6] don't need to install any modules, they're available in the kernel (I'm on an Ultra 6).
Check dmesg | grep coretemp it87, the modules are there.
What you need to do first is the following:
apt-get update && apt-get -y upgrade
apt-get install lm-sensors fancontrol
Then edit /etc/fancontrol via vi or nano or whatever to be as such:
INTERVAL=5
DEVPATH=hwmon0=devices/platform/coretemp.0 hwmon1=devices/platform/it87.2576
DEVNAME=hwmon0=coretemp hwmon1=it8721
FCTEMPS= hwmon1/device/pwm3=hwmon1/device/temp3_input
FCFANS= hwmon1/device/pwm3=hwmon1/device/fan3_input
MINTEMP= hwmon1/device/pwm3=51
MAXTEMP= hwmon1/device/pwm3=58
MINSTART= hwmon1/device/pwm3=40
MINSTOP= hwmon1/device/pwm3=40
MINPWM= hwmon1/device/pwm3=40
MAXPWM= hwmon1/device/pwm3=150
Then:
reboot
Then, create & chmod 755 a file called /bin/fan-monitor with the following contents:
#!/bin/bash
# log and send mail
function sendmail {
( echo "To:$email_address"
echo "From:$email_address"
echo "Subject:$host: temp-monitor: $1"
echo
echo "$2" ) | /usr/sbin/sendmail -t --read-envelope-from
echo $message >> $log
}
# files
lock="/tmp/.fan-monitor.lock" # lock file (needed?)
log="/var/log/fan-monitor.log" # log file
pwm_file="/sys/devices/platform/it87.2576/pwm3" # pwm file
# misc
dt=$(date +"%F %R") # get timestamp for logging
email_address="<your_email>"
host=`hostname`
# superuser check
if [[ $EUID -ne 0 ]]; then # check if process is running as superuser
echo $dt "This script must be run as root" >> $log # need su to write pwm file
exit 10
fi
# check for lock
[ -f "$lock" ] && exit # exit if another instance of this script
>$lock # is writing to pwm file (not nessesary?)
# get output from sensors into an array
OLDIFS="$IFS" # store current IFS
IFS=$'\n' # set IFS to newline
list=(`sensors`) # populate array from sensors output
IFS="$OLDIFS" # restore original IFS
# get values from array
cpu0=$(echo ${list[2]} | cut -f3 -d' ' | grep -P -o "[0-9.]+" | cut -f1 -d'.') # sensors cpu0 temperature
cpu1=$(echo ${list[3]} | cut -f3 -d' ' | grep -P -o "[0-9.]+" | cut -f1 -d'.') # sensors cpu1 temperature
fan=$(echo ${list[18]} | cut -f3 -d' ') # sensors fan speed
fan_min=$(echo ${list[18]} | cut -f7 -d' ') # sensors minimum fan speed
# read pwm values
pwm=$(cat $pwm_file) # pwm value from pwm file
pwm_min=40 # known minimum value
pwm_max=255 # known maximum value
# determine cpu with highest temperature
cpu=0
cpu_name=""
if ((cpu0 >= cpu1))
then
cpu=$cpu0
cpu_name="CPU0"
else
cpu=$cpu1
cpu_name="CPU1"
fi
# verify cpu test has returned a value
if ((cpu == 0)); then
message="$dt: CPU test failed, cpu0: $cpu0, cpu1: $cpu1"
sendmail "ERROR" "$message"
rm -f $lock # cleanup lock
exit 11 # exit error code
fi
# set the new pwm value for the fan speed.
if ((cpu < 40)); then
new_pwm=$pwm_min
elif ((cpu > 70)); then
new_pwm=$pwm_max
else
let new_pwm=($cpu-40)*10+40
fi
# check new pwm value
if ((new_pwm == 0)); then # no new pwm value = no need to do anything
echo "$dt: OK: $cpu_name: $cpu, pwm: $pwm" >> $log # log ok status if you want to keep track of what's
happening
rm -f $lock # cleanup locks
exit 0 # exit with ok status
fi
# don't resend emails if there is no change from previous run
if ((new_pwm != pwm)); then
# ok, now we have a new pwm value and need to set it
command_out=$( `echo $new_pwm > $pwm_file` 2>&1 ) # write new pwm value to pwm file, and catch any
output
command_rc=$? # get error codes
uptime=$(echo `uptime`) # get extra data for email
if (( command_rc == 0)); then
# no errors setting pwm.
message="$dt: pwm changed: $pwm -> $new_pwm, $cpu_name temp: $cpu, fan: $fan uptime: $uptime"
sendmail "Fan speed changed" "$message"
else
# oops, we got an error setting new pwm.
message="$dt: ERROR setting pwm: $pwm -> $new_pwm, $cpu_name temp: $cpu, fan: $fan uptime: $uptime -
ERRROR rc: $command_rc, stdout and stderr: $command_out"
sendmail "ERROR" "$message"
fi
fi
#cleanup locks
rm -f $lock
Change <your_email> to your own email address.
And then edit crontab by typing
crontab -eand adding the following line:
* * * * * /bin/fan-monitor > /dev/null
This will monitor the CPU temps for both Atom cores & adjust the fan speeds accordingly (for an Ultra 6) & send email when things get out of hand.
It doesn't make frontview display the correct fan speed though, need to figure out how to do that still.
I've finally come around to updating my RN Ultra 6's FW with 3 weeks delay. It's syncing the array right now, will play with it some more this weekend.
A BIG, ++MEGA++ thank you goes out to all the people who made it possible to run NG's latest FW on our legacy devices!!
You know... those devices that are perfectly capable from a HW POV, but were supposedly not eligible for running this firmware according to Netgear...
Too bad we don't get to post metal-smileys here, but you guys rock! \m/
If anyone might have some tips on how to make frontview report correct fan speeds for an Ultra 6, I'm all ears, thanks! :-)
Related Content
NETGEAR Academy
Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology!
Join Us!