RockPi 4 CPU Temperature

I am using RockPi4 running Ubuntu 20.04 server (no desktop or screen).

How do I get the the CPU temperature ?

I installed package lm-sensors, but sensors-detect could not find any sensors.

htop does not show any cpu temperature info

Any other ideas?

# paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'
soc-thermal  62.2°C
gpu-thermal  61.1°C

I have the same issue on my 4c+

cat: /sys/class/thermal/thermal_zone0/temp: Invalid argument
cat: /sys/class/thermal/thermal_zone1/temp: Invalid argument

‘temp’ always returns and invalid arguments thus cannot be read

I even updated to the latest release:
Linux rockpi-4cplus 5.15.86-rockchip64 #trunk SMP PREEMPT Sun Jan 1 08:44:21 UTC 2023 aarch64 GNU/Linux

any suggestion? what’s missing in my 4c+?

Hi Stegg.

For me, using Armbian, the device tree for Rock 4c+ has the &tsadc disabled.
I had to add an overlay to enable it, in order to get CPU/GPU (SoC) temperature.

I’m not sure why this and also mali-supply (GPU regulator) are disabled by radxa. Without mali-supply, the panfrost driver doesn’t seem to load, and GPU works very badly / not much at all.
Maybe there is a reason why these are left disabled, but I have ~25 of these 4C-plus in use as RDP thin clients using Wayland, and they seem to work pretty well to me, once everything is figured out and enabled etc.

The overlays I’m talking about are mentioned in the comments here:

2 Likes

I am very new to this, so please be gentle. How would I go about adding that dts file to my system, so that I can enable the overlay?

Is it as simple as copying the text of the file and pasting it into nano with the appropriate filename, and then just adding that overlay in ArmbianEnv.txt?

For reference, I’m using the Armbian jammy image that I’ve flashed to the Rock4C+ … I didn’t build it myself. I just want to be able to monitor my RockPi system temp in Klipper

create the file in your home directory as thermals.dts or whatever you want, and use ‘armbian-add-overlay thermals.dts’

it will take care of everything for you (compile, I think… it’s been a while now), it will copy to /boot/useroverlays or whererever it is, and it will update armbianEnv.txt for you.

use a UART on boot if you want to see if there is a failure to load the overlay. and if it doesn’t work, just manually remove from armbianEnv.txt

1 Like

Thank you! Now I’m having issues actually LOCATING the file. I had it just a minute ago

UPDATE - Did it, and it’s working. OMFG, 45C. I’m guessing my hard crashes while printing were temp related, because that’s 45C at idle. Looks like this chick needs active cooling.

1 Like

Is this what I’d want to add to thermals.dts? (or whatever I decided to name it)

Yes that’s the one.

I have quite a number of them in use with fairly large heatsinks and they sit at around 50 - 53 degrees most of the time. They will go to 80-85 if pushed hard.
It’s very difficult to get them over 85. I had to use a hairdryer on the SoC and no heatsink and CPU stress-test to get it over 85 and test out the hw-shut (protection at 95 degrees)

You have loads of room to spare at the moment.

1 Like

When I say fairly large heatsinks, they are just 40x40x20 with notches cut out. Nothing too crazy.

Oh, good to hear then. I had read somewhere that they run hot, and was worried that might be part of my issue.

I’ve got a 10x20 heatsink that’s 10mm tall, and two 6020 fans blowing in one side and out the other. And I’m sorry for spamming this post. Thanks again for walking me through it.

1 Like

No problem, you’re welcome

1 Like