rk3588飞牛OS系统pwm风扇调节

rk3588飞牛OS系统pwm风扇调节

__

完整操作流程(修改DTB实现风扇自定义调速)

1. 安装必要工具

bash

sudo apt update
sudo apt install device-tree-compiler -y

2. 备份当前设备树文件

bash

sudo cp /boot/dtb/rockchip/rk3588-orangepi-5-plus.dtb /boot/dtb/rockchip/rk3588-orangepi-5-plus.dtb.bak.$(date +%Y%m%d)

3. 反编译当前DTB为可编辑的DTS源文件

bash

dtc -I dtb -O dts -o /tmp/opi5p.dts /boot/dtb/rockchip/rk3588-orangepi-5-plus.dtb

4. 编辑DTS文件,修改风扇节点

用你喜欢的编辑器打开(这里以nano为例):

bash

nano /tmp/opi5p.dts

在文件中搜索并定位到这两个节点:thermal-zones以及 pwm-fan ,(内容可能略有不同)然后将thermal-zones 中的package-thermal节点修改为如下内容:

		package-thermal {
				polling-delay-passive = <100>;
				polling-delay = <1000>;
				thermal-sensors = <0xd6 0x00>;

				trips {
					t0: trip0 {
						temperature = <45000>;
						hysteresis = <2000>;
						type = "passive";
					};

					t1: trip1 {
						temperature = <55000>;
						hysteresis = <2000>;
						type = "passive";
					};

					t2: trip2 {
						temperature = <65000>;
						hysteresis = <2000>;
						type = "passive";
					};

					t3: trip3 {
						temperature = <75000>;
						hysteresis = <2000>;
						type = "critical";
					};
				};

				cooling-maps {
					map0 {
						trip = <&t0>;
						cooling-device = <&pwm_fan 0 1>;
					};

					map1 {
						trip = <&t1>;
						cooling-device = <&pwm_fan 1 2>;
					};

					map2 {
						trip = <&t2>;
						cooling-device = <&pwm_fan 2 3>;
					};

					map3 {
						trip = <&t3>;
						cooling-device = <&pwm_fan 3 4>;
					};
				};
		};

同时将pwm-fan节点修改为:

	pwm_fan: pwm-fan {
			compatible = "pwm-fan";
			cooling-levels = <0 70 110 150 255>;
			fan-supply = <0x32>;
			pwms = <0x115 0x00 0xc350 0x00>;
			#cooling-cells = <2>;
	};

保存文件:Ctrl+O,回车,Ctrl+X。

5. 编译修改后的DTS回DTB

bash

dtc -I dts -O dtb -o /tmp/rk3588-orangepi-5-plus.dtb /tmp/opi5p.dts

如果编译成功,仅仅会有警告信息Warning。如果出现错误,请检查DTS语法(括号、分号是否完整)。

6. 替换系统DTB文件

bash

sudo cp /tmp/rk3588-orangepi-5-plus.dtb /boot/dtb/rockchip/rk3588-orangepi-5-plus.dtb

7. 重启系统使修改生效

bash

sudo reboot

8. 验证风扇控制效果

重启后重新SSH登录,执行以下命令观察:

bash

# 查看当前PWM值(系统要求风扇转多快)
cat /sys/class/hwmon/hwmon0/pwm1

# 查看当前CPU温度
cat /sys/class/thermal/thermal_zone0/temp

# 如果想加压测试,可以安装stress工具
sudo apt install stress -y
# -c 4 → 4个CPU核心满载
#-t 120 → 跑120秒
#& → 后台运行
stress -c 4 -t 120 &
# 同时监控pwm1变化
watch -n 1 cat /sys/class/hwmon/hwmon0/pwm1

⚠️ 重要注意事项

  • 备份还原:如果替换后系统无法启动,可以在启动时按提示进入恢复模式,或用TF卡启动,将备份的dtb文件恢复回去(日期改为备份文件对应日期):

    bash

    sudo cp /boot/dtb/rockchip/rk3588-orangepi-5-plus.dtb.bak.20250313 /boot/dtb/rockchip/rk3588-orangepi-5-plus.dtb
  • 内核更新:以后如果升级内核,可能会更新dtb文件,你的修改会被覆盖。升级后需要重新执行此流程。

Docker环境下Nginx Proxy Manager配置注意事项 2026-03-23
27H5小游戏数据备份 2026-04-02

评论区