Can I change sensor names to be more meaningful?

I have a new desktop PC running KDE/TW and I have run sensors-detect and set lm-sensors. My issue is that the names which display by default are not as meaningful as they could be when using the System Monitor Widget. For example the fans are simply Fan1 through Fan6 and I’d like to name them as CPU Fan and Case Fan1 etc same with some of the others, for example the SSD shows as Composite! The widget does not allow me to customise the names (which would be useful). My actual chip is a Nuvoton NCT6797D which is detected and supported by nct6775 driver.

Maybe someone has already done this? Any help gratefully received.

Stuart

Hi
Or course…this is linux :wink:

Run sensors -u to identify the chip and sensor, then use the following format;

This is for my desktop board;


cat /etc/sensors.d/01-dq77mk.conf

chip "nct6776-isa-*"
   label in0 "Vcore"
   set in0_min 1.1 * 0.9
   set in0_max 1.1 * 1.15
   label in1 "+12V"
   compute in1 @ * 12, @ / 12
   set in1_min 12 * 0.95
   set in1_max 12 * 1.1
   label in2 "AVCC"
   set in2_min 3.3 * 0.95
   set in2_max 3.3 * 1.1
   label in3 "+3.3V"
   set in3_min 3.3 * 0.95
   set in3_max 3.3 * 1.1
   label in4 "+5V"
   compute in4 @ * 5, @ / 5
   set in4_min 5 * 0.95
   set in4_max 5 * 1.1
   ignore in5
   ignore in6
   label in7 "3VSB"
   set in7_min 3.3 * 0.95
   set in7_max 3.3 * 1.1
   label in8 "Vbat"
   set in8_min 3.3 * 0.95
   set in8_max 3.3 * 1.1
   label fan1 "Front Top Fan"
   label fan2 "CPU Fan"
   label fan3 "Front Bottom Fan"
   label temp1 "Motherboard - SYSTEM"
   label temp2 "Motherboard - CPU"
   label temp7 "Motherboard - PECI Agent 0"
   label temp8 "Motherboard - Intel Q77"
   #label temp9 "Motherboard - PECI Agent 1"
   ignore temp9
   ignore temp10
   ignore cpu0_vid
   ignore intrusion0
   ignore intrusion1
   ignore beep_enable

chip "coretemp-isa-000"
   label temp1 "CPU Package Temperature"
   label temp2 "CPU Core 0 Temperature"
   label temp3 "CPU Core 1 Temperature"
   label temp4 "CPU Core 2 Temperature"
   label temp5 "CPU Core 3 Temperature"

Sensors output (I need to recalculate voltages with new power supply);


 sensors
coretemp-isa-0000
Adapter: ISA adapter
CPU Package Temperature:  +40.0°C  (high = +85.0°C, crit = +105.0°C)
CPU Core 0 Temperature:   +34.0°C  (high = +85.0°C, crit = +105.0°C)
CPU Core 1 Temperature:   +36.0°C  (high = +85.0°C, crit = +105.0°C)
CPU Core 2 Temperature:   +39.0°C  (high = +85.0°C, crit = +105.0°C)
CPU Core 3 Temperature:   +40.0°C  (high = +85.0°C, crit = +105.0°C)

nvme-pci-0100
Adapter: PCI adapter
Composite:    +41.9°C  (low  =  -0.1°C, high = +81.8°C)
                       (crit = +85.8°C)

nct6776-isa-0a00
Adapter: ISA adapter
Vcore:                      816.00 mV (min =  +0.99 V, max =  +1.26 V)  ALARM
+12V:                        12.38 V  (min = +11.42 V, max = +13.25 V)
AVCC:                         3.38 V  (min =  +2.98 V, max =  +3.63 V)
+3.3V:                        3.38 V  (min =  +2.98 V, max =  +3.63 V)
+5V:                          5.20 V  (min =  +4.76 V, max =  +5.52 V)
3VSB:                         3.38 V  (min =  +2.98 V, max =  +3.63 V)
Vbat:                         3.33 V  (min =  +2.70 V, max =  +3.63 V)
Front Top Fan:               728 RPM  (min =    0 RPM)
CPU Fan:                     647 RPM  (min =    0 RPM)
Front Bottom Fan:            712 RPM  (min =    0 RPM)
Motherboard - SYSTEM:         +0.0°C  (high =  +0.0°C, hyst =  +0.0°C)  sensor = CPU diode
Motherboard - CPU:           +37.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = CPU diode
Motherboard - PECI Agent 0:  +39.5°C  (high = +80.0°C, hyst = +75.0°C)
                                      (crit = +105.0°C)
