Model: HTS548080M9AT00 (Hitachi) Laptop: T42. segfault:/home/spstarr# ./a /dev/hda head parked
Seems to park, heard it click :) Shawn. On July 7, 2005 04:03, Jens Axboe wrote: > On Mon, Jul 04 2005, Jens Axboe wrote: > > On Mon, Jul 04 2005, Lenz Grimmer wrote: > > > -----BEGIN PGP SIGNED MESSAGE----- > > > Hash: SHA1 > > > > > > Hi, > > > > > > Jens Axboe wrote: > > > > It isn't too pretty to rely on such unreliable timing anyways. I'm > > > > not too crazy about spinning the disk down either, it's useless wear > > > > compared to just parking the head. > > > > > > Fully agreed, and that's the approach the IBM Windows driver seems to > > > take - you just hear the disk park its head when the sensor kicks in > > > (you can hear it) - the disk does not spin down when this happens. > > > > > > Could this be some reserved ATA command that only works with certain# > > > drives? > > > > Perhaps the IDLE or IDLEIMMEDIATE commands imply a head parking, that > > would make sense. As you say, you can hear a drive parking its head. > > Here's a test case, it doesn't sound like it's parking the hard here. > > ATA7 defines a park maneuvre, I don't know how well supported it is yet > though. You can test with this little app, if it says 'head parked' it > works. If not, it has just idled the drive. > > > #include <stdio.h> > #include <unistd.h> > #include <fcntl.h> > #include <string.h> > #include <sys/ioctl.h> > #include <linux/hdreg.h> > > int main(int argc, char *argv[]) > { > unsigned char buf[8]; > int fd; > > if (argc < 2) { > printf("%s <dev>\n", argv[0]); > return 1; > } > > fd = open(argv[1], O_RDONLY); > if (fd == -1) { > perror("open"); > return 1; > } > > memset(buf, 0, sizeof(buf)); > buf[0] = 0xe1; > buf[1] = 0x44; > buf[3] = 0x4c; > buf[4] = 0x4e; > buf[5] = 0x55; > > if (ioctl(fd, HDIO_DRIVE_TASK, buf)) { > perror("ioctl"); > return 1; > } > > if (buf[3] == 0xc4) > printf("head parked\n"); > else > printf("head not parked %x\n", buf[3]); > > close(fd); > return 0; > } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/