renedis / ubnt-auto-fan-speed

Automatic fan speed setting on UDM-PRO 1.8.5+ firmware
92 stars 12 forks source link

Reduce in half the minimum fan speed #1

Closed Kydonakis closed 2 years ago

Kydonakis commented 2 years ago

Thanks for the script and the work behind it. Not a real issue, rather a question as I am not, at the moment, willing to mess a lot with my UDM PRO files.

My target is to reduce the minimum fan speed from 50% to 25% without enabling the "auto" function. I don't mind if this modification persists a reboot as long as I can manually do it when needed.

Can I only edit the 2 values on the /sys/class/hwmon/hwmon0/device/pwm2_auto_point1_pwm /sys/class/hwmon/hwmon0/device/pwm1_auto_point1_pwm

files and set them to 64, instead of the default 128 value?

Is that enough, will it immediately work? Do I need to restart the "ubnt-fan-speed" and "S04ubnt-fan-speed" services somehow?

Thanks!

renedis commented 2 years ago

Thanks for the script and the work behind it. Not a real issue, rather a question as I am not, at the moment, willing to mess a lot with my UDM PRO files.

My target is to reduce the minimum fan speed from 50% to 25% without enabling the "auto" function. I don't mind if this modification persists a reboot as long as I can manually do it when needed.

Can I only edit the 2 values on the /sys/class/hwmon/hwmon0/device/pwm2_auto_point1_pwm /sys/class/hwmon/hwmon0/device/pwm1_auto_point1_pwm

files and set them to 64, instead of the default 128 value?

Is that enough, will it immediately work? Do I need to restart the "ubnt-fan-speed" and "S04ubnt-fan-speed" services somehow?

Thanks!

Very sorry that i've missed this.

Stop the ubnt service:

if pidof ubnt-fan-speed &>/dev/null; then
  INIT_SCRIPT_PID=`pidof S04ubnt-fan-speed`
  UBNT_FAN_SPEED_PID=`pgrep -P ${INIT_SCRIPT_PID}`
  kill ${INIT_SCRIPT_PID} ${UBNT_FAN_SPEED_PID}
  sleep 1
fi

Then change to manual, you need to set:

UBIOS_CPU_FAN_MODE=1
UBIOS_HDD_FAN_MODE=1

on /sys/class/hwmon/hwmon0/device/pwm2_enable and /sys/class/hwmon/hwmon0/device/pwm1_enable.

You are "writing" values directly to the controller chip, so the service is not needed to start again. The service is made by ubnt and only specific for ubnt.