
banana-pi-BPI-R4 在immortalwrt固件下的cpu风扇控制脚本
banana-pi-BPI-R4 在immortalwrt固件下的cpu风扇控制脚本
官方提供的banana-pi-BPI-R4固件真的可以说很烂
连基本的wget-ssl都没有提供,刷banana-pi-BPI-R4官方的openwrt系统
连最基本的opkg update
都无法执行
原因在于就是没有安装wget-ssl,需要修改源地址为http,在安装wget-ssl
banana-pi-BPI-R4的官方openwrt固件是基于内核5.1的,wifi驱动也是闭源的
除了wifi信号很强,以及支持mlo外,官方的固件也就没有什么喜感了
下面是基于immortalwrt24.10.0的banana-pi-BPI-R4 cpu风扇控制脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
vi /sbin/fan-speed
#!/bin/sh /etc/rc.common
if [ ! -f /sys/class/pwm/pwmchip0/export ]; then
exit 0
fi
### 导出 PWM 通道 ###
echo 1 > /sys/class/pwm/pwmchip0/export 2>/dev/null
### 检查 PWM 通道是否已导出 ###
if [ -d /sys/class/pwm/pwmchip0/pwm1 ]; then
echo 10000 > /sys/class/pwm/pwmchip0/pwm1/period
echo 7000 > /sys/class/pwm/pwmchip0/pwm1/duty_cycle
echo normal > /sys/class/pwm/pwmchip0/pwm1/polarity
echo 1 > /sys/class/pwm/pwmchip0/pwm1/enable
else
echo "Failed to export PWM channel 1!"
exit 1
fi
### 温度控制循环 ###
while :
do
sleep 20
result=$(cat /sys/class/thermal/thermal_zone0/temp)
temperature=$((result))
if [ ${temperature} -ge 50000 ]; then
echo 5000 > /sys/class/pwm/pwmchip0/pwm1/duty_cycle
fi
if [ ${temperature} -ge 60000 ]; then
echo 1000 > /sys/class/pwm/pwmchip0/pwm1/duty_cycle
fi
if [ ${temperature} -le 48000 ]; then
echo 7000 > /sys/class/pwm/pwmchip0/pwm1/duty_cycle
fi
if [ ${temperature} -le 40000 ]; then
echo 10000 > /sys/class/pwm/pwmchip0/pwm1/duty_cycle
fi
done
开机启动
1
2
3
4
5
vi /etc/rc.local
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
fan-speed
exit 0