Skip to content

Add Western Digital SN850X NVME Drive #25

@linuxtek-canada

Description

@linuxtek-canada

Running default, I can only see my SATA SSDs:

$ sudo hddtemp
/dev/sda: Samsung SSD 870 EVO 2TB: 31°C
/dev/sdb: Samsung SSD 870 EVO 2TB: 30°C

I am able to get hddtemp to display the NVME drive and temp properly if I specify the drive:

$ sudo hddtemp /dev/nvme0n1
/dev/nvme0n1: WD_BLACK SN850X 4000GB: 39°C
$ sudo hddtemp /dev/nvme1n1
/dev/nvme1n1: WD_BLACK SN850X 4000GB: 42°C

However when I try set this up as a daemon and poll for the temperature it doesn't report properly:

$ netcat localhost 7634
|/dev/sda|Samsung SSD 870 EVO 2TB|31|C||/dev/sdb|Samsung SSD 870 EVO 2TB|30|C||/dev/nvme0n1|WD_BLACK SN850X 4000GB|UNK|*||/dev/nvme1n1|WD_BLACK SN850X 4000GB|UNK|*|

Running hddtemp --debug, I don't see temperature data:

$ hddtemp --debug /dev/nvme0n1

================= hddtemp 0.3-beta15 ==================
Model: WD_BLACK SN850X 4000GB


If one of the field value seems to match the temperature, be sure to read
the hddtemp man page before sending a report (section REPORT). Thanks.

$ hddtemp --debug /dev/nvme1n1

================= hddtemp 0.3-beta15 ==================
Model: WD_BLACK SN850X 4000GB


If one of the field value seems to match the temperature, be sure to read
the hddtemp man page before sending a report (section REPORT). Thanks.

I'm not sure how to get the SMART attribute number for temperature, but it is present:

$ sudo smartctl -a /dev/nvme0n1
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.6.4-200.fc39.x86_64] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       WD_BLACK SN850X 4000GB
Serial Number:                      23322S800017
Firmware Version:                   624331WD
PCI Vendor/Subsystem ID:            0x15b7
IEEE OUI Identifier:                0x001b44
Total NVM Capacity:                 4,000,787,030,016 [4.00 TB]
Unallocated NVM Capacity:           0
Controller ID:                      8224
NVMe Version:                       1.4
Number of Namespaces:               1
Namespace 1 Size/Capacity:          4,000,787,030,016 [4.00 TB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            001b44 8b4a214c61
Local Time is:                      Sat Dec 16 14:45:22 2023 EST
Firmware Updates (0x14):            2 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x00df):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp Verify
Log Page Attributes (0x1e):         Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg Pers_Ev_Lg
Maximum Data Transfer Size:         128 Pages
Warning  Comp. Temp. Threshold:     90 Celsius
Critical Comp. Temp. Threshold:     94 Celsius
Namespace 1 Features (0x02):        NA_Fields

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     9.00W    9.00W       -    0  0  0  0        0       0
 1 +     6.00W    6.00W       -    0  0  0  0        0       0
 2 +     4.50W    4.50W       -    0  0  0  0        0       0
 3 -   0.0250W       -        -    3  3  3  3     3100   11900
 4 -   0.0050W       -        -    4  4  4  4     3900   45700

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         2
 1 -    4096       0         1

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        40 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    104,276 [53.3 GB]
Data Units Written:                 828,999 [424 GB]
Host Read Commands:                 1,181,171
Host Write Commands:                4,726,290
Controller Busy Time:               15
Power Cycles:                       14
Power On Hours:                     3
Unsafe Shutdowns:                   4
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0

Error Information (NVMe Log 0x01, 16 of 256 entries)
No Errors Logged

Read Self-test Log failed: Invalid Field in Command (0x4002)

I tried adding the NVME drive to /usr/share/misc/hddtemp.db with various SMART attribute numbers but that didn't work.

Please advise if there's something else I should try.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions