101

Odp: BPi-R3 i trochę info o PWM FAN, karcie SD, zasilaczu

Payti napisał/a:

Jeśli masz wpięty wiatraczek do złącza FAN 3pin (oryginalne wiatraczki Sinovoip), to masz obsługę PWM z kernela i tak nim sterujesz:

Odczyt domyślnych progów (trip pointów) zapodanych podczas kompilacji:

cat /sys/class/thermal/thermal_zone0/trip_point_0_temp
cat /sys/class/thermal/thermal_zone0/trip_point_1_temp
cat /sys/class/thermal/thermal_zone0/trip_point_2_temp
cat /sys/class/thermal/thermal_zone0/trip_point_3_temp
cat /sys/class/thermal/thermal_zone0/trip_point_4_temp

root@Banana_Pi_BPI-R3:~# cat /sys/class/thermal/thermal_zone0/trip_point_0_temp
125000
root@Banana_Pi_BPI-R3:~# cat /sys/class/thermal/thermal_zone0/trip_point_1_temp
120000
root@Banana_Pi_BPI-R3:~# cat /sys/class/thermal/thermal_zone0/trip_point_2_temp
115000
root@Banana_Pi_BPI-R3:~# cat /sys/class/thermal/thermal_zone0/trip_point_3_temp
85000
root@Banana_Pi_BPI-R3:~# cat /sys/class/thermal/thermal_zone0/trip_point_4_temp
60000

Próg dolny to: trip_point_4_temp a 60000 oznacza 60 st. C.
Wówczas wiatraczek domyślnie startuje jak temperatura CPU  osiągnie 60 st. C (na pierwszym trybie prędkości).

Na jakiej prędkości aktualnie działa wiatraczek można zobaczyć komendą:

root@Banana_Pi_BPI-R3:~# cat /sys/class/thermal/cooling_device0/cur_state
0
root@Banana_Pi_BPI-R3:~# cat /sys/class/thermal/cooling_device0/cur_state
1
root@Banana_Pi_BPI-R3:~# cat /sys/class/thermal/cooling_device0/cur_state
2

gdzie:
0 - nie działa (zatrzymany)
1 - działa na pierwszej prędkości
2 - działa na drugiej prędkości

Zmienić progi 'na stałe' można poprzez dodanie do: /etc/rc.local przed 'exit 0' linijek j/n i reboot routera:

echo 45000 > /sys/class/thermal/thermal_zone0/trip_point_4_temp
echo 50000 > /sys/class/thermal/thermal_zone0/trip_point_3_temp
echo 55000 > /sys/class/thermal/thermal_zone0/trip_point_2_temp
echo 60000 > /sys/class/thermal/thermal_zone0/trip_point_1_temp
echo 75000 > /sys/class/thermal/thermal_zone0/trip_point_0_temp

45000 - oznacza 45 st. C -> od takiej temperatury CPU teraz będzie startował wiatraczek

Ręczne wymuszenie prędkości, choć działa to przez chwilę bo automatyka kernela co chwilę (co kilka sekund) sprawdza temperatury:

echo 1 > /sys/class/thermal/cooling_device0/cur_state
root@Banana_Pi_BPI-R3:~# cat /sys/class/thermal/cooling_device0/cur_state
1

echo 2 > /sys/class/thermal/cooling_device0/cur_state
root@Banana_Pi_BPI-R3:~# cat /sys/class/thermal/cooling_device0/cur_state
2

Jaki jest poziom wypełnienia fali PWM (trzeci żółty przewód wiatraczka, sterowanie prędkością) można zobaczyć komendą:

cat /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1

root@Banana_Pi_BPI-R3:~# cat /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1
96

Tu wartości zazwyczaj są:
255 - pierwszy bieg obrotowy
96 - drugi bieg obrotowy
0 - trzeci bieg obrotowy (max obrotów wiatraczka)


Ogólnie znaczenie trip pointów dla sterowania wiatrakiem w BPi-R3 jest:
==========================================
[trip_point]    [mode]   [fan_speed]                [pwm_value]
trip_point_4   → active   → fan running normal   → pwm1 = 255
trip_point_3   → active   → fan running fast        → pwm1 = 96
trip_point_2   → active   → fan running very fast → pwm1 = 0
trip_point_1   → hot       → fan running normal   → pwm1 = 255
trip_point_0   → critical  → reboot
==========================================


Miłego testowania wink


Czy mi się zdaje czy powyższe komendy przestały działać ? Moja wersja OpenWRT to 24.10-SNAPSHOT - r29030-ae51d0098e