SATA lemez leállítása

Fórumok

SATA lemez leállítása

Hozzászólások

[code:1:d7d5d8f8e2]# emerge sdparm[/code:1:d7d5d8f8e2]

eddig ultra ata lemezeket használtam, és menet közben amelyiket nem használtam azt a hdparm -S1 /dev/hdx paranccsal le tudtam állítani, mert minek tekerjen szegény, ha úgysem használom. ezt megelőzően pedig scsi lemezek voltak a gépemben, arra pedig az scsi-spin -d | -u /dev/sdx szel lehetett leállítani és beindítani. most viszont sata lemezem van és egyik sem bír vele. hogyan tudom leállítani a nem használt lemezt?
ugyanezt már megkérdeztem a Linux kezdőn is, hátha.. de oda senki sem válaszolt, és amúgy is gentoo-t használok.

(Ja, gozom sincs, hogy leallitja-e...)

from stephane driussi

start.c:
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <scsi/scsi_ioctl.h>

main(int argc, char **argv){
int fd;

if (argc != 2) {
fprintf(stderr, "Usage: %s /dev/something\n", argv[0]);
exit(1);
}

if ((fd=open(argv[1], O_RDONLY))==-1) {
perror(argv[0]);
exit(2);
}

if (ioctl(fd, SCSI_IOCTL_START_UNIT)) {
perror(argv[0]);
exit(3);
}

exit(0);
}

stop.c:
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <scsi/scsi_ioctl.h>

main(int argc, char **argv){
int fd;

if (argc != 2) {
fprintf(stderr, "Usage: %s /dev/something\n", argv[0]);
exit(1);
}

if ((fd=open(argv[1], O_RDONLY))==-1) {
perror(argv[0]);
exit(2);
}

if (ioctl(fd, SCSI_IOCTL_STOP_UNIT)) {
perror(argv[0]);
exit(3);
}

exit(0);
}

have fun!

hdparm -y /dev/sdx

nekem ezzel f@szán megy

hdparm -y /dev/sda

/dev/sda:
issuing standby command
HDIO_DRIVE_CMD(standby) failed: Invalid argument

De hdx az tuti ugye? egyébként nem teljesen értem ezeket a libata dolgokat, amióta azt használom ioctl getmultcount failed meg ilyeneket szokott hdparm-ra adni adni de csinálja mit mondok, a kernel szerint DMA is OK.

[quote:10467fcc4e="Toma_"]hdparm -y /dev/sda

/dev/sda:
issuing standby command
HDIO_DRIVE_CMD(standby) failed: Invalid argument

nálam is hasonló jókat ír erre:
hdparm -y /dev/sdb

/dev/sdb:
issuing standby command
HDIO_DRIVE_CMD(standby) failed: Inappropriate ioctl for device

szóval valami más tools kellene hozzá. létezik egyáltalán bármi hdparmhoz hasonló progi SATA vinyókhoz?

[quote:a527860438="Toma_"](Ja, gozom sincs, hogy leallitja-e...)

from stephane driussi

start.c:

stop.c:

have fun!

nem állítja le. kiírja, hogy Success, de nem csinál semmit. közben megtaláltam a forrás eredetét is a smartmontools sourceforge projektben, ahol egy levélben hozzám hasonlóan feltett kérdésre ezt a választ adták, viszont szerintem ez a nem libata SATA driverrel működik. én viszont a libata-t használom, meg szerintem már mindenki, hiszen a régebbi driver már deprecated. a smartctl -t is csak ígérik, hogy támogatni fogja a satát. történik valami fejlesztés a linuxhoz sata vonalon? már tök régóta nem hallok semmit sem ezen a téren. persze nem kötekedni akarok, félre ne értsen senki én hálás vagyok már ezért is.

Sata hdd kikapcsolasa:
sdparm --command=stop /dev/sda

De a smartmontools meg sajnos mindig nem tamogatja a libata-t :(

[quote:d63f6e1a93="LeslieT"]Sata hdd kikapcsolasa:
sdparm --command=stop /dev/sda

Köszi! Ez tényleg szépen kikapcsolja.

Hali, de jó tudni ezeket (ide,scsi,sata hdd leállítása)
és usb porton levő külső hdd leállítása?
vagy ez a külső házban levő usb chiptől függ?

[quote:f3636bd2b1="nzmark"]...hiszen a régebbi driver már deprecated. a smartctl -t is csak ígérik, hogy támogatni fogja a satát. történik valami fejlesztés a linuxhoz sata vonalon? már tök régóta nem hallok semmit sem ezen a téren. persze nem kötekedni akarok, félre ne értsen senki én hálás vagyok már ezért is.

hat en pont ezert fogok szepen visszaallni a deprec driverre. Masreszt imho amig ez nem lesz megcsinalva a libata-ban, addig talan a deprec driver is maradni fog. vagy forditva: ha kikerul, akkor talan meglesz a libata is.