Odp: BPi-R3 i trochę info o PWM FAN, karcie SD, zasilaczu
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 60000Pró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 2gdzie:
0 - nie działa (zatrzymany)
1 - działa na pierwszej prędkości
2 - działa na drugiej prędkościZmienić 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_temp45000 - 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 2Jaki 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 96Tu 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
Czy mi się zdaje czy powyższe komendy przestały działać ? Moja wersja OpenWRT to 24.10-SNAPSHOT - r29030-ae51d0098e