香橙派Linux系统手动调节PWM风扇转速

一、设备

        手上一块香橙派的 Orangepi5 plus,目前跑的 ubuntu 22 服务器版本,用来跑一些模型和算法。

二、引脚分析

        官方手册没有提及如何手动控制风扇的 pwm 引脚,翻原理图可以看到风扇引脚:

查看设备树文件 kernel/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts

可以看到风扇的pwm引脚定义:

以上只是风扇的基本信息,有需要可以自行查阅。

三、PWM引脚控制

        在 ARM64 开发板上,风扇控制可以通过 Linux 的 hwmon(Hardware Monitoring)接口实现。可以直接读写 /sys/class/hwmon/ 目录下的文件来控制风扇。

        风扇驱动的源码在 kernel/drivers/hwmon/pwm-fan.c,读者可以自行阅读。

进入到 /sys/class/hwmon/ 目录,查看已有设备:

查看各个节点的name:

可知风扇为最后一个,也就是 hwmon8,这里根据实际情况选择。

hwmon8 目录:

直接给定转速:

echo 150 | sudo tee pwm1

如果风扇刚开就关闭,过几秒在执行一次。

此时风扇应该是正常转动了,由于需要 sudo 权限,所以使用 tee 进行重定向。

四、问题

        此时你应该会发现,过几秒风扇就停了,这是因为系统根据 cpu 温度给自动关闭了。

目前我还没有发现如何关闭自动控制,若有读者了解,还请评论区留言。

以下是我的尝试:

当前目录下有子目录 power:

有关各个文件的描述,这里给出GPT的分析:

仅供参考,具体的值不一定是这个,我暂时还没有找到官方说明。

我这里只有 control 可以设置,不过没啥用。其他选项都是提示权限问题。

五、请勿轻易尝试

        如果你想完全拥有风扇控制权,那么把设备树中的节点给注释或删除,自定义一个 PWM 外设节点,引脚使用同一个,然后使用通用的 PWM 驱动来管理。驱动可以在正点原子的 Linux 驱动教程找,比较详细。应用程序也可以在正点原子的教程里做移植。

        但是!但是!但是!

        RK3588听说容易烧,最好还是给系统自动管理风扇要安全些,请勿轻易尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

plmm烟酒僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值