From bc7a8067c9e9a8f33f1457f2ea99e91736ec5079 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 20 Sep 2023 20:37:12 +0200 Subject: [PATCH] added fancontrol script for odroid hc4 --- hc4_fancontrol.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 hc4_fancontrol.sh diff --git a/hc4_fancontrol.sh b/hc4_fancontrol.sh new file mode 100644 index 0000000..56c7261 --- /dev/null +++ b/hc4_fancontrol.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +THRESHOLD=42000 +INTERVAL=30 +FAN="/sys/class/hwmon/hwmon2/pwm1" + +# set fan mode to manual +echo "disabled" | tee /sys/class/thermal/thermal_zone{0,1}/mode > /dev/null + +# set fan speed to max if either cpu or ram is above $THRESHOLD +while true; do + TOOHOT=0 + FANSPEED=$(cat $FAN) + TEMP=($(cat /sys/devices/virtual/thermal/thermal_zone{0,1}/temp)) + for i in ${TEMP[@]}; do + if [ $i -gt $THRESHOLD ]; then + TOOHOT=255 + fi + done + if [ $TOOHOT -eq 0 ]; then + if [ $FANSPEED -ne $TOOHOT ]; then + echo 170 > $FAN; sleep 2 + echo 120 > $FAN; sleep 2 + echo $TOOHOT > $FAN + fi + else + if [ $FANSPEED -ne $TOOHOT ]; then + echo 120 > $FAN; sleep 2 + echo 170 > $FAN; sleep 2 + echo $TOOHOT > $FAN + fi + fi + # debug output + #echo "temp=${TEMP[@]},speed=$FANSPEED, toohot=$TOOHOT" + sleep $INTERVAL +done