Motherboard - Intel Q77:     +58.0°C  (high = +80.0°C, hyst = +75.0°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +27.8°C  (crit = +106.0°C)
temp2:        +29.8°C  (crit = +106.0°C)

Thanks I will have a play with this and see how I get on.

Stuart

I just need to ask, that file in the sensors.d directory - did you have to create that as I have nothing in my sensors.d directory?

Stuart

Having read up a bit more I now understand I have to create the file in /etc/sensors.d. Now having done that and rebooted it does not seem to work. I just tried changing some names using the label option but nothing seems to change.
my /etc/sensors.d/01-7B86vMx.conf


chip "nct6797-isa-*"
   label fan2 "CPU Fan"
   label fan3 "Case Fan3"
   label fan6 "Case Fan6"
   
chip "k10temp-pci-*"
    label Tctl "CPU Tctl"
    label Tdie "CPU Tdie"
    
chip "nvme-pci-*"
    label composite "PCI-SSD"

My sensors output


k10temp-pci-00c3
Adapter: PCI adapter
Vcore:       919.00 mV 
Vsoc:        881.00 mV 
Tctl:         +33.6°C  
Tdie:         +33.6°C  
Icore:         8.00 A  
Isoc:          2.00 A  

nvme-pci-2900
Adapter: PCI adapter
Composite:    +33.9°C  (low  =  -0.1°C, high = +74.8°C)
                       (crit = +79.8°C)

nct6797-isa-0a20
Adapter: ISA adapter
in0:                   480.00 mV (min =  +0.00 V, max =  +1.74 V)
in1:                     1.01 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in2:                     3.39 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in3:                     3.31 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in4:                     1.01 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:                   144.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in6:                   872.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in7:                     3.39 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in8:                     3.30 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in9:                     1.82 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in10:                  904.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in11:                  736.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in12:                  888.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in13:                  600.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in14:                    1.51 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
fan1:                     0 RPM  (min =    0 RPM)
fan2:                  1153 RPM  (min =    0 RPM)
fan3:                  1518 RPM  (min =    0 RPM)
fan4:                     0 RPM  (min =    0 RPM)
fan5:                     0 RPM  (min =    0 RPM)
fan6:                  1506 RPM  (min =    0 RPM)
SYSTIN:                 +31.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = CPU diode
CPUTIN:                 +29.0°C  (high = +115.0°C, hyst = +90.0°C)  sensor = thermistor
AUXTIN0:                +33.5°C  (high = +115.0°C, hyst = +90.0°C)  sensor = thermistor
AUXTIN1:                +31.0°C    sensor = thermistor
AUXTIN2:                +41.0°C    sensor = thermistor
AUXTIN3:                 -1.0°C    sensor = thermistor
SMBUSMASTER 0:          +34.0°C  
PCH_CHIP_CPU_MAX_TEMP:   +0.0°C  
PCH_CHIP_TEMP:           +0.0°C  
PCH_CPU_TEMP:            +0.0°C  
intrusion0:            ALARM
intrusion1:            ALARM
beep_enable:           disabled

amdgpu-pci-2a00
Adapter: PCI adapter
vddgfx:           N/A  
vddnb:            N/A  
edge:         +33.0°C  (crit = +80.0°C, hyst =  +0.0°C)


Stuart

Hi
Can you post the output from sensors -u, not sure if the nvme one will work… did you make sure you restarted the lm_sensors service?

I actually re-booted as I was not sure which services needed restarting!


sensors -u
k10temp-pci-00c3
Adapter: PCI adapter
Vcore:
  in0_input: 0.906
Vsoc:
  in1_input: 0.881
Tctl:
  temp1_input: 28.625
Tdie:
  temp2_input: 28.625
Icore:
  curr1_input: 8.000
Isoc:
  curr2_input: 2.000

nvme-pci-2900
Adapter: PCI adapter
Composite:
  temp1_input: 32.850
  temp1_max: 74.850
  temp1_min: -0.150
  temp1_crit: 79.850
  temp1_alarm: 0.000

nct6797-isa-0a20
Adapter: ISA adapter
in0:
  in0_input: 0.672
  in0_min: 0.000
  in0_max: 1.744
  in0_alarm: 0.000
  in0_beep: 0.000
in1:
  in1_input: 1.000
  in1_min: 0.000
  in1_max: 0.000
  in1_alarm: 1.000
  in1_beep: 0.000
in2:
  in2_input: 3.392
  in2_min: 0.000
  in2_max: 0.000
  in2_alarm: 1.000
  in2_beep: 0.000
in3:
  in3_input: 3.312
  in3_min: 0.000
  in3_max: 0.000
  in3_alarm: 1.000
  in3_beep: 0.000
in4:
  in4_input: 1.008
  in4_min: 0.000
  in4_max: 0.000
  in4_alarm: 1.000
  in4_beep: 0.000
in5:
  in5_input: 0.144
  in5_min: 0.000
  in5_max: 0.000
  in5_alarm: 1.000
  in5_beep: 0.000
in6:
  in6_input: 0.944
  in6_min: 0.000
  in6_max: 0.000
  in6_alarm: 1.000
  in6_beep: 0.000
in7:
  in7_input: 3.392
  in7_min: 0.000
  in7_max: 0.000
  in7_alarm: 1.000
  in7_beep: 0.000
in8:
  in8_input: 3.280
  in8_min: 0.000
  in8_max: 0.000
  in8_alarm: 1.000
  in8_beep: 0.000
in9:
  in9_input: 1.824
  in9_min: 0.000
  in9_max: 0.000
  in9_alarm: 1.000
  in9_beep: 0.000
in10:
  in10_input: 0.904
  in10_min: 0.000
  in10_max: 0.000
  in10_alarm: 1.000
  in10_beep: 0.000
in11:
  in11_input: 0.792
  in11_min: 0.000
  in11_max: 0.000
  in11_alarm: 1.000
  in11_beep: 0.000
in12:
  in12_input: 0.888
  in12_min: 0.000
  in12_max: 0.000
  in12_alarm: 1.000
  in12_beep: 0.000
in13:
  in13_input: 0.600
  in13_min: 0.000
  in13_max: 0.000
  in13_alarm: 1.000
  in13_beep: 0.000
in14:
  in14_input: 1.504
  in14_min: 0.000
  in14_max: 0.000
  in14_alarm: 1.000
  in14_beep: 0.000
fan1:
  fan1_input: 0.000
  fan1_min: 0.000
  fan1_alarm: 0.000
  fan1_beep: 0.000
  fan1_pulses: 2.000
fan2:
  fan2_input: 899.000
  fan2_min: 0.000
  fan2_alarm: 0.000
  fan2_beep: 0.000
  fan2_pulses: 2.000
fan3:
  fan3_input: 1465.000
  fan3_min: 0.000
  fan3_alarm: 0.000
  fan3_beep: 0.000
  fan3_pulses: 2.000
fan4:
  fan4_input: 0.000
  fan4_min: 0.000
  fan4_alarm: 0.000
  fan4_beep: 0.000
  fan4_pulses: 2.000
fan5:
  fan5_input: 0.000
  fan5_min: 0.000
  fan5_alarm: 0.000
  fan5_beep: 0.000
  fan5_pulses: 2.000
fan6:
  fan6_input: 1464.000
  fan6_min: 0.000
  fan6_alarm: 0.000
  fan6_pulses: 2.000
SYSTIN:
  temp1_input: 27.000
  temp1_max: 80.000
  temp1_max_hyst: 75.000
  temp1_alarm: 0.000
  temp1_type: 1.000
  temp1_offset: 0.000
  temp1_beep: 0.000
CPUTIN:
  temp2_input: 26.000
  temp2_max: 115.000
  temp2_max_hyst: 90.000
  temp2_type: 4.000
  temp2_offset: 0.000
AUXTIN0:
  temp3_input: 29.000
  temp3_max: 115.000
  temp3_max_hyst: 90.000
  temp3_alarm: 0.000
  temp3_type: 4.000
  temp3_offset: 0.000
  temp3_beep: 0.000
AUXTIN1:
  temp4_input: 31.000
  temp4_type: 4.000
  temp4_offset: 0.000
AUXTIN2:
  temp5_input: 37.000
  temp5_type: 4.000
  temp5_offset: 0.000
AUXTIN3:
  temp6_input: -1.000
  temp6_type: 4.000
  temp6_offset: 0.000
SMBUSMASTER 0:
  temp7_input: 28.500
PCH_CHIP_CPU_MAX_TEMP:
  temp8_input: 0.000
PCH_CHIP_TEMP:
  temp9_input: 0.000
PCH_CPU_TEMP:
  temp10_input: 0.000
intrusion0:
  intrusion0_alarm: 1.000
  intrusion0_beep: 0.000
intrusion1:
  intrusion1_alarm: 1.000
  intrusion1_beep: 0.000
beep_enable:
  beep_enable: 0.000

amdgpu-pci-2a00
Adapter: PCI adapter
vddgfx:
ERROR: Can't get value of subfeature in0_input: Can't read
vddnb:
ERROR: Can't get value of subfeature in1_input: Can't read
edge:
  temp1_input: 28.000
  temp1_crit: 80.000
  temp1_crit_hyst: 0.000

Stuart

Hi
Can you confirm sensor in use?


lsmod | grep nct

Can you try just configuring the k10temp one and see if it works;


chip "k10temp-pci-*"
   label Vcore "VCORE"
   label Vsoc "VSOC
   ignore Tctl
   ignore Tdie
   ignore Icore
   ignore Isoc

Well


lsmod | grep nct
nct6775                81920  0
hwmon_vid              16384  1 nct6775
pinctrl_amd            32768  0


And trying just the changes for k10temp-pci-* made no difference after restarting both lm_sensors and sensord services. They all still show up when configuring the widget.

Stuart

Hi
Strange indeed… if you re-run sensors-detect;


sensors-detect --auto

cat /etc/sysconfig/lm_sensors

Running cat /etc/sysconfig/lm_sensors before and after sensors-detect --auto gives identical results.


# Generated by sensors-detect on Sat Oct  3 16:55:19 2020
## Path: Hardware/Sensors
## Description:         Defines the modules to used
## Type:                string
## ServiceRestart:      lm_sensors
## Default:             ""
#
# This file is sourced by /etc/init.d/lm_sensors and defines the modules to
# be loaded/unloaded.
#
# The format of this file is a shell script that simply defines variables:
# HWMON_MODULES for hardware monitoring driver modules, and optionally
# BUS_MODULES for any required bus driver module (for example for I2C or SPI).

HWMON_MODULES="nct6775"

Stuart

I just noticed that if I use an ignore statement on the nct6797 for the unused fans they do not show up but the label statements do not work to change the labels used for the working fans!

Stuart

Hi
Not really sure… I’m using the same module, I wonder if it’s a sensors bug with the nct6797 chip and the nct6775 module…

There are no apparent errors when restarting lm_sensors but when I restart sensord status shows


Oct 03 17:08:04 localhost.localdomain sensord[3136]:   AUXTIN3: -1.0 C
Oct 03 17:08:04 localhost.localdomain sensord[3136]:   SMBUSMASTER 0: 27.5 C
Oct 03 17:08:04 localhost.localdomain sensord[3136]:   PCH_CHIP_CPU_MAX_TEMP: 0.0 C
Oct 03 17:08:04 localhost.localdomain sensord[3136]:   PCH_CHIP_TEMP: 0.0 C
Oct 03 17:08:04 localhost.localdomain sensord[3136]:   PCH_CPU_TEMP: 0.0 C
Oct 03 17:08:04 localhost.localdomain sensord[3136]:   beep_enable: Sound alarm disabled
Oct 03 17:08:04 localhost.localdomain sensord[3136]: Chip: amdgpu-pci-2a00
Oct 03 17:08:04 localhost.localdomain sensord[3136]: Adapter: PCI adapter
Oct 03 17:08:04 localhost.localdomain sensord[3136]: Error getting sensor data: amdgpu/#0: Can't read
Oct 03 17:08:04 localhost.localdomain sensord[3136]: sensor read error (-1)

No idea if this matters.

Stuart

Hi
What is your gpu? That is probably worth a bug report.

Anyway, if you temporarily remove the module;


rmmod -f nct6775

Does the k10temp come right, else I think a bug report may glean additional information as to why it’s not working…

All that does is remove my fans from the display.

One thing I do notice is the sensors3 file does not show the nct6797 chip in the section where the others are. I was thinking of adding a section to that file for nct6797.

Stuart

Hi
I doubt that will work, normally you add the force_id option for the chip, but it is detecting it…

See https://github.com/torvalds/linux/blob/master/drivers/hwmon/nct6775.c

I’ve been trying some more things but the thing I missed was that the labels for the nct6797 fans are now working and show up in sensors -u, however they do not work for k10temp! Also the widget still refuses to display the labels which have changed but displays the default name.

Just though I’d try a reboot and now the widget is displaying the changed names of the fans as expected. Still no joy changing the labels on k10temp or nvme.

Stuart

Hi
No syntax errors in the output from sensors -u command?

The only errors there are the equivalent to those when restarting sendorsd.


amdgpu-pci-2a00
Adapter: PCI adapter
vddgfx:
ERROR: Can't get value of subfeature in0_input: Can't read
vddnb:
ERROR: Can't get value of subfeature in1_input: Can't read
edge:
  temp1_input: 26.000
  temp1_crit: 80.000
  temp1_crit_hyst: 0.000

So changes to nct6797 show up now in sensors -u and in the widget after rebooting. Changes to k10temp, nvme and amdgpu do not take effect.

Stuart