SSD temperature sensor readout with hddtemp
It seems hddtemp cannot detect the temperature sensor of my SSD (Samsung EVO 840) properly.This is the bash output when running hddtemp:
WARNING: Drive /dev/sda doesn't seem to have a temperature sensor.
WARNING: This doesn't mean it hasn't got one.
WARNING: If you are sure it has one, please contact me ([email protected]).
WARNING: See --help, --debug and --drivebase options.
/dev/sda: Samsung SSD 840 EVO 120G B @: no sensor
I looked in the most recent .db file posted on http://nongnu.mirrors.hostinginnederland.nl//hddtemp/hddtemp.db, but it doesn't seem to list any SSD drives at all.
Was anyone able to readout the temp-sensor of a SSD with hddtemp?
Sorry but I can't comment...anyway
Hddtemp
usually reads field 194
from the smart data of the hard disk but in this case the info from the sensor is stored in field 190
. With that command you tell hddtemp
to read the value of field 190
for that particular model.
To check:
smartctl -a /device
hddtemp --debug /device
In both cases field 190 shows the temperature of the hard disk, (eg. 190 Airflow_Temperature_Cel)
Can confirm previous answers for Ubuntu 14.04.4 LTS also and "Samsung SSD 850 EVO 1TB". (but there is not the mentioned space needed in drive label)
So, what to do?
-
In case the drive is unknown to hddtemp:
check the drive's SMART data output for temperature sensor data and look for the field "ID#"
$ sudo smartctl /dev/sdb -a | grep -i Temp
190 Temperature_Celsius 0x0022 111 104 000 Old_age Always - 36
The very first field is the sensors attribute id#, "190" in this case.
-
add an entry into hddtemp's db, located at /etc/hddtemp.db
$ sudo echo "Samsung SSD 850 EVO 1TB" 190 C "Label for SSD 1TB" >> /etc/hddtemp.db
- field 1: use a string or regex matching the drive's display name (as reported by hddtemp output)
- field 2: SMART data field number (190 in this case)
- field 3: temperature unit (C|F)
- field 4: label string / comment
-
now hddtemp knows how to read the data
$ sudo hddtemp /dev/sdb
/dev/sdb: Samsung SSD 850 EVO 1TB: 40°C
root@elmo:/etc# hddtemp
WARNING: Drive /dev/sda doesn't seem to have a temperature sensor.
WARNING: This doesn't mean it hasn't got one.
WARNING: If you are sure it has one, please contact me ([email protected]).
WARNING: See --help, --debug and --drivebase options.
/dev/sda: Samsung SSD 850 EVO 120G B ▒@: no sensor
insert into /usr/share/misc/hddtemp.db
this line:
"Samsung SSD 850 EVO 120G B" 190 C "Samsung SSD 850 EVO 120GB"
now hddtemp
shows temperature
root@elmo:/etc# hddtemp
/dev/sda: Samsung SSD 850 EVO 120G B ▒@: 47 C