The fan control (fan-control-rock5b
) for the onboard fan interface in the Radxa 5B Plus board don’t work out of the box in the latest build.
Edited 11th: Custom fan control
As per the comment of incognito Below it turns out the fan-control is indeed part of the Linux kernel, but the fan is turned off until the CPU temp is 60 and above. This is a bit high for me so I have created a custom overlay to control the fan myself.
kernel values are:
soc-thermal->trips-> 60°C - 85°C - 115°C
cooling-levels = 0 64 128 192 255
Not sure I read this correctly but it seems fan is never at 100%:
temp |
fan |
0 - 60 |
0 |
60 - 85 |
64 (25%) |
85 - 115 |
128 (50%) |
115+ |
192 (75%) |
I have created an overlay with new cooling levels that work better for me:
- Create a text file
pwm-fan.dts
with value:
19% - 50% - 100% - 100% = 0x30 0x80 0xff 0xff 0xff
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&fan0>;
__overlay__ {
cooling-levels = <0x30 0x80 0xff 0xff 0xff>;
};
};
};
- Applied the new config:
sudo armbian-add-overlay pwm-fan.dts
Now, it works as I expect it to, the fan is always working but it speeds up when there are higher values.
My old post
My fix was to just set it to 100% using:
echo 255 | sudo tee /sys/devices/platform/pwm-fan/hwmon/hwmon*/pwm1
Looking into the code lukaszsobala/fan-control-rock5b it may be related to trying to write to /hwmon8/pwm1
while in Armbian 25.2.2 (5b+) it’s /hwmon10/pwm1
, but I am not sure this is the actual issue.
So I am sticking with 100% fan for now or may be 80% echo 204 | ...