Change temp reading from centigrade to fahrenheit (American Megatrends)

I want to change the temp that shows in my BIOS from centigrade to fahrenheit.

I tried contacting American Megatrends, but they only accept business emails ?

The bad news is, this BIOS setting has nothing to do with MATE, so I can’t help with that.

The good news is that if you install the MATE Sensors applet to your bottom or top desktop panel, you can read out your Motherboard and CPU temperatures right on your desktop, and unlike your BIOS, you can set these temperature settings to read out in either Fahrenheit or Celsius.

I have Psensor installed.

But the temp readings are suspect.

I have 4 cores.

There are 3 temps 1 all showing different values.

temp2 shows -198. (Computer is not in liquid nitrogen). :slight_smile:

I believe that Psensor and the MATE Sensor Applet I suggested all use the same lm-sensors/libsensors4 libraries to detect temperatures, and YES they do often show bogus invalid readings for some items which are not applicable to your hardware.

There is a lm-sensors sensors-detect setup program which can be run from the command line with:

sudo sensors-detect

Sometimes this helps to fix things when you have no sensors detected at all, but it can’t usually sort out all the bogus readings, which you just have to figure out using a little common sense by comparing the reported numbers with the known values reported by your BIOS setup screen.

Since all the CPU cores are on the same silicon die, if I can get even one reading which accurately reflects CPU core temperature, then I’m good to go on that.

Usually there are a couple other temperatures, which typically monitor the local ambient temperature, and a few other motherboard readings like the south-bridge chipset.

Like Psensor, the MATE Sensor app let’s you change the labels, and enable and disable readouts sensor by sensor so you can tweak things to your liking so you are only looking at valid readings.

To install the sensor app, just right-click on your lower or upper panel bar, and select “add to panel” then select “Hardware Sensors Monitor” from the menu.

In your case it shouldn’t complain about “no sensors detected” since you are already using Psensor, and should have the required libraries, but if anyone else reading this runs into that message, try installing lm-sensors, and running sudo sensor-detect from the command line as suggested above to configure lm-sensors to properly detect the sensors on your PC.

(Side note for Raspberry Pi MATE users - - unfortunately lm-sensors doesn’t seem to work on ARM CPU based boards at this time)

1 Like

I already did sensors detect.

I will see if the Mate sensor applet is any better.

I got it setup.

I think, but I may be wrong, that my cpu temps are 111,113,113, and 97 degrees F.

I will shut computer down and let it cool off.

If those temps go down, then they are probably the right ones for my cpu.

Yep, those are very reasonable readings, close to the readings I get for the four cores on my 4 core Intel laptop.

If you shut your system down, your temperatures should start only a few degrees above room temperature - but then spike upwards quickly if execute a multi-core stress test benchmark like:

openssl speed -multi 4

This test runs a benchmark on the openssl program, testing all of it's encryption algorithms, which is EXTREMELY cpu intensive, and it will thermally stress your system as hard as just about anything out there, so use Control-C to bail out early if things start to get too hot!

Some folks also use sysbench as a quick multi-core stress benchmark with:

sysbench --num-threads=4 --cpu-max-prime=10000 --test=cpu run

... but I have found that the openssl speed -multi 4 test above stresses my CPU cores a bit harder ultimatly hitting even higher core temperatures.

Two temps only varied about 2 degrees less with a 30 minute shutdown.

One temp was 13 cooler, the other 9 degrees cooler.

I had two fan speeds, 1757 and 580 rpm.

Do you think the lower is my case fan and the other my hard drive fan?

Sometimes you will only have 2 cpu temperature sensors for 4 cores because your CPU only has 2 physical cores, but has 4 logical cores due to hyper-threading. In other cases, there is only a single CPU core temperature reading for ALL cores. You can do a lscpu command and look up your CPU’s specs to see if it has hyper-treading.

If your fans are running at fixed speed without speed control, the slower fan is most likely the case fan, but the situation could be reversed if the CPU fan has active fan speed control since that will run the CPU fan at a lower RPM until the CPU is under stress and starts to heat up.

If the 580 RPM speed increases when you run the openssl stress test that I mentioned above for a few minutes:

openssl speed -multi 4

… then it could be your CPU fan running with speed control. If nothing changes, then most likely the lower 580 number is your case fan and the 1757 number is your CPU fan.

If you have access to the fans, you can find out for sure which is which very quickly by watching the fan RPM number in real time while CAREFULLY slowing one of the fans slightly by touching the fan’s CENTER hub (NOT THE BLADES) with a rolled up rag or piece of paper.

Fan speed control is a little tricky on modern PC’s, since some hardware does it using the chipset management engine hardware below the level of the O.S. (and so will automatically adjust fan speeds without the O.S. having to do anything) – while other systems require that the O.S. intervene to take active control of the fans (or else they just run at MAX speed for safety’s sake).

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht

   sudo dmidecode -t processor | grep HTT
  	HTT (Multi-threading)

  lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian

CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 21
Model: 48
Model name: AMD A8-7600 Radeon R7, 10 Compute Cores 4C+6G
Stepping: 1
CPU MHz: 1770.735
CPU max MHz: 3100.0000
CPU min MHz: 1400.0000
BogoMIPS: 6188.99
Virtualization: AMD-V
L1d cache: 16K
L1i cache: 96K
L2 cache: 2048K

