pmcputemp -temperature monitor

Miscellaneous tools
Message
Author
User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#41 Post by ally »

micko, thanks for the fatdog64 code, working well

:)

User avatar
charlie6
Posts: 1230
Joined: Mon 30 Jun 2008, 04:03
Location: Saint-Gérard / Walloon part of Belgium

#42 Post by charlie6 »

Hi Mick,
01micko wrote:... please try the commands I posted for davids45 ...
here you are:
sh-3.00# find /sys -type f -name 'temp*_input'
sh-3.00#
sh-3.00# find /sys -type f -name 'temp*_input' -exec cat '{}' \;
sh-3.00#
...not the slightest comment ... :(

thanks again for your time !
Charlie

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#43 Post by 01micko »

Hi charlie, thanks for testing.

I'm afraid it looks like your board is unsupported. Not much can be done about that, however there is one possibility, but it is usually only in older kernels.

You can try

Code: Select all

find /proc -type f -iname 'temp*'
then

Code: Select all

find /proc -type f -iname 'temp*' -exec cat '{}' \;
I don't like the chances but you don't know until you try. You can also try a manual search in /proc/acpi/thermal_zone
Puppy Linux Blog - contact me for access

User avatar
davids45
Posts: 1326
Joined: Sun 26 Nov 2006, 23:33
Location: Chatswood, NSW

Further testing of script lines

#44 Post by davids45 »

G'day 01micko,

No luck with the above line, just blank # lines.
Code tried:
find /proc -type f -iname 'temp*'

find /proc -type f -iname 'temp*' -exec cat '{}' \;

Wheezy = nothing, just a new #
Slacko-5.9.3 also nothing
Unicorn-6.0 also no response.
Snowpup-015 also nothing.
The original script in 0.6 seemed to work in finding temperatures, but couldn't pick the right/same "temp_" in every case on this computer. Is this kernel or Pup/Woof related?

"_input" seems the important text.

It has been either "temp1" or "temp2" (when there's only temp2 and temp3 found, no temp1?) that has the lower value of about 35-40 which is assumed to be the cpu operating temperature, the others being "_max" or "_crit". What do the Intel specs say about their processors' operating temperatures?

Still curious to know what happens with a quad core (four temps?).

Random ideas:
Picking the minimum non-zero value from the listing of all found temperatures and calling that the cpu temp?
Averaging the "_input" values to give a single figure for multpiple cores?

David S.

User avatar
charlie6
Posts: 1230
Joined: Mon 30 Jun 2008, 04:03
Location: Saint-Gérard / Walloon part of Belgium

#45 Post by charlie6 »

Hi Mick,
01micko wrote:...
I'm afraid it looks like your board is unsupported
...
try a manual search in /proc/acpi/thermal_zone
sh-3.00# find /sys -type f -iname 'temp*'
sh-3.00# find /sys -type f -iname 'temp*' -exec cat '{}' \;
sh-3.00#
also, there is not any
/proc/acpi/thermal_zone
present.

Thanks anyway !
Charlie

User avatar
davids45
Posts: 1326
Joined: Sun 26 Nov 2006, 23:33
Location: Chatswood, NSW

pmcputemp-0.60 in Quirky-7.0.3

#46 Post by davids45 »

G'day 01micko,

New install of Quirky-7.0.3 (32 bit version) produced a pink icon reading around 62C.

Running your script to see full temperature details:
# find /sys -type f -name 'temp*'
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon0/temp1_crit
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon0/temp1_crit_hyst
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon0/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_label
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_crit_alarm
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_crit
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_crit
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_crit_alarm
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_max
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_max
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_label
#
# find /sys -type f -name 'temp*' -exec cat '{}' \;
120000
90000
62000
34000
Core 1
0
100000
100000
0
74000
74000
40000
Core 0
The task-bar value (62C) looks like it is the third one in the listing of values which, using the "_label" lines (= Core x) as reference points, means it is the devices/pci temp1_input.
The Core 0 and 1 temp_inputs ('platform') are 40C and 34C by the same reckoning.

How do I find out which or what are these three 'temp_inputs', and which is most important regarding excessive heating? Intel spec. sheet of the cpu, for example?

David S.

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#47 Post by 01micko »

New version posted - see main post

Code: Select all

# git log --pretty
commit d20ec2cb4e78a3375afa5a8514993a182146fb8b
Author: 01micko <01micko@gmail.com>
Date:   Mon Apr 13 20:58:05 2015 +1000

    pmcputemp.sh: hopeful fix for finding temp data

commit a30bd31992c1dc421d1d2fa38039f256798e23a0
Author: 01micko <01micko@gmail.com>
Date:   Mon Apr 13 12:35:52 2015 +1000

    update readme

commit 40ff1d0bd50f0ffb9ca119debe37547d039f1b53
Author: 01micko <01micko@gmail.com>
Date:   Mon Apr 13 12:32:19 2015 +1000

    Add a new colour range and bump up. Add cli switch for delay

commit 5edc92aef70d736fbe5e72b3a0e0eb508e56e857
Author: 01micko <01micko@gmail.com>
Date:   Mon Apr 13 12:31:12 2015 +1000

    Add splash window if temperature file can't be found

commit 37a2e55f09d3a86735dd6fff63c62ebc0c1387b5
Author: 01micko <01micko@gmail.com>
Date:   Mon Apr 13 12:29:19 2015 +1000

    update man page

commit 8b0a19c8af3ae6d4dcff1a98ed87e685b8123a32
Author: 01micko <01micko@gmail.com>
Date:   Mon Apr 13 12:26:24 2015 +1000

    update pot file

commit 4f39d0cb4058624d89fa76af248b6b49cf90b67a
Author: 01micko <01micko@gmail.com>
Date:   Fri Apr 10 10:29:40 2015 +1000

    pmcputemp.c: removed debug code

commit 6202a6d7526aa42c0114f8cdd917ed83b9527cb1
Author: 01micko <01micko@gmail.com>
Date:   Fri Apr 10 10:27:53 2015 +1000

    Add a polling interval, feature request from james

commit 26028ad50c1c5a2b5e340560d92d33b886bee359
Author: 01micko <01micko@gmail.com>
Date:   Thu Apr 2 20:18:40 2015 +1000

    fr.po updated : charlie6
If it fails for you a splash screen will appear. Just uninstall it if you see the orange message.

Enjoy!
Attachments
splash.png
error splash if it doesn't work. Don't worry, just uninstall it and report here.
(12.18 KiB) Downloaded 1443 times
Puppy Linux Blog - contact me for access

User avatar
davids45
Posts: 1326
Joined: Sun 26 Nov 2006, 23:33
Location: Chatswood, NSW

Version-0.61 in Wheezy, TahrPup, April-Quirky & Slacko

#48 Post by davids45 »

G'day 01micko,

I have installed pmcputemp-0.61 in four Full Pups and get the same value near enough :lol: .

F'rinstance here's a shot of my Slacko Full, where I included the lmsensors output and a bodgied-up Temp-cpu widget :oops: all of which seem to agree :D . The /root/.config/pmcputemp file is also in the screenshot.

'Sensors' output describes 'temp1' as the graphics card temp? - the same as your previous scripts I tried on this computer.

I will try pmcputemp-0.61 on some other computers around here when I get the time.

Wonder what others will find on other machines?

Thanks for the personalised app.

David S.
(A poor-man :cry: )

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#49 Post by 01micko »

Well David, looks like we (finally!) may have sorted it out for you.


New version 0.63 .. see main post.

Code: Select all

commit 8c1c5bf9900348ede22da2638e6857277d19eaef
Author: 01micko <01micko@gmail.com>
Date:   Tue Apr 21 09:21:23 2015 +1000

    Change error message and bump version

commit c81191c2785f8215666d2d8cae4748768adc820f
Author: 01micko <01micko@gmail.com>
Date:   Tue Apr 21 09:19:53 2015 +1000

    Add feature request to show cpu frequency in tooltip, jamesbond

commit cd865ad5be7f170f139c0eb9cae785bd4eba4391
Author: 01micko <01micko@gmail.com>
Date:   Mon Apr 13 22:10:54 2015 +1000

    update man page date
Puppy Linux Blog - contact me for access

User avatar
davids45
Posts: 1326
Joined: Sun 26 Nov 2006, 23:33
Location: Chatswood, NSW

version-0.63 on this 2-core HP desktop

#50 Post by davids45 »

G'day 01micko,

I have quickly deleted the old /root/.config/pmcputemp directory for 0.61 and installed 0.63 to several full Pups.

Task-bar display was consistent (blue, about "32C" which is about 15C above ambient here)
The cpu core frequencies given in the "hover-box" seemed correct as one did occasionally change as I watched.
As a retired scientist, I could quibble with the meaningfulness of three decimal places shown for the core frequencies :shock: - surely to the nearest MHz is adequate (unless it's too difficult to cull the probably superfluous post-decimal zeros)?

I will try 0.63 on a different old desktop in the attic when I get the chance. It ran 0.61 OK, so should be good with 0.63.

[off-topic] "Interestingly" this attic computer gives a more informative 'sensors' output than the HP I'm now on. I'll try your scripts too to probe this computer.
I'm trying to create a working generic version of the Temp_cpu widget, based on lmsensors & pwidgets, but suspect each computer/motherboard/cpu/kernel/? will need tailoring by its user because of the variable responses by each computer/motherboard/cpu/etc to requests for hardware outputs from lmsensors or similar. [/off-topic]

Thanks for your persistence,
David S.

User avatar
OscarTalks
Posts: 2196
Joined: Mon 06 Feb 2012, 00:58
Location: London, England

#51 Post by OscarTalks »

Thought I would report some findings with pmcputemp-0.63 compiled from source in Dpup Wheezy 3.5.2.11 remastered.

Was given an old desktop yesterday. AMD Duron Spitfire CPU running at just under 900 MHz with SiS chipset MoBo. 256 MB RAM plus 1.5 GB of swap which I created in the 20 GB HD. Frugal install of above Pup in ext3 partition in the remainder of the HD.

Initial try of pmcputemp did not work, got the "Not working on your system" window, but I had seen some temperature readouts in the bios and when I ran Radky's PupSysinfo > devices > sensors it gave me 3 CPU temperature readouts.

I investigated the loaded modules and it looks like PupSysinfo is modprobing 5 modules. Is that possible? They are:-

hwmon
hwmon_vid
it87
k8temp
k10temp

These modules are not loaded at normal boot but after running PupSysinfo I am able to try pmcputemp again and get it to work.

The temp1_input and temp2_input and temp3_input files become available in a directory /sys/devices/platform/it87.656
Without these modules the entire it87.656 directory does not exist.
Looks like the it87 hardware monitoring driver module is needed

If I add those 5 modules via boot manager I can then have pmcputemp start with a script in /root/Startup and all seems fine. Maybe this will offer a suggestion for something that can go into a future version of pmcputemp.

By the way, this is a puny old single-core CPU so if temp1 is the readout we want then do we know what temp2 and temp3 actually are?
Oscar in England
Image

gcmartin

#52 Post by gcmartin »

Had "pmcputemp" report discrepancies reported on the LxPUP64 thread.

So, Ran these commands on same DELL AIO desktop with LxPUP64.

Code: Select all

sh-4.2# find /sys -type f -name 'temp*' 
/sys/devices/virtual/thermal/thermal_zone0/temp
/sys/devices/virtual/thermal/thermal_zone1/temp
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_crit_alarm
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp3_input
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp3_label
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp2_crit_alarm
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_crit
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp2_crit
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp3_crit
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp3_crit_alarm
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_label
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_max
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp2_max
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp3_max
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp2_input
/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp2_label
sh-4.2# find /sys -type f -name 'temp*' -exec cat '{}' \;
27800
29800
0
40000
Core 1
0
105000
105000
105000
0
47000
Physical id 0
85000
85000
85000
44000
Core 0
sh-4.2# 
Hope this info can help clarify the reports and the information they provide.

User avatar
nilsonmorales
Posts: 972
Joined: Fri 15 Apr 2011, 14:39
Location: El Salvador

#53 Post by nilsonmorales »

For spanish users
Attachments
pmcputemp_NLS_es-0.63-i686.pet
Spanish locales
(1.47 KiB) Downloaded 536 times
[b][url=http://nilsonmorales.blogspot.com/]My blog |[/url][/b][b][url=https://github.com/woofshahenzup]| Github[/url][/b]
[img]https://i.postimg.cc/5tz5vrrX/imag018la6.gif[/img]
[img]http://s5.postimg.org/7h2fid8pz/botones_logos3.png[/img]

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#54 Post by 01micko »

@nilsonmorales - thanks! However your pet doesn't include the .po file. Could you please post one so I can include it in the git source code. TIA.

-----------------------------------------------------

@gcmartin - intels are so inconsistent! At least with AMD i have found only one inconsistency, reported by Oscar above :lol:

Please try the attached script. Unzip - make executable - overwrite the existing version in /usr/bin/

-----------------------------------------------------

@davids45 - the 3 decimal resolution stays - see GC's pic in his link for why :wink:

EDIT: attachment fixed, sorry about that

-----------------------------------------------------

@OscarTalks - try the script attached on a clean boot (ie: drop all your relevant module loading in bootmanager). I've added it87 to my modprobe loop so hopefully that picks up the dependent modules too.

-

Thanks @all.
Attachments
pmcputemp.sh.gz
(600 Bytes) Downloaded 567 times
Last edited by 01micko on Fri 01 May 2015, 22:04, edited 1 time in total.
Puppy Linux Blog - contact me for access

User avatar
nilsonmorales
Posts: 972
Joined: Fri 15 Apr 2011, 14:39
Location: El Salvador

#55 Post by nilsonmorales »

01micko Im sorry, forget the .po
Attachments
pmcputemp.po.tar
Remove fake .tar
(1.99 KiB) Downloaded 535 times
[b][url=http://nilsonmorales.blogspot.com/]My blog |[/url][/b][b][url=https://github.com/woofshahenzup]| Github[/url][/b]
[img]https://i.postimg.cc/5tz5vrrX/imag018la6.gif[/img]
[img]http://s5.postimg.org/7h2fid8pz/botones_logos3.png[/img]

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#56 Post by 01micko »

Thanks nilsonmorales 8)

-----------------------------------------------

I have pushed the translation and some small changes to github, including the script change. Oscar, you may want to grab that version. I haven't updated packages yet and won't until I get some feedback from the script change.
Puppy Linux Blog - contact me for access

User avatar
OscarTalks
Posts: 2196
Joined: Mon 06 Feb 2012, 00:58
Location: London, England

#57 Post by OscarTalks »

I will try the script from Github if it is modified. The one from the forum did give me an error in line 12 when run from terminal.

Code: Select all

# ./pmcputemp.sh
./pmcputemp.sh: line 12: [: missing `]'
Failed to find file
#
I thought this might be a missing space (before the close bracket) (EDIT - or a missing Dollar before the "IT" ??) but when I tried again later the error did not show up. Anyway I am not convinced the load_module_func section is working as intended. It is not working in that AMD machine and the code gives some strange output in terminal. This was after I had inserted what I thought was the missing space. If I simplify it down to a more basic modprobe func and strip out some of the trimmings like the greps and the echoes then it does work. I get a bit lost and dizzy with it after a while though. I will do a bit more testing later after a nice cup of tea.
Oscar in England
Image

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#58 Post by 01micko »

Hi Oscar!

Thanks for testing and sorry for messing up the script.. fixed now. You did the right thing fixing those bugs and continuing. The module *should* load, or at least try to load.

Was the terminal some gdkpixbuf error? If so it's nothing to do with the script, that's a bug in pmcputemp if there is no icon present, a timing error which doesn't happen all the time, and it only happens on first run before the /root/.config/pmcputemp directory is created. It's fixed at github, but I want to see if it works for you before I post a new version.
Puppy Linux Blog - contact me for access

User avatar
OscarTalks
Posts: 2196
Joined: Mon 06 Feb 2012, 00:58
Location: London, England

#59 Post by OscarTalks »

Something is still not quite right with it. As it stands it loads k10temp (and hwmon) but not it87 or the other 2 modules (hwmon_vid and k8temp) so it still does not work.

I don't really know very much about the code, but just poking around I find that all 5 modules load and it appears to work if I just comment out the break and continue lines.

The terminal error I mentioned was just the missing characters it complained about when I just ran the script on its own from terminal but that is OK now. The gdkpixbuf thing also happens on first run but if you have now fixed that then it is just the module loading that still needs a tweak I guess.
Oscar in England
Image

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#60 Post by 01micko »

Code: Select all

# modinfo it87
filename:       /lib/modules/3.17.0/kernel/drivers/hwmon/it87.ko
license:        GPL
description:    IT8705F/IT871xF/IT872xF hardware monitoring driver
author:         Chris Gauthron, Jean Delvare <jdelvare@suse.de>
depends:        hwmon-vid,hwmon
intree:         Y
vermagic:       3.17.0 SMP mod_unload modversions 
parm:           force_id:Override the detected device ID (ushort)
parm:           update_vbat:Update vbat if set else return powerup value (bool)
parm:           fix_pwm_polarity:Force PWM polarity to active high (DANGEROUS) (bool)
Ok, so it looks like it87 only depends on hwmon (which gets loaded?) and hwmon-vid. I wonder where dep on k8temp comes from (which only depends on hwmon)?

Anyway, we can easily add a sub-loop to load those 2.

Try this, replacing the current load_module_func() .. (please note the comment if it fails)

Code: Select all

load_module_func() {
	lsmod|grep -q coretemp
	CORETEMP=$?
	lsmod|grep -q k*temp
	KTEMP=$?
	lsmod|grep -q it87
	IT=$?
	if [ "$CORETEMP" = "1" ] && [ "$KTEMP" = "1" ] && [ "$IT" = "1" ];then
		for m in it87 coretemp k10temp k8temp 
		do 
			if [ "$m" = "it87" ];then
				for p in hwmon-vid #k8temp #k10temp #if it still fails uncomment k8, then k10
				do modprobe $p 2>/dev/null
					if [ "$?" != "0" ];then
						echo "loading $p failed"
						break
					fi
				done
			fi
			modprobe $m 2>/dev/null
			if [ "$?" = "0" ];then
				echo "loading $m"
				L=0
				break 
			else 
				L=1
				continue
			fi
		done
	[ "$L" = "1" ] && echo "Can't load a temperature module" && return 1
	fi
	return 0
}

EDIT:
changed loading order
Puppy Linux Blog - contact me for access

Post Reply