diff options
Diffstat (limited to 'target/linux/mvebu/base-files')
-rw-r--r-- | target/linux/mvebu/base-files/etc/crontabs/root | 1 | ||||
-rwxr-xr-x | target/linux/mvebu/base-files/sbin/fan_ctrl.sh | 20 |
2 files changed, 21 insertions, 0 deletions
diff --git a/target/linux/mvebu/base-files/etc/crontabs/root b/target/linux/mvebu/base-files/etc/crontabs/root new file mode 100644 index 0000000000..e692f578bb --- /dev/null +++ b/target/linux/mvebu/base-files/etc/crontabs/root @@ -0,0 +1 @@ +*/5 * * * * /sbin/fan_ctrl.sh diff --git a/target/linux/mvebu/base-files/sbin/fan_ctrl.sh b/target/linux/mvebu/base-files/sbin/fan_ctrl.sh new file mode 100755 index 0000000000..f7f4e0598d --- /dev/null +++ b/target/linux/mvebu/base-files/sbin/fan_ctrl.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +CPU_TEMP=`cut -c1-2 /sys/class/hwmon/hwmon2/temp1_input` +DDR_TEMP=`cut -c1-2 /sys/class/hwmon/hwmon1/temp1_input` +WIFI_TEMP=`cut -c1-2 /sys/class/hwmon/hwmon1/temp2_input` + +CPU_LOW=85 +CPU_HIGH=95 +DDR_LOW=65 +DDR_HIGH=75 +WIFI_LOW=100 +WIFI_HIGH=115 + +if [ "$CPU_TEMP" -ge "$CPU_HIGH" -o "$DDR_TEMP" -ge "$DDR_HIGH" -o "$WIFI_TEMP" -ge "$WIFI_HIGH" ];then + echo "255" > /sys/devices/pwm_fan/hwmon/hwmon0/pwm1 +elif [ "$CPU_TEMP" -ge "$CPU_LOW" -o "$DDR_TEMP" -ge "$DDR_LOW" -o "$WIFI_TEMP" -ge "$WIFI_LOW" ];then + echo "100" > /sys/devices/pwm_fan/hwmon/hwmon0/pwm1 +else + echo "0" > /sys/devices/pwm_fan/hwmon/hwmon0/pwm1 +fi |