SSD temperature sensor readout with hddtemp
Solution 1
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)
Solution 2
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
Solution 3
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
Solution 4
sudo echo '"Samsung SSD 840 EVO 250G B" 190 C "Samsung SSD 840 EVO 250GB"' >> /etc/hddtemp.db
Worked to me, but there needs to be space between "250G" and "B" like "250G B" not "250GB".
Related videos on Youtube
Comments
-
a.b.brandl over 1 year
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?
-
Jorge Castro almost 10 yearsCan you explain what this command does?
-
a.b.brandl almost 10 yearsi understand this command adds my SSD to the database file so i do not get a "not in database" error any more... but my problem is i cannot read out the sensor in the first place, its value is not readable by hddtemp although i there is one built in.
-
αғsнιη over 9 yearsIf space needs then why you didn't include in command?
-
Byte Commander over 8 yearsYou should not provide a translation for the German output in the question in your answer. Propose an edit to the question instead and remove it here. Thank you! :)
-
Daniel F over 8 yearsOn Ubuntu 14.04.3 LTS the database path is
/etc/hddtemp.db
-
Richard Border about 7 yearsSame for 16.04 LTS
-
Digger over 5 yearsWondering why I get some garbage characters in the output:
root@digger:/etc# hddtemp /dev/sda
yieldsSamsung SSD 850 EVO 120G B ▒@: 35 C
-
Tomachi over 2 yearsmaybe is 190 C a bit hot?