A8-7600 is a dual physical core, quad virtual core (2 hyperthreads per core).

Since there are only two physical cores, I would expect either one or at most two CPU coretemp readings to be posted by lm-sensors.

If you just open a terminal and type:

sensors

or for Fahrenheit

sensors -f

When you type one of the above commands, how many entries like "Core 0", "Core 1", etc. do you see? - and what are the default readings at room temperature?

I ask because these are the actual numbers reported by the kernel driver that reads the actual on-chip internal CPU temperature sensors, and early on there were issues with the AMD series chips like the A8-7600 -- but that was years back and I would expect that you should be seeing nice accurate numbers now.

For reference, this is what I see on the laptop I am typing this on:

sensors -f
acpitz-virtual-0
Adapter: Virtual device
temp1: +80.2°F (crit = +230.0°F)

coretemp-isa-0000
Adapter: ISA adapter
Core 0: +118.4°F (high = +221.0°F, crit = +221.0°F)
Core 1: +116.6°F (high = +221.0°F, crit = +221.0°F)
Core 2: +116.6°F (high = +221.0°F, crit = +221.0°F)
Core 3: +116.6°F (high = +221.0°F, crit = +221.0°F)

dell_smm-virtual-0
Adapter: Virtual device
Processor Fan: 0 RPM
CPU: +78.8°F
Ambient: +111.2°F
Ambient: +111.2°F

No Core readings.

k10temp-pci-00c3
Adapter: PCI adapter
temp1: +40.1°F (high = +158.0°F)
(crit = +176.0°F, hyst = +174.2°F)

radeon-pci-0008
Adapter: PCI adapter
temp1: +41.0°F (crit = +248.0°F, hyst = +194.0°F)

fam15h_power-pci-00c4
Adapter: PCI adapter
power1: N/A (crit = 65.19 W)

it8620-isa-0228
Adapter: ISA adapter
in0: +0.84 V (min = +0.00 V, max = +3.06 V)
in1: +1.54 V (min = +0.00 V, max = +3.06 V)
in2: +2.02 V (min = +0.00 V, max = +3.06 V)
in3: +2.04 V (min = +0.00 V, max = +3.06 V)
in4: +2.04 V (min = +0.00 V, max = +3.06 V)
in5: +2.23 V (min = +0.00 V, max = +3.06 V)
in6: +2.23 V (min = +0.00 V, max = +3.06 V)
3VSB: +3.34 V (min = +0.00 V, max = +6.12 V)
Vbat: +3.17 V
fan1: 1795 RPM (min = 10 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 642 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM)
temp1: +96.8°F (low = +260.6°F, high = +260.6°F) sensor = thermistor
temp2: -198.4°F (low = +260.6°F, high = +260.6°F) sensor = disabled
temp3: +64.4°F (low = +32.0°F, high = +140.0°F) sensor = Intel PECI
temp4: +111.2°F
temp5: +113.0°F
temp6: +113.0°F
intrusion0: ALARM

The ht flag is not definitive.

In AMD chips, it means hyper transport which is different from hyperthreading.

For the AMD APU chips there are two temperatures:
one for the CPU, and
one for the GPU.

Some of the AMD CPU lines require a correction factor from those two internal sensors to get actual temperature. Unfortunately, I seem to recall the A8-7600 was one of those chips that did not report actual temperature.

Your CPU temperature is probably 40.1 F plus the ambient temperature or some other obscure correction function… Looks like the actual temperature is measured by the it8620 monitoring chip as temp4. The GPU/Radeon temperature is probably temp5. The motherboard temperature would be temp1. temp2 and temp3 should be ignored - they are meaningless.

HTH
djb

Thanks.

I don’t think the temps of any sensor are close to being real, but I can just observe starting temps as well as see when it goes up.

I used

   stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 2m

Temp got up to about 135 F when I shut it down.

It was quick to return to ambient temp.

I set a high alarm and sound when temp exceeds 140 degrees F.

Been doing some more research on this, more good news and bad news ...

The BAD news is that the temp1 reading from the k10temp-pci-00c3 kernel module which decodes the internal CPU temperature sensor is CRAP on some AMD CPUs, always has been apparently, and sadly, probably always will be, which is why you are seeing such an absurd number.

Here's a link that explains the accuracy limitations in how this 'temp 1' reading is calculated:

https://www.kernel.org/doc/Documentation/hwmon/k10temp

The GOOD news is that not having a very accurate on-chip temperature sensor has proven to be a serious enough issue that motherboard manufactures normally add an extra precision temperature sensor to your motherboard just below your CPU to address the need for accurate CPU thermal readings.

So one of the readings you are seeing at the end of the list in the "sensors" output dump is undoubtedly a high accuracy temperature readout from directly under the CPU.

All you need to do is play around a bit with the 'stress' program to find out WHICH temperature is most quickly following the change in CPU load, and that should be the sensor closest to the CPU.

You can check by running a non-stop sensors dump in another terminal window with:

watch -n 0.2 sensors

... or just use the real time readout from Psensor or the MATE Sensor Monitor applet.

Once you identify the temperature that most quickly tracks changes in CPU load, you will have found the main CPU temperature sensor installed directly under your CPU socket on your motherboard.