Odczyt czujnika temperatury SSD z hddtemp

10

Wygląda na to, że hddtemp nie może poprawnie wykryć czujnika temperatury mojego dysku SSD (Samsung EVO 840). To jest wyjście bash podczas uruchamiania 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

Zajrzałem do najnowszego pliku .db opublikowanego na stronie http://nongnu.mirrors.hostinginnederland.nl//hddtemp/hddtemp.db , ale wydaje się, że w ogóle nie wyświetla żadnych dysków SSD.

Czy ktoś był w stanie odczytać czujnik temp SSD z hddtemp?

abbrandl
źródło

Odpowiedzi:

8

Przepraszam, ale nie mogę komentować ... w każdym razie

Hddtempzwykle odczytuje pole 194z inteligentnych danych dysku twardego, ale w tym przypadku informacje z czujnika są przechowywane w polu 190. Za pomocą tego polecenia możesz hddtempodczytać wartość pola 190dla tego konkretnego modelu.

Sprawdzić:

smartctl -a /device

hddtemp --debug /device

W obu przypadkach pole 190 pokazuje temperaturę dysku twardego (np. 190 Airflow_Temperature_Cel)

użytkownik1750998
źródło
8

Potwierdza również poprzednie odpowiedzi dla Ubuntu 14.04.4 LTS i „Samsung SSD 850 EVO 1TB”. (ale na etykiecie dysku nie ma wspomnianego miejsca)

Co więc robić?

  1. W przypadku, gdy dysk nie jest znany hddtemp:

    sprawdź dane wyjściowe SMART napędu pod kątem danych czujnika temperatury i poszukaj pola „ID #”

    $ sudo smartctl /dev/sdb -a | grep -i Temp

    190 Temperature_Celsius 0x0022 111 104 000 Old_age Always - 36

    Pierwszym polem jest w tym przypadku identyfikator czujnika nr # 190.

  2. dodaj wpis do bazy danych hddtemp, znajdującej się na /etc/hddtemp.db

    $ sudo echo "Samsung SSD 850 EVO 1TB" 190 C "Label for SSD 1TB" >> /etc/hddtemp.db

    • pole 1: użyj ciągu lub wyrażenia regularnego pasującego do nazwy wyświetlanej dysku (zgodnie z danymi wyjściowymi hddtemp)
    • pole 2: numer pola danych SMART (w tym przypadku 190)
    • pole 3: jednostka temperatury (C | F)
    • pole 4: ciąg / komentarz etykiety
  3. teraz hddtemp wie, jak odczytać dane

    $ sudo hddtemp /dev/sdb

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

jednobryłowy
źródło
Zastanawiam się, dlaczego pojawiają się śmieci w postaci wyjściowej: root@digger:/etc# hddtemp /dev/sdawydajność Samsung SSD 850 EVO 120G B ▒@: 35 C
Digger
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 ([email protected]). 
WARNING: See --help, --debug and --drivebase options. 
/dev/sda: Samsung SSD 850 EVO 120G B              ▒@:  no sensor 

wstaw do /usr/share/misc/hddtemp.dbtego wiersza:

"Samsung SSD 850 EVO 120G B"                            190  C  "Samsung SSD 850 EVO 120GB"

teraz hddtemppokazuje temperaturę

root@elmo:/etc# hddtemp
/dev/sda: Samsung SSD 850 EVO 120G B              ▒@: 47 C
aikonautik
źródło
W odpowiedzi na pytanie nie należy podawać tłumaczenia dla niemieckiego wyniku. Zamiast tego zaproponuj edycję pytania i usuń je tutaj. Dziękuję Ci! :)
Byte Commander
3
W Ubuntu 14.04.3 LTS ścieżka do bazy danych to/etc/hddtemp.db
Daniel F
To samo dla 16.04 LTS
Richard Border
2
sudo echo '"Samsung SSD 840 EVO 250G B" 190 C "Samsung SSD 840 EVO 250GB"' >> /etc/hddtemp.db

Działało mi się, ale między „250G” a „B” musi być spacja, np. „250G B”, a nie „250GB”.

Roni Alanko
źródło
Jeśli potrzebujesz miejsca, dlaczego nie uwzględniono w poleceniu?
αғsнιη
-1

Zrobić:

sudo echo '"Samsung SSD 840 EVO 120G B" 190 C "Samsung SSD 840 EVO 120GB"' >> /etc/hddtemp.db
guido
źródło
Czy możesz wyjaśnić, co robi to polecenie?
Jorge Castro
Rozumiem, że to polecenie dodaje mój dysk SSD do pliku bazy danych, więc nie otrzymuję już błędu „brak w bazie danych” ... ale moim problemem jest to, że nie mogę odczytać czujnika w pierwszej kolejności, jego wartości nie można odczytać przez hddtemp chociaż mam jeden wbudowany.
abbrandl