diff --git a/target/linux/mvebu/base-files/sbin/fan_ctrl.sh b/target/linux/mvebu/base-files/sbin/fan_ctrl.sh index f7f4e0598d..06e462119d 100755 --- a/target/linux/mvebu/base-files/sbin/fan_ctrl.sh +++ b/target/linux/mvebu/base-files/sbin/fan_ctrl.sh @@ -11,10 +11,18 @@ 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 +if [ -d /sys/devices/pwm_fan ];then + FAN_CTRL=/sys/devices/pwm_fan/hwmon/hwmon0/pwm1 +elif [ -d /sys/devices/platform/pwm_fan ];then + FAN_CTRL=/sys/devices/platform/pwm_fan/hwmon/hwmon0/pwm1 else - echo "0" > /sys/devices/pwm_fan/hwmon/hwmon0/pwm1 + exit 0 +fi + +if [ "$CPU_TEMP" -ge "$CPU_HIGH" -o "$DDR_TEMP" -ge "$DDR_HIGH" -o "$WIFI_TEMP" -ge "$WIFI_HIGH" ];then + echo "255" > $FAN_CTRL +elif [ "$CPU_TEMP" -ge "$CPU_LOW" -o "$DDR_TEMP" -ge "$DDR_LOW" -o "$WIFI_TEMP" -ge "$WIFI_LOW" ];then + echo "100" > $FAN_CTRL +else + echo "0" > $FAN_CTRL fi