Kernel 5.6.0-2 doesn't provide nvme temperatures via hwmon?

Hello everyone,

i’m trying to read temperatures of nvme disk on parrot 4.10 64bit - kernel 5.6.0-2parrot1-amd64x86_64 but it seems like there is no feature like that implemented. According to kernel 5.5 release notes, hwmon sensors should be able to read nvme temperatures just by querying /sys/class/hwmon but i cant find any nvme entries in there or in any other sub-directory of hwmon.

https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.6-HWMON-Changes

Is there something that i miss?

What version of Parrot are you running? (include version (e.g. 4.6), edition(e.g. Home//KDE/OVA, etc.), and architecture (currently we only support amd64)

Parrot OS 4.10 64bit - Mate Desktop - kernel 5.6.0-2parrot1-amd64x86_64

What method did you use to install Parrot? (Debian Standard / Debian GTK / parrot-experimental)

Debian Standard

Configured to multiboot with other systems? (yes / no)

yes

If there are any similar issues or solutions, link to them below:

No

If there are any error messages or relevant logs, post them below:

No

1 Like

@dmknght , @ByteHackr, @PTD does one of you know anything?

Have you tried sensors or smartmontools, also nvme-cli, these can view temperature information from NVME devices. The article you’re pointing to is talking about a new generic driver for SATA disks.

i"ve tried to reconfigure sensors in case something was missed at first time, but still no entries about nvme displayed even after re-executing command

sudo sensors-detect

and answering Y to all questions during initialization.

smartmontools and nvme-cli both work:

sudo nvme smart-log /dev/nvme0

and

sudo smartctl -a /dev/nvme0

both return a bunch of information regarding NVMe device, temperatures included, but that’s not something i actually need since both commands need to be executed with superuser privileges.

As for the article i posted above, you are right, it’s not the right one, i apologize, correct one is the following:

https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.5-NVMe-HWMON-Support

Linux for years has supported monitoring NVMe drive temperatures when installing the nvme user-space utility and run as root, etc. But now finally with Linux 5.5 the kernel is supporting NVMe drive temperature reporting through the hardware monitoring “HWMON” infrastructure alongside other hardware sensors.

Come the Linux 5.5 stable release in early 2020 is the NVMe HWMON support to allow reporting the current NVMe drive temperature sensor(s) and min/max thresholds via this kernel infrastructure. This in turn allows user-space to simply query the data over sysfs without the need for any utilities, no root requirement, and should gracefully work with the various programs that report HWMON sensor readings to Linux desktop users.

That’s what i’m actually looking for, get NVMe temperatures without special privileges, through HWMON.

Is this a bug?

@nicole, I’m going to echo the same experience as you. Have no issues monitoring temps, etc of anything else, except for nvme drive (WD Black 1tb).

I’d like to be able to monitor it in Psensor, and/or GsmartControl

1 Like

No, All System temperatures and available Resources are shown without any privileges, this is not a bug.
And @contra, Psensor is great tool to monitor, and TLP and thermald can reduce your system temperatures, if you use it as per your system config.

@ByteHackr I think you misunderstood me! Excuse me, English is not my native language, I am trying my best! What i meant with asking “if this is a bug” i was referring to the functionality that seems to be missing from kernel 5.6.0-2
i.e query NVMe and get it’s temperature through

/sys/class/hwmon

like the article (above) about kernel 5.5 mentions. I do need to get NVMe temperatures without using sudo command but the only way i’m aware of is through this directive with HWMON’s usage.
Now the problem is that this directive doesn’t provide any nvme entries, while it should if i’m not missing anything according to kernel 5.5 release notes, so i can’t query NVMe drive and get it’s temps (only possible way is through privileged execution of nvme-cli and smartmontools which is not what i’m looking for).

/sys/class/hwmon directive provides temperatures for everything else except from NVMe drive.

Another discussion about this matter can be found here:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=961817

In addition the drivetemp kernel driver has recently been added to
kernel 5.6. It exports the drive temperature through hwmon so that it
can be read with tools like lm-sensors (the 'sensors' command). For that
reason, I'll ask hddtemp to be removed from the archive in the next
months.

In your case I just noticed that there is also a NVME hwmon driver,
however it's not enabled in Debian's kernel. I am therefore cloning this
bug and reassigning it to the kernel so that this option get enabled in
one of the next kernel uploads.

Anyone knows whether this should be already implemented or will be implemented in future kernel parrotOS releases?

Additional information regarding the nvme temperature monitoring through

/sys/class/hwmon/*

directive in the following discussion of fedora forums:

https://forums.fedoraforum.org/showthread.php?320314-Solution-Is-there-an-hddtemp-fork-that-reads-NVMe-drives

Last post of above’s link discussion states that running command

for f in /sys/class/hwmon/*; do grep -q nvme $f/name && cat $f/temp1_input; done

should display nvme temperatures in kernels 5.5+ which doesn’t seem to be the case in parrot kernel 5.6.0-2 since no output is displayed in terminal because of absence of nvme entries in /sys/class/hwmon/ path.

1 Like

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.