HOWTO: Temperature Monitoring with coretemp in Sysinfo widget
-
Hello,
I tried applying the patch that is located in the main post. I downloaded the package system patch and have tried it via command line with the same result. When I test the patch I get errors saying it cant be applied cleanly. Is this due to showp1984 stuff? should it be removed? not that experienced with troubleshooting patches..Output of full patch apply test:
/usr/bin/patch –directory=/ -t -p4 -i /var/patches/50be92a047646.patch --check --forward
Hmm... Looks like a unified diff to me...
The text leading up to this was:|diff -Naur /home/showp1984/Desktop/a/usr/local/www/includes/functions.inc.php /home/showp1984/Desktop/b/usr/local/www/includes/functions.inc.php
|--- /home/showp1984/Desktop/a/usr/local/www/includes/functions.inc.php 2012-08-07 01:01:33.902057913 +0200+++ /home/showp1984/Desktop/b/usr/local/www/includes/functions.inc.php 2012-08-06 06:13:12.000000000 +0200 No file to patch. Skipping... Hunk #1 ignored at 136. Hunk #2 ignored at 151. 2 out of 2 hunks ignored--saving rejects to a/usr/local/www/includes/functions.inc.php.rej Hmm... The next patch looks like a unified diff to me... The text leading up to this was:
|diff -Naur /home/showp1984/Desktop/a/usr/local/www/widgets/widgets/system_information.widget.php /home/showp1984/Desktop/b/usr/local/www/widgets/widgets/system_information.widget.php
|--- /home/showp1984/Desktop/a/usr/local/www/widgets/widgets/system_information.widget.php 2012-08-07 01:01:27.446742521 +0200+++ /home/showp1984/Desktop/b/usr/local/www/widgets/widgets/system_information.widget.php 2012-08-06 06:10:46.000000000 +0200 No file to patch. Skipping... Hunk #1 ignored at 232. 1 out of 1 hunks ignored--saving rejects to a/usr/local/www/widgets/widgets/system_information.widget.php.rej done -
I haven't actually tried this but looking at the patch file it's obviously been built against two files on the OPs desktop machine.
Since this is a relatively minor change to only two files I suggest you simply edit the two files manually.
Steve
-
Stephen,
I was able to do the manual edits prior to posting. I was just wondering why the patch wasn't working. It would have just saved me some time editing that's all. Thought maybe i was doing something wrong with the patch.btw thanks to the OP for working on this. I do appreciate it. Now if i could just get this info on LCDProc everything would be golden. :-D
-
For some reason i can't get coretemp to automatically load upon reboot. I can ssh over and run kldload coretemp and i am up and running. I did edit the loader.conf.local and added coretemp_load="yes". The module is in /boot/modules as well.
Am I missing something else to enable pfsense to load this on boot if i have to reboot the firewall?
-
File permissions perhaps?
Looks like you're doing everything correctly.Steve
-
File permissions perhaps?
Looks like you're doing everything correctly.Steve
What would i be looking for in relation to file permission? is there a way to test (fake boot process) to see if it would give me an error and why it wouldnt load?
-
should i add the line to loader.conf? or would that be bad? Wasnt sure if the .local may not be utilized for some reason? just thinking out loud.
-
should i add the line to loader.conf? or would that be bad? Wasnt sure if the .local may not be utilized for some reason? just thinking out loud.
/boot/loader.conf may change on reinstall; /boot/loader.conf.local is guaranteed to remain untouched by a reinstall.
You might see an error report on coretemp during the early boot (before the kernel is started).
-
Worked just fine on my Jetway MB with pfSense 2.0.2
coretemp.ko was already in /boot/kernel folder
Edited all files manually
-
will this work for 2.1 to?
-
I have it working on most recent version. Just do the edits manually.
-
I have it working on my Soekris 6501-50 with atom E6xx proc. and i386 pfSense 2.1.
It shows the temp for 2 cores (hyper threading).
I have manually edited both .php files
Works great. -
cool.
thx
-
Thanks again.
did get som errrors at first i missed some stuff. and some rows didnt match.
you had some line more then me. but wasnt any biggie. -
Works perfectly in release 2.0.3, which already has included coretemp modules! Only the PHP files need to be modified.
I suggest to pull these in for everybody, by default in the installation media.
-
The coretemp modules and a dashboard temperature reading is included by default in 2.1. I don't think it is graphed though.
Steve
-
OK thanks, didn't know that, I'm just upgrading to 2.0.3…
-
If anyone wants to graph these temperatures in Munin, using the munin-node on pfSense based on this, here's a plugin for that:
#!/bin/sh # Plugin to monitor Jetway motherboard CPU temperatures on pfSense controller runtime data. Installation: # - copy this plugin script to /usr/local/share/munin/plugins/, make it executable # - symlink it to /usr/local/etc/munin/plugins/ # - restart munin-service case $1 in config) cat <<'EOM' graph_title CPU Temperatures graph_vlabel Degrees C graph_category sensors cpu_0.label Core 0 cpu_1.label Core 1 cpu_2.label Core 2 cpu_3.label Core 3 EOM exit 0;; esac temp0=$(/sbin/sysctl dev.cpu.0.temperature|awk '{print $2}') echo -n 'cpu_0.value '; echo $temp0|awk '{gsub(/C/,"")};{print}' temp1=$(/sbin/sysctl dev.cpu.1.temperature|awk '{print $2}') echo -n 'cpu_1.value '; echo $temp1|awk '{gsub(/C/,"")};{print}' temp2=$(/sbin/sysctl dev.cpu.2.temperature|awk '{print $2}') echo -n 'cpu_2.value '; echo $temp2|awk '{gsub(/C/,"")};{print}' temp3=$(/sbin/sysctl dev.cpu.3.temperature|awk '{print $2}') echo -n 'cpu_3.value '; echo $temp3|awk '{gsub(/C/,"")};{print}'
Btw, munin-node works fine on 2.0.3 too.
-
Munin Plugin updated for 8-core cpu temperature (tested on Supermicro A1SRi-2758F):
#!/bin/sh # - copy this plugin script to /usr/local/share/munin/plugins/, make it executable # - symlink it to /usr/local/etc/munin/plugins/ # - restart munin-service case $1 in config) cat <<'EOM' graph_title CPU Temperatures graph_vlabel Degrees C graph_category sensors cpu_0.label Core 0 cpu_1.label Core 1 cpu_2.label Core 2 cpu_3.label Core 3 cpu_4.label Core 4 cpu_5.label Core 5 cpu_6.label Core 6 cpu_7.label Core 7 EOM exit 0;; esac temps=$(/sbin/sysctl dev.cpu | grep temperature) echo -n 'cpu_0.value '; printf "$temps" | awk 'NR==1{print $2; exit}' | awk '{gsub(/C/,"")};{print}' echo -n 'cpu_1.value '; printf "$temps" | awk 'NR==2{print $2; exit}' | awk '{gsub(/C/,"")};{print}' echo -n 'cpu_2.value '; printf "$temps" | awk 'NR==3{print $2; exit}' | awk '{gsub(/C/,"")};{print}' echo -n 'cpu_3.value '; printf "$temps" | awk 'NR==4{print $2; exit}' | awk '{gsub(/C/,"")};{print}' echo -n 'cpu_4.value '; printf "$temps" | awk 'NR==5{print $2; exit}' | awk '{gsub(/C/,"")};{print}' echo -n 'cpu_5.value '; printf "$temps" | awk 'NR==6{print $2; exit}' | awk '{gsub(/C/,"")};{print}' echo -n 'cpu_6.value '; printf "$temps" | awk 'NR==7{print $2; exit}' | awk '{gsub(/C/,"")};{print}' echo -n 'cpu_7.value '; printf "$temps" | awk 'NR==8{print $2; exit}' | awk '{gsub(/C/,"")};{print}'