Einzelnen Beitrag anzeigen

c.wuensch

Registriert seit: 19. Dez 2004
Ort: Münster
96 Beiträge
 
#6

Re: Festplatten-Standby und Status auslesen

  Alt 14. Jul 2008, 15:40
Der Code funktioniert leider nicht bei SATA-Platten, und solchen die über eine UDMA-Controller-Karte angeschlossen sind.

Hierbei könnte aber ein SCSI-Passthrough mit dem hier erläuterten CDB helfen. Kann mir vielleicht jemand sagen, wie ich das programmieren könnte?

-------------

Außerdem habe ich mir gerade ein wenig den Quellcode zu hdparm angesehen (zu finden hier).

Die Funktion zum Auslesen des Status sieht da so aus (bin nicht sicher, ob das alles ist):
Code:
   if (get_powermode) {
      __u8 args[4] = {ATA_OP_CHECKPOWERMODE1,0,0,0};
      const char *state;
      if (do_drive_cmd(fd, args)
       && (args[0] = ATA_OP_CHECKPOWERMODE2) /* (single =) try again with 0x98 */
       && do_drive_cmd(fd, args)) {
         err = errno;
         state = "unknown";
      } else {
         state = (args[2] == 255) ? "active/idle" : "standby";
      }
      printf(" drive state is: %s\n", state);
   }
Kann damit jemand etwas anfangen? Bzw. könnte man das in Delphi so ähnlich machen?

Freue mich wie immer über jede Antwort!
  Mit Zitat antworten Zitat