kirkwood: use 3 temperature sensors for Zyxel NSA310B
[openwrt/openwrt.git] / target / linux / kirkwood / base-files / etc / init.d / hwmon_fancontrol
index c64ed1100cb1b1988760c88de37166cf6e9233dc..334a2a08ef93c19e2ed7486dd2541a8de02945da 100755 (executable)
@@ -27,10 +27,22 @@ boot() {
                ;;
        zyxel,nsa310b)
                path_to_hwmon='/sys/devices/platform/ocp@f1000000/f1011000.i2c/i2c-0/0-002e/hwmon/hwmon0'
-               echo 2 > "$path_to_hwmon/pwm1_enable" # fan is on pwm1
-               echo 1 > "$path_to_hwmon/pwm1_auto_channels" # temp1 is the only one that changes
-               echo 23000 > "$path_to_hwmon/temp1_auto_temp_min"
-               echo 43000 > "$path_to_hwmon/temp1_auto_temp_max" # next step is 49600 millicelsius, or 50 celsius, 43 celsius is better
+               # use the max. value of (temp1) OR (temp2) OR (temp3) as an input
+               # for the PWM of the cooling fan
+               echo 123 > "$path_to_hwmon/pwm1_auto_channels"
+               # Temperature sensor #1 placed on mainboard
+               echo 30000 > "$path_to_hwmon/temp1_auto_temp_min"
+               echo 49600 > "$path_to_hwmon/temp1_auto_temp_max"
+               # Temperature sensor #2 placed on mainboard
+               # range: 0 to 127000 in steps of 1000 [millicelsius]
+               echo 30000 > "$path_to_hwmon/temp2_auto_temp_min"
+               # range: 0 to 127000 in steps of ???? [millicelsius]
+               echo 49600 > "$path_to_hwmon/temp2_auto_temp_max"
+               # Temperature sensor #3 placed close to a chipset
+               # range: 0 to 60000 in steps of 1000 [millicelsius]
+               echo 23000 > "$path_to_hwmon/temp3_auto_temp_min"
+               # pre-defined steps: 103000, 122000, 143300, 170000 in [millicelsius]
+               echo 103000 > "$path_to_hwmon/temp3_auto_temp_max"
                ;;
        esac
 }