Skip to content

Instantly share code, notes, and snippets.

@gtirloni
Last active January 31, 2024 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gtirloni/db01fb789a80b35f546b0f6f2756e477 to your computer and use it in GitHub Desktop.
Save gtirloni/db01fb789a80b35f546b0f6f2756e477 to your computer and use it in GitHub Desktop.
lm_sensors and Nuvoton chips

lm_sensors and Nuvoton chips

My ASUS B760M motherboard and many others have a Nuvoton Super I/O chip used for controlling fans, monitoring temperature and other tasks.

Some of the temperature readings that the chip provides are not connected to any physical sensors. This caused bad readings, like reported by lm_sensors here:

$ sensors nct6798-*
nct6798-isa-0290
Adapter: ISA adapter

AUXTIN4:                   +79.0°C  (high = +80.0°C, hyst = +75.0°C)  ALARM
                                    (crit = +100.0°C)

Unless you have a reason to believe the internal area of your computer case or the PSU are really at such high temperature (don' touch it!), you're safe to ignore these sensors.

In Fedora 39, you can create a new file in /etc/sensors.d/nuvoton.conf with the following contents:

chip "nct6798-*"
    ignore temp1
    ignore temp2
    ignore temp3
    ignore temp4
    ignore temp5
    ignore temp6
    ignore temp7
    ignore temp8
    ignore temp9
    ignore temp10
    ignore temp11
    ignore temp12
    ignore intrusion0
    ignore intrusion1
    ignore beep_enable

Notice that the ignore statements have different names than what you see in the sensors output.

For example, temp7 insteaed of AUXTIN4. Run sensors -u to show the raw output:

$ sensors -u

AUXTIN4:
  temp7_input: 79.000
  temp7_max: 80.000
  temp7_max_hyst: 75.000
  temp7_crit: 100.000
  temp7_alarm: 1.000
  temp7_beep: 0.000

AUXTIN4 is the label but the feature is actually named temp7, in the example above.

Fun fact: low and high

You may see this in sensors output:

nvme-pci-0100
Adapter: PCI adapter
Composite:    +43.9°C  (low  = -40.1°C, high = +83.8°C)
                       (crit = +87.8°C)
Sensor 1:     +64.8°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +42.9°C  (low  = -273.1°C, high = +65261.8°C)

This shows some part of this NVME drive is really hot (64.8 Celsius) and that it can go as low as -273.1C or as high as 65261.8C (hotter than the surface of the Sun).

Although that's impressive, it probably means the sensor has no knowledge about what its low and high values really are. In this case, the sensor's reading itself is also bogus. The low and max are the lowest possible Kelvin temperature converted to Celsius. The hig is the highest Kelvin temperature that will fit a unsigned 16-bit integer.

This is a candidate for ignoring.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment