Tido Posted May 12, 2017 Posted May 12, 2017 Hi, I am looking for owners of RK3288 who can help to find missing information in the system. A lot already works from the template. Vcore has been added thanks to @TonyMac32 , but some important information like RAM frequency (dynamic.5.name=dram_frequency) is still missing. This is my adjusted version, but to do some more HW testing we need as much information about the board as possible. Spoiler web.page.icon='img/logo.png' web.page.menutitle='RPi-Monitor <sub>('+data.hostname+')</sub>' web.page.pagetitle='RPi-Monitor ('+data.hostname+')' web.status.1.name=Raspberry Pi web.statistics.1.name=Raspberry Pi web.addons.1.name=Addons web.addons.1.addons=about include=/etc/rpimonitor/template/version.conf include=/etc/rpimonitor/template/uptime.conf include=/etc/rpimonitor/template/memory.conf include=/etc/rpimonitor/template/swap.conf include=/etc/rpimonitor/template/sdcard.conf ######################################################################## # Extract CPU information # Page: 1 # Information Status Statistics # - cpu frequency - yes - no # - cpu voltage - yes - yes # - cpu load 1, 5, 15 - yes - yes # - cpu scaling governor - yes - no ######################################################################## dynamic.1.name=cpu_frequency dynamic.1.source=/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq dynamic.1.regexp=(.*) #dynamic.1.postprocess=$1/1000000 dynamic.1.postprocess=sprintf("%.3f", $1/1000000) dynamic.1.rrd=GAUGE dynamic.2.name=load1,load5,load15 dynamic.2.source=/proc/loadavg dynamic.2.regexp=^(\S+)\s(\S+)\s(\S+) dynamic.2.postprocess= dynamic.2.rrd=GAUGE dynamic.3.name=scaling_governor dynamic.3.source=/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor dynamic.3.regexp=(.*) dynamic.3.postprocess= dynamic.3.rrd= dynamic.4.name=cpu_count dynamic.4.source=grep -c processor /proc/cpuinfo dynamic.4.regexp=(.*) dynamic.4.postprocess= dynamic.4.rrd=GAUGE dynamic.5.name=dram_frequency dynamic.5.source=/sys/devices/platform/sunxi-ddrfreq/devfreq/sunxi-ddrfreq/cur_freq dynamic.5.regexp=(.*) dynamic.5.postprocess=sprintf("%.3f", $1/1000000) dynamic.5.rrd=GAUGE dynamic.6.name=soctemp dynamic.6.source=/etc/armbianmonitor/datasources/soctemp dynamic.6.regexp=(.*) dynamic.6.postprocess=sprintf("%.1f", $1/1000) dynamic.6.rrd=GAUGE #dynamic.7.name=externaltemp #dynamic.7.source=/tmp/externaltemp #dynamic.7.regexp=(.*) #dynamic.7.postprocess=sprintf("%.1f", $1/1000) #dynamic.7.rrd=GAUGE #dynamic.8.name=disktemp #dynamic.8.source=/tmp/disktemp #dynamic.8.regexp=(.*) #dynamic.8.postprocess=sprintf("%.1f", $1/1000) #dynamic.8.rrd=GAUGE dynamic.9.name=vcorevoltage dynamic.9.source=/sys/class/regulator/regulator.4/microvolts dynamic.9.regexp=(.*) dynamic.9.postprocess=sprintf("%.2f", $1/1000000) #dynamic.9.postprocess=$1/1000000 dynamic.9.rrd=GAUGE #dynamic.10.name=cpu_stat,system_stat,user_stat,nice_stat,iowait_stat,irq_stat #dynamic.10.source=/tmp/cpustat #dynamic.10.regexp=^(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+) #dynamic.10.postprocess= #dynamic.10.rrd=GAUGE dynamic.11.name=coolingstate dynamic.11.source=/sys/devices/virtual/thermal/cooling_device0/cur_state dynamic.11.regexp=(.*) dynamic.11.postprocess= dynamic.11.rrd=GAUGE #dynamic.12.name=cpuminer #dynamic.12.source=/tmp/khash #dynamic.12.regexp=(.*) #dynamic.12.postprocess= #dynamic.12.rrd=GAUGE ######################################################################## # STATUS PAGE ######################################################################## web.status.1.content.1.name=CPU web.status.1.content.1.icon=cpu.png web.status.1.content.1.line.1=JustGageBar("Load", "1min", 0, data.load1, 3, 100, 80)+" "+JustGageBar("Load", "5min", 0, data.load5, 3, 100, 80)+" "+JustGageBar("Load", "15min", 0, data.load15, 3, 100, 80) #web.status.1.content.1.line.2="CPU total: <b>" + data.cpu_stat + "%</b> (Sys: " + data.system_stat + "%, User: " + data.user_stat + "%, I/O wait: " + data.iowait_stat + "%, Nice: " + data.nice_stat + "%)" web.status.1.content.1.line.2="CPU frequency: <b>" + data.cpu_frequency + "MHz</b> DRAM frequency: <b>Not available</b>" web.status.1.content.1.line.3="Governor: <b>" + data.scaling_governor + "</b> Active CPU cores: <b>" + data.cpu_count + "</b> Vcore: <b>" + data.vcorevoltage + "</b>" web.status.1.content.3.name=Temperature web.status.1.content.3.icon=cpu_temp.png web.status.1.content.3.line.1=JustGageBar("SoC", " C",0, data.soctemp , 100,100,80,percentColors,50,70)+" "+JustGageBar("Disk", " C",0, data.disktemp , 100,100,80,percentColor$ web.status.1.content.3.line.1=JustGageBar("SoC", "°C",0, data.soctemp , 100,100,80,percentColors,50,70)+" "+JustGageBar("Disk", "°C",0, data.disktemp , 100,100,80,percentColors,40,50)+" "+JustGageBar("Cooling State", "",0, data.coolingstate , 5,100,80,percentColors,1,2) ######################################################################## # STATISTICS PAGE ######################################################################## web.statistics.1.content.1.name=Load / Clockspeeds / Temperature web.statistics.1.content.1.graph.1=load1 web.statistics.1.content.1.graph.2=load5 web.statistics.1.content.1.graph.3=load15 web.statistics.1.content.1.graph.4=cpu_frequency web.statistics.1.content.1.graph.5=cpu_count web.statistics.1.content.1.graph.6=soctemp web.statistics.1.content.1.graph.7=vcorevoltage web.statistics.1.content.1.ds_graph_options.load1.label=Load 1 min web.statistics.1.content.1.ds_graph_options.load5.label=Load 5 min web.statistics.1.content.1.ds_graph_options.load15.label=Load 15 min web.statistics.1.content.1.ds_graph_options.cpu_frequency.label=CPU Clock speed (GHz) web.statistics.1.content.1.ds_graph_options.cpu_frequency.yaxis=2 web.statistics.1.content.1.ds_graph_options.cpu_count.label=Active CPUs web.statistics.1.content.1.ds_graph_options.cpu_count.yaxis=2 web.statistics.1.content.1.ds_graph_options.soctemp.label=SoC temp ( C) web.statistics.1.content.1.ds_graph_options.vcorevoltage.label=Vcore (V) web.statistics.1.content.1.ds_graph_options.vcorevoltage.yaxis=2 web.statistics.1.content.1.ds_graph_options.cpu_stat.label=CPU total (%) web.statistics.1.content.1.graph_options.y1axis={ position: "left", min: 35, max: 75 } web.statistics.1.content.1.graph_options.y2axis={ position: "right" } # von Tido web.statistics.1.content.3.name=Load / Cores / Temperature web.statistics.1.content.3.graph.1=load1 web.statistics.1.content.3.graph.2=cpu_count web.statistics.1.content.3.graph.3=soctemp web.statistics.1.content.3.ds_graph_options.load1.label=Load 1 min web.statistics.1.content.3.ds_graph_options.cpu_count.label=Active CPUs web.statistics.1.content.3.ds_graph_options.soctemp.label=SoC temp ( C) web.statistics.1.content.3.ds_graph_options.soctemp.yaxis=2 This is the Template from armbian. cp /etc/rpimonitor/template/raspbian.conf /etc/rpimonitor/template/raspbian.conf.orig so you have a backup. Now delete all the text within the file ctrl + k and paste this text into it: Spoiler web.page.icon='img/logo.png' web.page.menutitle='RPi-Monitor <sub>('+data.hostname+')</sub>' web.page.pagetitle='RPi-Monitor ('+data.hostname+')' web.status.1.name=Raspberry Pi web.statistics.1.name=Raspberry Pi web.addons.1.name=Addons web.addons.1.addons=about include=/etc/rpimonitor/template/version.conf include=/etc/rpimonitor/template/uptime.conf include=/etc/rpimonitor/template/memory.conf include=/etc/rpimonitor/template/swap.conf include=/etc/rpimonitor/template/sdcard.conf dynamic.1.name=cpu_frequency dynamic.1.source=/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq dynamic.1.regexp=(.*) dynamic.1.postprocess=sprintf("%.3f", $1/1000000) dynamic.1.rrd=GAUGE dynamic.2.name=load1,load5,load15 dynamic.2.source=/proc/loadavg dynamic.2.regexp=^(\S+)\s(\S+)\s(\S+) dynamic.2.postprocess= dynamic.2.rrd=GAUGE dynamic.3.name=scaling_governor dynamic.3.source=/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor dynamic.3.regexp=(.*) dynamic.3.postprocess= dynamic.3.rrd= dynamic.4.name=cpu_count dynamic.4.source=grep -c processor /proc/cpuinfo dynamic.4.regexp=(.*) dynamic.4.postprocess= dynamic.4.rrd=GAUGE dynamic.5.name=dram_frequency dynamic.5.source=/sys/devices/platform/sunxi-ddrfreq/devfreq/sunxi-ddrfreq/cur_freq dynamic.5.regexp=(.*) dynamic.5.postprocess=sprintf("%.3f", $1/1000000) dynamic.5.rrd=GAUGE dynamic.6.name=soctemp dynamic.6.source=/etc/armbianmonitor/datasources/soctemp dynamic.6.regexp=(.*) dynamic.6.postprocess= dynamic.6.rrd=GAUGE dynamic.7.name=externaltemp dynamic.7.source=/tmp/externaltemp dynamic.7.regexp=(.*) dynamic.7.postprocess=sprintf("%.1f", $1/1000) dynamic.7.rrd=GAUGE dynamic.8.name=disktemp dynamic.8.source=/tmp/disktemp dynamic.8.regexp=(.*) dynamic.8.postprocess=sprintf("%.1f", $1/1000) dynamic.8.rrd=GAUGE dynamic.9.name=vcorevoltage dynamic.9.source=/sys/class/regulator/regulator.4/microvolts dynamic.9.regexp=(.*) dynamic.9.postprocess=sprintf("%.2f", $1/1000) dynamic.9.rrd=GAUGE dynamic.10.name=cpu_stat,system_stat,user_stat,nice_stat,iowait_stat,irq_stat dynamic.10.source=/tmp/cpustat dynamic.10.regexp=^(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+) dynamic.10.postprocess= dynamic.10.rrd=GAUGE dynamic.11.name=coolingstate dynamic.11.source=/sys/devices/virtual/thermal/cooling_device0/cur_state dynamic.11.regexp=(.*) dynamic.11.postprocess= dynamic.11.rrd=GAUGE dynamic.12.name=cpuminer dynamic.12.source=/tmp/khash dynamic.12.regexp=(.*) dynamic.12.postprocess= dynamic.12.rrd=GAUGE ######################################################################## # STATUS PAGE ######################################################################## web.status.1.content.1.name=CPU web.status.1.content.1.icon=cpu.png web.status.1.content.1.line.1=JustGageBar("Load", "1min", 0, data.load1, 3, 100, 80)+" "+JustGageBar("Load", "5min", 0, data.load5, 3, 100, 80)+" "+JustGageBar("Load", "15min", 0, data.load15, 3, 100, 80) web.status.1.content.1.line.2="CPU total: <b>" + data.cpu_stat + "%</b> (Sys: " + data.system_stat + "%, User: " + data.user_stat + "%, I/O wait: " + data.iowait_stat + "%, Nice: " + data.nice_stat + "%)" web.status.1.content.1.line.3="CPU frequency: <b>" + data.cpu_frequency + "GHz</b> DRAM frequency: <b>" + data.dram_frequency + "GHz</b>" web.status.1.content.1.line.4="Governor: <b>" + data.scaling_governor + "</b> Active CPU cores: <b>" + data.cpu_count + "</b> Vcore: <b>" + data.vcorevoltage + "</b>" web.status.1.content.3.name=Temperature web.status.1.content.3.icon=cpu_temp.png web.status.1.content.3.line.1=JustGageBar("SoC", "°C",0, data.soctemp , 100,100,80,percentColors,50,70)+" "+JustGageBar("Disk", "°C",0, data.disktemp , 100,100,80,percentColors,40,50)+" "+JustGageBar("Cooling State", "",0, data.coolingstate , 5,100,80,percentColors,1,2) ######################################################################## # STATISTICS PAGE ######################################################################## web.statistics.1.content.1.name=Load / Clockspeeds / Temperature web.statistics.1.content.1.graph.1=load1 web.statistics.1.content.1.graph.2=load5 web.statistics.1.content.1.graph.3=load15 web.statistics.1.content.1.graph.4=cpu_frequency web.statistics.1.content.1.graph.5=dram_frequency web.statistics.1.content.1.graph.6=cpu_count web.statistics.1.content.1.graph.7=soctemp web.statistics.1.content.1.graph.8=vcorevoltage web.statistics.1.content.1.graph.9=disktemp web.statistics.1.content.1.graph.10=cpu_stat web.statistics.1.content.1.graph.11=coolingstate web.statistics.1.content.1.graph.12=cpuminer web.statistics.1.content.1.ds_graph_options.load1.label=Load 1 min web.statistics.1.content.1.ds_graph_options.load5.label=Load 5 min web.statistics.1.content.1.ds_graph_options.load15.label=Load 15 min web.statistics.1.content.1.ds_graph_options.cpu_frequency.label=CPU Clock speed (GHz) web.statistics.1.content.1.ds_graph_options.cpu_frequency.yaxis=2 web.statistics.1.content.1.ds_graph_options.dram_frequency.label=DRAM Clock speed (GHz) web.statistics.1.content.1.ds_graph_options.dram_frequency.yaxis=2 web.statistics.1.content.1.ds_graph_options.cpu_count.label=Active CPUs web.statistics.1.content.1.ds_graph_options.cpu_count.yaxis=2 web.statistics.1.content.1.ds_graph_options.soctemp.label=SoC temp (°C) web.statistics.1.content.1.ds_graph_options.cpuminer.label=khash/s web.statistics.1.content.1.ds_graph_options.cpuminer.yaxis=2 web.statistics.1.content.1.ds_graph_options.disktemp.label=Disk temp (°C) web.statistics.1.content.1.ds_graph_options.vcorevoltage.label=Vcore (V) web.statistics.1.content.1.ds_graph_options.vcorevoltage.yaxis=2 web.statistics.1.content.1.ds_graph_options.coolingstate.label=Cooling State web.statistics.1.content.1.ds_graph_options.coolingstate.yaxis=2 web.statistics.1.content.1.ds_graph_options.cpu_stat.label=CPU total (%) web.statistics.1.content.1.graph_options.y1axis={ position: "left", min: 35, max: 75 } web.statistics.1.content.1.graph_options.y2axis={ position: "right" } web.statistics.1.content.2.name=Detailed CPU Stats web.statistics.1.content.2.graph.1=cpu_stat web.statistics.1.content.2.graph.2=system_stat web.statistics.1.content.2.graph.3=user_stat web.statistics.1.content.2.graph.4=nice_stat web.statistics.1.content.2.graph.5=iowait_stat web.statistics.1.content.2.graph.6=irq_stat web.statistics.1.content.2.ds_graph_options.cpu_stat.label=CPU total (%) web.statistics.1.content.2.ds_graph_options.system_stat.label=System (%) web.statistics.1.content.2.ds_graph_options.user_stat.label=User (%) web.statistics.1.content.2.ds_graph_options.nice_stat.label=Nice (%) web.statistics.1.content.2.ds_graph_options.iowait_stat.label=I/O wait (%) web.statistics.1.content.2.ds_graph_options.irq_stat.label=IRQ/softirq (%) web.statistics.1.content.2.graph_options.y1axis={ position: "left", min: 0, max: 100 } Now you will see that some information is missing, like RAM-frequency, but also 'Detailed CPU Stats'.
Tido Posted May 13, 2017 Author Posted May 13, 2017 While trying to find some software telling me more about the hardware I came across this: dpkg -l procinfo hwinfo lshw dmidecode apt-get install procinfo hwinfo lshw inxi (needs like 830kB) Commands with the software just installed (line by line): hwinfo > /home/hwinfo.txt (export it to the SDcard as text file 170kB) hwinfo --short > /home/hwinfo-short.txt hwinfo (long version) dmesg | grep -i memory dmesg | grep -i usb lsusb -t dmesg | grep -i tty I guess it is only for x86 system with BIOS man dmidecode dmidecode -t memory dmidecode -t bios root@tinkerboard:/home# dmidecode -t processor # dmidecode 2.12 /dev/mem: Operation not permitted procinfo -h procinfo procinfo -S (values per second) lscpu lshw -short lshw (long version) lshw -class memory inxi -Fx inxi -h GUI applications:https://github.com/fontanon/udev-discover sysinfo hardinfo
Tido Posted May 18, 2017 Author Posted May 18, 2017 (edited) While all chasing the voltage on their board - I thought it could be useful to have a profile in RPi-Monitor to read these out. Step by step so you are not losing any data. Backup: cp /etc/rpimonitor/template/raspbian.conf /etc/rpimonitor/template/raspbian.conf.orig Paste the content: Spoiler nano /etc/rpimonitor/template/raspbian.conf Now delete all the text within the file and paste this text into it: ctrl + k # Paste these lines: web.page.icon='img/logo.png' web.page.menutitle='RPi-Monitor <sub>('+data.hostname+')</sub>' web.page.pagetitle='RPi-Monitor ('+data.hostname+')' web.status.1.name=Raspberry Pi web.statistics.1.name=Raspberry Pi web.addons.1.name=Addons web.addons.1.addons=about include=/etc/rpimonitor/template/version.conf include=/etc/rpimonitor/template/uptime.conf include=/etc/rpimonitor/template/memory.conf include=/etc/rpimonitor/template/sdcard.conf dynamic.1.name=cpu_frequency dynamic.1.source=/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq dynamic.1.regexp=(.*) dynamic.1.postprocess=sprintf("%.3f", $1/1000000) dynamic.1.rrd=GAUGE dynamic.2.name=load1,load5,load15 dynamic.2.source=/proc/loadavg dynamic.2.regexp=^(\S+)\s(\S+)\s(\S+) dynamic.2.postprocess= dynamic.2.rrd=GAUGE dynamic.3.name=vsys_regulator dynamic.3.source=/sys/devices/platform/vsys-regulator/regulator/regulator.1/microvolts dynamic.3.regexp=(.*) dynamic.3.postprocess=sprintf("%.2f", $1/1000000) dynamic.3.rrd=GAUGE dynamic.4.name=vcorevoltage dynamic.4.source=/sys/class/regulator/regulator.4/microvolts dynamic.4.regexp=(.*) dynamic.4.postprocess=sprintf("%.2f", $1/1000000) dynamic.4.rrd=GAUGE dynamic.5.name=vcc_SD dynamic.5.source=/sys/devices/platform/sdmmc-regulator/regulator/regulator.2/microvolts dynamic.5.regexp=(.*) dynamic.5.postprocess=sprintf("%.2f", $1/1000000) dynamic.5.rrd=GAUGE dynamic.6.name=vccio_SD dynamic.6.source=/sys/class/regulator/regulator.8/microvolts dynamic.6.regexp=(.*) dynamic.6.postprocess=sprintf("%.2f", $1/1000000) dynamic.6.rrd=GAUGE dynamic.7.name=vdd_gpu dynamic.7.source=/sys/class/regulator/regulator.10/microvolts dynamic.7.regexp=(.*) dynamic.7.postprocess=sprintf("%.2f", $1/1000000) dynamic.7.rrd=GAUGE dynamic.8.name=vdd_logic dynamic.8.source=/sys/devices/platform/vdd_log/regulator/regulator.3/microvolts dynamic.8.regexp=(.*) dynamic.8.postprocess=sprintf("%.2f", $1/1000000) dynamic.8.rrd=GAUGE ######################################################################## # STATUS PAGE ######################################################################## web.status.1.content.1.name=CPU web.status.1.content.1.icon=cpu.png web.status.1.content.1.line.1=JustGageBar("Load", "1min", 0, data.load1, 3, 100, 80)+" "+JustGageBar("Load", "5min", 0, data.load5, 3, 100, 80)+" "+JustGageBar("Load", "15min", 0, data.load15, 3, 100, 80) #web.status.1.content.1.line.2="CPU total: <b>" + data.cpu_stat + "%</b> (Sys: " + data.system_stat + "%, User: " + data.user_stat + "%, I/O wait: " + data.iowait_stat + "%, Nice: " + data.nice_stat + "%)" web.status.1.content.1.line.2="CPU frequency: <b>" + data.cpu_frequency + "MHz</b> DRAM frequency: <b>Not available</b>" web.status.1.content.1.line.3="Governor: <b>" + data.scaling_governor + "</b> Active CPU cores: <b>" + data.cpu_count + "</b> Vcore: <b>" + data.vcorevoltage + "</b>" web.status.1.content.3.name=Voltage web.status.1.content.3.icon=pmu.png web.status.1.content.3.line.1=JustGageBar("SoC", " V",0, data.vcorevoltage , 2.5,100,80,percentColors,1.1,1.35)+" "+JustGageBar("GPU", " V",0, data.vdd_gpu , 2,100,80,percentColors,1.1,2)+" "+JustGageBar("System", "",0, data.vsys_regulator , 10,100,80,percentColors,5.1,5.4) ######################################################################## # STATISTICS PAGE ######################################################################## web.statistics.1.content.1.name=Load / Clockspeeds / Voltage web.statistics.1.content.1.graph.1=load1 web.statistics.1.content.1.graph.2=cpu_frequency web.statistics.1.content.1.graph.3=vsys_regulator web.statistics.1.content.1.graph.4=vcorevoltage web.statistics.1.content.1.graph.5=vcc_SD web.statistics.1.content.1.graph.6=vccio_SD web.statistics.1.content.1.graph.7=vdd_gpu web.statistics.1.content.1.graph.8=vdd_logic web.statistics.1.content.1.ds_graph_options.load1.label=Load 1 min web.statistics.1.content.1.ds_graph_options.cpu_frequency.label=CPU Clock speed (GHz) web.statistics.1.content.1.ds_graph_options.cpu_frequency.yaxis=2 web.statistics.1.content.1.ds_graph_options.vsys_regulator.label=vsys-regulator web.statistics.1.content.1.ds_graph_options.vcorevoltage.label=Vcore (V) web.statistics.1.content.1.ds_graph_options.vcorevoltage.yaxis=2 web.statistics.1.content.1.ds_graph_options.vcc_SD.label=vcc_SD web.statistics.1.content.1.ds_graph_options.vccio_SD.label=vccio_SD web.statistics.1.content.1.ds_graph_options.vdd_gpu.label=vdd_gpu web.statistics.1.content.1.ds_graph_options.vdd_logic.label=vdd_logic if it looks different adjust with: chmod 0664 -rw-rw-r-- 1 root root 6442 May 12 23:46 raspbian.conf -rw-rw-r-- 1 root root 13825 May 6 16:23 raspbian.conf.orig Edited May 18, 2017 by Tido added some gage for status page
Tido Posted September 18, 2017 Author Posted September 18, 2017 This is form another thread about Kernel 4.13 Quote Just pushed re-organized thermals to repo, cpu_thermal is zone0, gpu_thermal is zone1. This is for dev, next, and default.
Recommended Posts