Thema: Delphi SMART-Werte lesen

Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#9

Re: SMART-Werte lesen

  Alt 25. Jun 2006, 19:19
Moin!

So, schön zu hören, das das Prog klappt. Es ist nur schnell dahingeschmiert - das Memo hat keine Anchors, etc. Sollte alles noch gemacht werden.

Nun zu der Frage mit der Temperatur: Ich habe mir mal alle ATA/ATAPI Standards von 1 bis zur 8 (Draft) besorgt und studiert sowie die S.M.A.R.T. Definition der SFF. Bei allen steht halt, dass es Vendor-Specific ist. Die von Microsoft schon mit Text versehenen Attribute sind nur bis ATA-3 richtig, ab ATA-4 sind diese komplett Vendor Specific. Daher müsste man eigentlich aus der vom DEVICE_INQUIRE zurück gelieferten Info-Struktur auslesen nach welcher Revision das Gerät arbeitet und entsprechend umsetzen. Maxtor hat bei vielen Platten eine Attribute ID von 192 (dezimal) für die Temperatur in °C, aber leider nicht überall. Es gibt auch Maxtor Platten mit einem anderen Wert auf dem Attribute ID von 192. Toshiba hat dort meist die Minuten der aktuellen Laufzeit und bei manchen Platten auch die Temperatur - aber mit 10 Multipliziert um eine Kommastelle zu ermöglichen.

Ich habe dann mich nochmal mit dem Quellcode von dem SMARTmontools (http://www.sourceforge.net/projects/smartmontools) auseinander gesetzt und die Jungs (und Mädels) machen es auch nur nach verifizierten Informationen. D.h. sie haben eine Tabelle mit den jeweiligen Zuordnungen der Attribute IDs zu den Modellen der Herstellern über RegExpressions.

Dann habe ich mich noch auf Suche nach herstellerspezifischen Dokumentationen begeben zu den SMART Attributen, aber Maxtor, Seagate (sind ja nun eins), IBM (Naja, nun Hitachi) und WDC schweigen sich aus oder wollen deftig Geld für die PDFs.

Nun aber noch was am Rande: Ich versuche den ATAPI_INQUIRE an meine ATAPI Laufwerke zu senden, aber ich bekomme diese grundlegend nicht erreicht. Wenn ich PhysicalDriveX abändere bekomme ich nie die beiden Laufwerke (obwohl sie am Secondary hängen) und der Laufwerksbuchstabe ist auch nicht erfolgreich (\\.\e:). Ich weiss nicht mehr weiter. Die Kombinationen der Attribute (z.B. entfernen von GENERIC_WRITE) hat auch nicht gebraucht. Irgendwelche Ideen?

MfG
Muetze1
  Mit Zitat antworten Zitat