Jump to content

Recommended Posts

Posted
46 минут назад, greg396 сказал:

And the fan wouldn't be active all the time and only if the cpu temperature raises to 50 degrees?

These settings are located in the dtb file.

To change them, you will have to make an overlay file with your settings.

Read the messages above.

Posted

Hello,

I bought the op5+ with the normal fan with 2 pin, but when starting the SBC, it starts at 100% speed keeping the chip at 32°C, is there a way to program the fan to only turn on from 45° ? I understand that it is not a programmable fan, just a simple one, I read earlier other posts about changing the stb file and editing the armbianenv file, is anything else needed? Thanks for the help

Posted

@royk

 

thanks for answering,

My system is:
<Armbian 24.5.1 Bookworm with bleeding edge Linux 6.8.11-edge-rockchip-rk3588>

I moved the file to /boot then run the command in terminal so that the line was added to the armbianEnv file, then I gave the poweroff order and when I restarted the system there was no change, the fan continued at 100% and kept the chip below 35°, is there anything else I can try?


ArmbianEnv.txt

GNU nano 7.2

verbosity=1

bootlogo=false

Console=both overlay_prefix=rockchip-rk3588 fdtfile=rockchip/rk3588-orangepi-5-plus.dtb

rootdey=UUID=2 c94c41f-b026-4717-82a6-3c0d968e559e

rootfstype=ext4 user_overlays=orangepi-5-plus-pwmfan

overlays=pwm0-m0 pwm0-m1 pwm0-m2 pwm1 -m0 pwm1-m1 pwm1-m2 sata1 sata2 usbstoragequirks=0x2537:0x1 066:u,0x2537:0x1068:u, 0x0bc2:0xab45:u, 0x0bc2:0xab44:u

 

 

Posted (edited)

@Manuel Carvajal Perhaps the overlays are interfering, you could try to remove all pwm overlays from ArmbianEnv.txt.

How did you connect the fan? If you connected it correctly it should by default go on when it reaches 50 degrees celsius.

 

If you use the overlay from here you could also change the temperature:

https://forum.armbian.com/topic/29253-temperature-and-fan-control-on-opi5/?do=findComment&comment=170456

 

Edited by royk
Posted

@royk

Hello

Edit the file back to:

 

 verbosity=1

bootlogo=false

console=both

overlay_prefix=rockchip-rk3588

fdtfile=rockchip/rk3588-orangepi-5-plus.dtb

rootdev=UUID=2c94c41f-b026-4717-82a6-3c0d968e559e

rootfstype=ext4

overlays=sata1 sata2

user_overlays=orangepi-5-plus-pwmfan

usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u,0x0bc2:0xab45:u,0x0bc2:0xab44:u

#overlays=pwm0-m0 pwm0-m1 pwm0-m2 pwm1-m0 pwm1-m1 pwm1-m2 sata1 sata2 

 

And also I attach a picture of how the fan is connected. Rebooted the system without showing any change 🥲

Thanks for your help

 

1000005260.thumb.jpg.fdc18aecd8bdab2ba46ce520a9e9296a.jpg

Posted

And when changing kernel to 5.1 or the other you mention, is there any known error in the Orange pi5+? Since I installed open media vault 7 and with the previous isos with other kernel could not run  docker compose 🥲

 

 

Posted

@royk

I will try another ISO that has the kernel you mention

Armbian 24.5.1 bookworm vendor 6.1.43 minimal. Thanks

Can I suggest some guide showing which isos are working or the ones that have less problems with this type of sbc?

Posted

Just came here to say thanks! 😁

 

I have Orange Pi 5 Pro 16GB now with Armbian Ubuntu 24.04 XFCE and I have been struggling to get pwm to work on 40pin connector to put some fans on my case. Tried all of scripts etc. that I can found on the internet but none of them worked. And today found this thread tested overlay mentioned here and got it working instant! Below is my code that I put to test. Maybe some fine tuning with temps / fan pwm as I get it to daily use to see how it behaves. Try to get it as silent as I can on low loads. Now my CPU temps (celsius) has gone down from 49-51 to 40-41 on low loads and from 82-84 to 70-71 on full load.

 

/dts-v1/;
/plugin/;

/ {
	fragment@0 {
		target = <&fan>;

		__overlay__ {

				pwms = <&pwm13 0 255 0>;
				cooling-levels = <0 96 128 160 192 224 255>;
				rockchip,temp-trips = <
					40000   1
				  50000   2
					60000   3
					65000   4
					70000   5
					75000   6
				>;
		};
	};

	fragment@1 {
		target = <&pwm13>;

		__overlay__ {
			status = "okay";
			pinctrl-0 = <&pwm13m2_pins>;
		};
	};
};

 

Also I'm supper impressed how well this OS works compared to Orange Pi Ubuntu 22.04 and others that I have tested. So far just positive experience! I came from Linux Mint x64_64 world to ARM, with small side step while testing Raspberry Pi 5 and end up to Orange Pi 5 Pro as Raspberry Pi had too many problems on it.

 

Posted

I read here something for the orangepi 5 and the orangepi 5 plus. But i has always without anyproblem running the script below. But it looks like PWM is not working or something? Even if i have enabled the option under device-tree-overlay in armbian-config: rk3588-pwm1-m0.

 

orangepi5:pwm:# ls
orangepi5:pwm:# 

 

 

I am running this Armbian version:

 

orangepi5:/:# neofetch 
        #####           root@orangepi5 
       #######          -------------- 
       ##O#O##          OS: Armbian 24.11.2 noble aarch64 
       #######          Host: Orange Pi 5 
     ###########        Kernel: 6.1.75-vendor-rk35xx 
    #############       Uptime: 14 mins 
   ###############      Packages: 1055 (dpkg) 
   ################     Shell: zsh 5.9 
  #################     Terminal: /dev/pts/0 
#####################   CPU: (8) @ 1.800GHz 
#####################   Memory: 1901MiB / 7937MiB 
  #################
                                                
                                                

 

What do i wrong? :)

 

#!/bin/bash

if [ ! -d /sys/class/pwm/pwmchip1/pwm0 ]; then
    echo 0 > /sys/class/pwm/pwmchip1/export
fi
sleep 1
while [ ! -d /sys/class/pwm/pwmchip1/pwm0 ];
do
    sleep 1
done
ISENABLE=`cat /sys/class/pwm/pwmchip1/pwm0/enable`
if [ $ISENABLE -eq 1 ]; then
    echo 0 > /sys/class/pwm/pwmchip1/pwm0/enable
fi
echo 50000 > /sys/class/pwm/pwmchip1/pwm0/period
echo 1 > /sys/class/pwm/pwmchip1/pwm0/enable

# max speed run 60s
echo 0 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle
sleep 5
echo 50000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle

declare -a CpuTemps=(45000 40000 38000 30000 28000 0)
declare -a PwmDutyCycles=(1000 5000 10000 15000 30000)

while true
do
        temp=$(cat /sys/class/thermal/thermal_zone0/temp)
        for i in 0 1 2 3 4 5; do
                if [ $temp -gt ${CpuTemps[$i]} ]; then
                        DUTY=${PwmDutyCycles[$i]}
                        echo $DUTY > "/sys/class/pwm/pwmchip1/pwm0/duty_cycle";
                        echo "temp: $temp, target: ${CpuTemps[$i]}, duty: $DUTY"
                        break
                fi
        done
        sleep 1s;

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines