diff --git a/target/linux/mvebu/base-files/sbin/fan_ctrl.sh b/target/linux/mvebu/base-files/sbin/fan_ctrl.sh
index f7f4e0598d31a3ab892a2aad0a372e65f82f9446..06e462119d21dab7e5c30e01a899241ebfb1ecc4 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 [ -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
+	exit 0
+fi
+
 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
+	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" > /sys/devices/pwm_fan/hwmon/hwmon0/pwm1
+	echo "100" > $FAN_CTRL
 else
-	echo "0" > /sys/devices/pwm_fan/hwmon/hwmon0/pwm1
+	echo "0" > $FAN_CTRL
 fi