🛠 Dompter la chauffe : throttling à 70 °C, dissipateur et pilotage CPU
Objetivos
El BPI-CM4 es un campeón del colapso térmico: el throttling comienza alrededor de 70 °C y, en un módulo desnudo bajo stress-ng, la frecuencia se desploma en apenas 5 segundos — después de 10 minutos, un módulo sin refrigeración funciona a 1000/1000 MHz frente a 1800/1398 MHz con un simple disipador pequeño (medidas publicadas). Vas a reproducir la prueba, instrumentar los dos clusters big.LITTLE (4× A73 + 2× A53, políticas cpufreq separadas) y decidir entre disipador, límite de frecuencia y governor.
Material
- BPI-CM4 + placa base, fuente de alimentación 5 V / 3 A
- Pequeño disipador adhesivo (el de las medidas públicas es suficiente); una carcasa sin flujo de aire agrava todo
- Termómetro infrarrojo opcional
Código completo
sudo apt update && sudo apt install -y stress-ng linux-cpupower
# État des politiques de fréquence (une par cluster big.LITTLE)
for p in /sys/devices/system/cpu/cpufreq/policy*; do
echo "$p : $(cat $p/scaling_governor) $(cat $p/cpuinfo_cur_freq 2>/dev/null)"
done
# Températures (thermal zones amlogic)
for z in /sys/class/thermal/thermal_zone*/; do
echo "$(cat $z/type 2>/dev/null) : $(($(cat $z/temp 2>/dev/null)/1000)) °C"
done
# Test de 10 min avec enregistrement des fréquences
sudo stress-ng --matrix 0 --timeout 10m &
while sleep 15; do
date +%T; paste -sd' ' /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
done
# Plafonner les A73 à 1,8 GHz pour un régime silencieux
sudo cpupower frequency-set -d 1GHz -u 1.8GHz
Verificación esperada
Sin disipador: caída visible en pocos segundos hacia las frecuencias mínimas, estabilización alrededor de 1000 MHz por núcleo después de 10 minutos. Con disipador: mantenimiento claramente superior (del orden de 1800/1398 MHz). Consumo de referencia medido en esta configuración: 1,8 W en reposo, 4,1 W a plena carga con stress-ng.
Errores frecuentes
- Concluir que hay un defecto en la tarjeta: el comportamiento es normal para un módulo desnudo; la regla de uso es el disipador.
- Observar solo un núcleo: los clusters A73 y A53 tienen políticas distintas, hay que registrarlos conjuntamente.
- Probar en una carcasa cerrada sin ventilación: peor que el módulo desnudo.
- Confundir la temperatura de umbral (~70 °C documentada) con una temperatura máxima de unión: el máximo absoluto del A311D no está publicado en las fuentes accesibles.
- Comparar benchmarks sin controlar la temperatura: una puntuación obtenida en frío no tiene nada que ver con el régimen establecido.
Otros tutoriales para esta placa
- Monter le module BPI-CM4 sur son carrier et réussir le premier boot
- Apprivoiser les LED et la touche ADC du carrier CM4IO
- Mesurer le stockage du BPI-CM4 : eMMC, microSD et le palier NVMe
- Activer I2C, SPI et UART sur le BPI-CM4 : env.txt ou armbianEnv.txt
- Brancher un capteur BME280 sur l'I2C1 du carrier (GPIOX_17/18)
- Déplacer le rootfs sur un SSD NVMe via le port mini-PCIe
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash