14

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 (hddtemp@guzu.net).
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?

5 Answers 5

10

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)

0
9

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?

  1. 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.

  2. 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
  3. now hddtemp knows how to read the data

    $ sudo hddtemp /dev/sdb

    /dev/sdb: Samsung SSD 850 EVO 1TB: 40°C

1
  • 1
    Wondering why I get some garbage characters in the output: root@digger:/etc# hddtemp /dev/sda yields Samsung SSD 850 EVO 120G B ▒@: 35 C
    – Digger
    Sep 8, 2018 at 5:51
5
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 (hddtemp@guzu.net). 
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
3
  • You 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! :)
    – Byte Commander
    Oct 19, 2015 at 18:53
  • 3
    On Ubuntu 14.04.3 LTS the database path is /etc/hddtemp.db
    – Daniel F
    Dec 30, 2015 at 13:30
  • Same for 16.04 LTS May 3, 2017 at 18:14
3
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".

2
  • If space needs then why you didn't include in command? Oct 4, 2014 at 8:28
  • maybe is 190 C a bit hot?
    – Tomachi
    Oct 10, 2021 at 10:34
-1

Do:

sudo echo '"Samsung SSD 840 EVO 120G B" 190 C "Samsung SSD 840 EVO 120GB"' >> /etc/hddtemp.db
2
  • Can you explain what this command does? Jun 4, 2014 at 15:35
  • i 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.
    – a.b.brandl
    Jun 5, 2014 at 14:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.