AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SMART-Werte lesen

Ein Thema von ManuMF · begonnen am 23. Jun 2006 · letzter Beitrag vom 31. Jul 2007
Antwort Antwort
Seite 4 von 6   « Erste     234 56      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#31

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 11:45
\\.\ScsiX hab ich auf irgend'ner Webseite mal gesehn ... und wie gesagt, k.A. ob's stimmt.
\\.\CdromX läuft bei mir aber ganz gut ^^ (siehe Anhang)

Das mit dem "S-ATA Controller im P-ATA Modus" ... hmmm, also ich hab da nichts gemacht, das läuft schon die ganze Zeit so? (GA-K8NSC-939 - BIOS Version F8)


Zitat:
Funktioniert der Code denn mit S-ATA Platten? Ich meine mal gelesen zu haben, dass das nicht geht.
Also, bei mir wird nur die S-ATA-Platte erkannt.
Die Andere (4K040H2 ... beides von Maxtor) kennt vermutlich kein SMART ... jedenfalls meint das BIOS? (kurz nach'm Start), dat S.M.A.R.T für dieses nicht aktiviert ist.

Code:
SMART interface opened...
DFP_GET_VERSION returned:
    bVersion       = 1
    bRevision      = 1
    fCapabilities  = 0x00000007
    bReserved      = 0x0
    bIDEDeviceMap  = 0x4
SMART enabled on drive: 2
     cbBytesReturned: 16
Drive 2 is an IDE Hard drive that supports SMART
    #Cylinders: 16383, #Heads: 16, #Sectors per Track: 63
     IDE TASK FILE REGISTERS:
          bFeaturesReg    = 0x0
          bSectorCountReg = 0x1
          bSectorNumberReg = 0x1
          bCylLowReg      = 0x0
          bCylHighReg     = 0x0
          bDriveHeadReg   = 0xA0
          Status          = 0xEC
     Model number: Maxtor 6V250F0                         
     Firmware rev: VA11163
     Serial number: V594J4NG          
   cbBytesReturned: 528
Data for Drive Number 2
Attribute Structure Revision         Threshold Structure Revision
             32                                      32
   -Attribute Name-      -Attribute Value-     -Threshold Value-
03 Spin Up Time                188                    63
04 Start/Stop Count            253                    0
05 Reallocated Sector Count    253                    63
07 Seek Error Rate             253                    0
08 Seek Time Performance       251                    187
09 Power On Hours Count        253                    0
0A Spin Retry Count            253                    157
0B Calibration Retry Count     253                    223
0C Power Cycle Count           253                    0
BD (Unknown attribute)         100                    0
BE (Unknown attribute)         72                    0
C0 (Unknown attribute)         253                    0
C1 (Unknown attribute)         253                    0
C2 (Unknown attribute)         47                    0
C3 (Unknown attribute)         253                    0
C4 (Unknown attribute)         253                    0
C5 (Unknown attribute)         253                    0
C6 (Unknown attribute)         253                    0
C7 (Unknown attribute)         199                    0
C8 (Unknown attribute)         253                    0
C9 (Unknown attribute)         253                    0
CA (Unknown attribute)         253                    0
CB (Unknown attribute)         253                    180
CC (Unknown attribute)         253                    0
CD (Unknown attribute)         253                    0
CF (Unknown attribute)         253                    0
D0 (Unknown attribute)         253                    0
D2 (Unknown attribute)         253                    0
D3 (Unknown attribute)         253                    0
D4 (Unknown attribute)         253                    0
PS: (hatte jetzt mal Zeit etwas in die Codes zu gucken)
Delphi-Quellcode:
If ( AHandle <> INVALID_HANDLE_VALUE ) Then
  CloseHandle(AHandle);
Dat IF könnte man sich eigentlich sparren, denn CloseHandle prüft intern selbst nochmal und bei INVALID_HANDLE_VALUE macht es einfach nüschts ^^


So, jetzt hatte ich mal ein bissl "aufgerüstet" ... leider nur mit alten Platten ... bin mal bis PhysicalDrive5 gekommen, dann sind mit die Kabel ausgegangen (OK, ich hatte keine Lust nochmal in den Keller zu geh ... 6 Etage ohne Fahrstuhl)
Also mit dem MAX_IDE_DRIVES kommt ihr da schonmal nicht hin.
PS: dieses HDD-Dinges geht von 0 bis 9 ... verwendet aber kein S.M.A.R.T, sondern nur IOCTL_DISK_GET_DRIVE_GEOMETRY und IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS.

Ich hatte ja nur 0 bis 255 genommen, weil das BIOS die "Laufwerke" ja über'n Byte verwaltet ... ich glaub ab $80 war'n die Festplatten, also sollte wohl 0..127 ausreichend sein ... ich will ja eigentlich nicht die SMART-Werte, sodern die Daten der Platten und davon kann es halt mehr geben, also nur 4.


Im Anhang mal noch'n paar Werte der Maxtor-Platte ... dort oben is ja eindeutig zuviel von (Unknown attribute) zu lesen ._.
Die Werte stammen aus der WMI (Windows Management Instrumentation).
(ich weiß zwar noch nicht, aber ich glaub ich komm besser, wenn ich mir mal WMI genauer anseh, dat scheint ja ganz gute Ergebnisse zu liefern und außerdem is dort nich bei 4 Schluß ._.)
Miniaturansicht angehängter Grafiken
smart_195.jpeg   cdromx_170.jpeg  
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#32

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 12:58
Zitat von himitsu:
Das mit dem "S-ATA Controller im P-ATA Modus" ... hmmm, also ich hab da nichts gemacht, das läuft schon die ganze Zeit so? (GA-K8NSC-939 - BIOS Version F8)
Ka, musst in das BIOS schauen wie der Controller eingestellt ist.

Zitat von himitsu:
Also mit dem MAX_IDE_DRIVES kommt ihr da schonmal nicht hin.
Wie oft denn noch: MAX_IDE_DRIVES gilt nur für das Handle welches du mit SMARTVSD oder PhysicalDriveX geholt hast. Du kannst doch PhysicalDriveX in Massen haben, aber pro zurück gelieferten Handle kannst du maximal 4 Geräte mit diesem Handle ansprechen.

Ich werde wohl auch nochmal eine kleine Bastelstunde hinlegen und das INQUIRY auch nochmal über das SPTI Interface von 2000/XP aufbauen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#33

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 13:08
Das mit MAX_IDE_DRIVES hab ich nun inzwischen verstanden (denk ich ma), aber wie soll es dann mögloch sein die S.M.A.R.T-Werte der IDE's abzufragen, denn diese liegen bei mir nunmal im Bereich von 2 bis 5.

Aber praktisch ist jetzt halt, daß zumindestens S.M.A.R.T auch bei meiner S-ATA-Platte vorhanden ist ^^

Und nein, hatte schonma geguckt und konnte nichts finden, wo man sowas einstellen kann -.-''
Aber sollte es dann nicht standardmäßig deaktiviert sein? (hatte nach dem BIOS-Update ja erstmal alles zurückgesetzt)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#34

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 13:15
Zitat von himitsu:
Das mit MAX_IDE_DRIVES hab ich nun inzwischen verstanden (denk ich ma), aber wie soll es dann mögloch sein die S.M.A.R.T-Werte der IDE's abzufragen, denn diese liegen bei mir nunmal im Bereich von 2 bis 5.
Wieso? Die PhysicalDriveX kann doch bis sonstwo laufen

Zitat von himitsu:
Und nein, hatte schonma geguckt und konnte nichts finden, wo man sowas einstellen kann -.-''
Aber sollte es dann nicht standardmäßig deaktiviert sein? (hatte nach dem BIOS-Update ja erstmal alles zurückgesetzt)
Vllt. ist es bei deinem Board Standard?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#35

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 13:25
Zitat von Muetze1:
Wieso? Die PhysicalDriveX kann doch bis sonstwo laufen
Ja, aber dieses SMART-Zeugs doch aber nicht?

Zitat von Muetze1:
Vllt. ist es bei deinem Board Standard?
Na ja, Hauptsache ist doch, dat mein PC läuft
Und ich hab keine Ahnung ... wußte ja noch nichtmal, dat es sowas gibt
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#36

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 13:34
Zitat von himitsu:
Zitat von Muetze1:
Wieso? Die PhysicalDriveX kann doch bis sonstwo laufen
Ja, aber dieses SMART-Zeugs doch aber nicht?
In wie fern?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#37

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 13:43
ich denk das zählt nur von 0 bis 3?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#38

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 13:46
Zitat von himitsu:
ich denk das zählt nur von 0 bis 3?
Ja und? Du hast doch genug Möglichkeiten:

Handle PhysicalDrive0
+-- Bit 0 (nicht) gesetzt
+-- Bit 1 (nicht) gesetzt
+-- Bit 2 (nicht) gesetzt
+-- Bit 3 (nicht) gesetzt

Handle PhysicalDrive1
+-- Bit 0 (nicht) gesetzt
+-- Bit 1 (nicht) gesetzt
+-- Bit 2 (nicht) gesetzt
+-- Bit 3 (nicht) gesetzt

Handle PhysicalDrive2
+-- Bit 0 (nicht) gesetzt
+-- Bit 1 (nicht) gesetzt
+-- Bit 2 (nicht) gesetzt
+-- Bit 3 (nicht) gesetzt

Handle PhysicalDrive3
+-- Bit 0 (nicht) gesetzt
+-- Bit 1 (nicht) gesetzt
+-- Bit 2 (nicht) gesetzt
+-- Bit 3 (nicht) gesetzt

Handle PhysicalDrive4
+-- Bit 0 (nicht) gesetzt
+-- Bit 1 (nicht) gesetzt
+-- Bit 2 (nicht) gesetzt
+-- Bit 3 (nicht) gesetzt

Handle PhysicalDrive5
+-- Bit 0 (nicht) gesetzt
+-- Bit 1 (nicht) gesetzt
+-- Bit 2 (nicht) gesetzt
+-- Bit 3 (nicht) gesetzt

etc, usw, ff, bla blubb

Ich weiss nicht, wie ich es sonst noch ausdrücken sollte. Die Beschränkung auf die 4 gilt nur für ein Handle, welches du über das CreateFile() auf \\.\PhysicalDriveX bekommen hast. Ich weiss nicht, wo hier das Problem liegt?
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#39

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 13:51
Zitat von himitsu:
ich denk das zählt nur von 0 bis 3?
Nein, imho ist diese alte Struktur dazu gedacht, mit dem Handle die einzelnen IDE Laufwerke ansprechen zu können, wenn das Handle unter 9x mithilfe der SmartVSD erstellt wurde. Unter NT musst du für jedes Laufwerk ein Handle erzeugen, siehe mein Versuch oben. Alles, was mit S - ATA direkt zu tun hat, funktioniert nur via SPTI...
Gleich bricht Thomas zusammen...

//Edit: Ok, den Beitrag vor mit habe ich nicht gesehen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#40

Re: SMART-Werte lesen

  Alt 12. Jul 2006, 14:33
Ähhh .... ja ... OK ... dann ...

Dachte die Bits und das PhysicalDriveX gehört in dem Zusammenhang zusammen ... also bei beidem geht es nur von 0 bis 3.

Im Code (SmartApp) wird doch ach aus einer Variable für beide Angaben die "Zahl" erstellt.
Delphi-Quellcode:
Drive := 'PhysicalDrive' + IntToStr(i);
Smart.irgendwas := 1 shl i;
da kann man doch ma durcheinander kommen ._.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 6   « Erste     234 56      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz