Forzar la velocidad de ventilador de los Unifi cloud gateway

Gracias al usuario @M_Dozo que nos ha escrito y facilitado la guía y a @Dango00 que nos ha indicado el fichero para forzar la velocidad de ventilador de los Unifi cloud Gateway, indico a continuación cómo configurar el equipo para que, en caso de reinicio, se reconfigure el ventilador, ya que, en caso de reinicio, este regresa a su valor por defecto (0) y por tanto se desactiva.

Para esto vamos a usar la carpeta “data” que a priori es persistente, no obstante, es recomendable que en caso de actualización de firmware se compruebe que dicho script y crontab no se han perdido.

El Script verifica si el valor que tiene el fichero tiene el valor deseado, y si no lo tiene, lo modifica. Mientras el valor sea el correcto, no hará modificaciones.

1 – Crear carpeta /data/fan_controller/

mkdir /data/fan_controller

El Script verifica si el valor que tiene el fichero tiene el valor deseado, y si no lo tiene, lo modifica. Mientras el valor sea el correcto, no hará modificaciones.

2 – Copiar el script a dicha carpeta (se puede meter por SFTP o crearlo con “vi”)

ARCHIVO

3 – Añadir 2 entradas en el crontab. Una para ejecutarse justo tras reiniciar, y otra que comprueba el valor cada 15 minutos y si este ha cambiado, lo modifica:

Crontab -e

Añadimos:

@reboot /data/fan_controller/check_fan.sh

*/15 * * * * /data/fan_controller/check_fan.sh

 

Se tiene que quedar así

A screenshot of a computer program AI-generated content may be incorrect.

El script está configurado con una velocidad del ventilador de 164 (0-255), por lo que está configurado alrededor del 65% de su velocidad máxima. Este valor se puede cambiar en el script a gusto de cada uno. No obstante, estando configurado a la mitad (128) ya mantiene la temperatura de CPU en valores aceptables.

El script genera un log de salida donde se pueden ver los cambios que realiza:

A screen shot of a computer AI-generated content may be incorrect.

Este es el contenido del script:

#!/bin/bash

# Configuración

LOGFILE="/data/fan_controller/hwmon_check.log" # Log en /data/fan_controller

EXPECTED_VALUE=164

PWM_FILE="/sys/class/hwmon/hwmon0/pwm1"

# Obtener el valor actual

CURRENT_VALUE=$(cat $PWM_FILE 2>/dev/null)

# Registrar en el log (necesario sudo para escribir en /data/fan_controller)

echo "$(date) - Valor actual: $CURRENT_VALUE" | sudo tee -a $LOGFILE > /dev/null

# Comparar el valor y corregir si es necesario

if [[ "$CURRENT_VALUE" != "$EXPECTED_VALUE" ]]; then

echo $EXPECTED_VALUE | sudo tee $PWM_FILE > /dev/null

echo "$(date) - Valor corregido a $EXPECTED_VALUE" | sudo tee -a $LOGFILE > /dev/null

fi

 

 

Post hecho por el socio:
Si te ha gustado... ¡Compártelo!
Homelabs esuna asociación sin ánimo de lucro. Advierte que el contenido compartido por sus socios no constituye asesoramiento profesional. No asumimos responsabilidad por el mal uso de los artículos de la web, debiéndose contrastar previamente, eximiéndonos de cualquier consecuencia.
Posts relacionados
Asociación homelabs
Logo
Shopping cart