Is it possible to measure hardware status (core temperature, core voltage, core clock, memory voltage, memory clock, etc.) on the Rock64 under Linux? So far, I've managed to read core temperature and clockspeed, but that's about it.
I know vcgencmd works on the Raspberry Pi, and was ported to the Pine64, but I haven't seen anything similar for the Rock64.
(03-20-2018, 12:48 PM)Leapo Wrote: Is it possible to measure hardware status (core temperature, core voltage, core clock, memory voltage, memory clock, etc.) on the Rock64 under Linux? So far, I've managed to read core temperature and clockspeed, but that's about it.
I know vcgencmd works on the Raspberry Pi, and was ported to the Pine64, but I haven't seen anything similar for the Rock64.
03-21-2018, 05:28 AM (This post was last modified: 03-21-2018, 05:45 AM by pfeerick.)
(03-20-2018, 12:48 PM)Leapo Wrote: Is it possible to measure hardware status (core temperature, core voltage, core clock, memory voltage, memory clock, etc.) on the Rock64 under Linux? So far, I've managed to read core temperature and clockspeed, but that's about it.
I know vcgencmd works on the Raspberry Pi, and was ported to the Pine64, but I haven't seen anything similar for the Rock64.
Readily available is the cpu temperature and cpu frequency - as reported by rock64_health.sh or rock64_diagnostics.sh
You can get the voltage (in microvolts) of the cpu here : /sys/class/regulator/regulator.7/microvolts
It used to be regulator.4, but it seems that is now for one of the USB ports.
tells us that regulators 2,3,6,7,9,10,11 & 12 are the only ones reporting any voltages. So it looks like you can get the voltage of the SD card, eMMC, and CPU. regulator.8 which looks like it may be memory related doesn't seem to report any voltage info.
Code:
#!/bin/bash
REGULATOR_PATH="/sys/class/regulator/"
for regulator in `ls $REGULATOR_PATH | sort -V`; do
echo $regulator, $(cat $REGULATOR_PATH/$regulator/name), $(cat $REGULATOR_PATH/$regulator/microvolts 2>/dev/null )
done
I'm not sure what the other regulators are controlling... you might be able to work backwards from the names through the schematic to see what they are hooked up to... assuming the names are right...
03-21-2018, 03:40 PM (This post was last modified: 03-21-2018, 03:47 PM by Leapo.)
(03-20-2018, 09:35 PM)evilbunny Wrote: Do you know about this script?
/usr/local/sbin/rock64_diagnostics.sh
Hadn't seen that before, but it uses the same method I'd already figured-out to get CPU clockspeed and CPU Temperature. Doesn't appear to pull any of the other stats I'm after, though.
(03-21-2018, 05:28 AM)pfeerick Wrote: You can get the voltage (in microvolts) of the cpu here : /sys/class/regulator/regulator.7/microvolts
That was incredibly helpful, and got me on the right track, thank you!
Quick reference of the monitoring points I've discovered so-far:
CPU Temp: /sys/class/thermal/thermal_zone0/temp
CPU Volts: /sys/class/regulator/regulator.5/microvolts
CPU Freq: /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
GPU Freq: /sys/devices/platform/ff300000.gpu/devfreq/ff300000.gpu/cur_freq
SYS Volts: /sys/class/regulator/regulator.3/microvolts
For clarification, "SYS Volts" appears to be the 5v input that the Rock64 runs from (Handy for making sure your power supply is up to scratch). And you're right, it looks like the buck converter handling the memory isn't reporting voltage. That's kinda concerning... From the specs, it should be running at 1.2 or 1.25v for DDR3LP, but getting the real voltage would be nice.
03-31-2018, 06:30 PM (This post was last modified: 03-31-2018, 06:31 PM by NicoD.)
I wrote this C program to monitor the CPU temp. Just put it in Geany or another C compiler, save it as a *.c file, I call it tempCheck.c
Then compile it and run it.
Code starts after this.
(03-31-2018, 06:30 PM)NicoD Wrote: I wrote this C program to monitor the CPU temp. Just put it in Geany or another C compiler, save it as a *.c file, I call it tempCheck.c
Then compile it and run it.
Code starts after this.
(03-20-2018, 12:48 PM)Leapo Wrote: Is it possible to measure hardware status (core temperature, core voltage, core clock, memory voltage, memory clock, etc.) on the Rock64 under Linux? So far, I've managed to read core temperature and clockspeed, but that's about it.
I know vcgencmd works on the Raspberry Pi, and was ported to the Pine64, but I haven't seen anything similar for the Rock64.
(03-31-2018, 06:30 PM)NicoD Wrote: I wrote this C program to monitor the CPU temp. Just put it in Geany or another C compiler, save it as a *.c file, I call it tempCheck.c
Then compile it and run it.
Code starts after this.