* to /sys from /proc/ide/hd$v/identify
@ 2004-06-07 13:48 Pat LaVarre
2004-06-07 13:54 ` Jeff Garzik
0 siblings, 1 reply; 5+ messages in thread
From: Pat LaVarre @ 2004-06-07 13:48 UTC (permalink / raw)
To: linux-ide
> List: linux-kernel
> Subject: [RFC][DOC] writing IDE driver guidelines
> From: Bartlomiej Zolnierkiewicz <B.Z...()elk...>
> Date: 2004-05-15 17:23:50
>
> Feedback is welcomed.
> ...
> general rules:
> ...
> - use linux-ide@vger.kernel.org mailing list
> ...
> PCI drivers:
> ...
> - /proc/ide/ interfaces are obsolete
Where do I now find the ATA op xEC/A1 "IDENTIFY" data that was
/proc/ide/hd$v/identify ?
$ uname -r
2.6.7-rc2
$
$ sudo cat /proc/ide/hda/identify | wc -w
256
$ sudo cat /proc/ide/hdc/identify | wc -w
256
$
$ sudo mount -t sysfs sysfs /sys
$ sudo find /sys -name '*id*' | less
$ find /sys/bus/ide | less
$
Pat LaVarre
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: to /sys from /proc/ide/hd$v/identify 2004-06-07 13:48 to /sys from /proc/ide/hd$v/identify Pat LaVarre @ 2004-06-07 13:54 ` Jeff Garzik 2004-06-07 19:46 ` Pat LaVarre 0 siblings, 1 reply; 5+ messages in thread From: Jeff Garzik @ 2004-06-07 13:54 UTC (permalink / raw) To: Pat LaVarre; +Cc: linux-ide Pat LaVarre wrote: >>List: linux-kernel >>Subject: [RFC][DOC] writing IDE driver guidelines >>From: Bartlomiej Zolnierkiewicz <B.Z...()elk...> >>Date: 2004-05-15 17:23:50 >> >>Feedback is welcomed. >>... >>general rules: >>... >>- use linux-ide@vger.kernel.org mailing list >>... >>PCI drivers: >>... >>- /proc/ide/ interfaces are obsolete > > > Where do I now find the ATA op xEC/A1 "IDENTIFY" data that was > /proc/ide/hd$v/identify ? > > $ uname -r > 2.6.7-rc2 > $ > $ sudo cat /proc/ide/hda/identify | wc -w > 256 > $ sudo cat /proc/ide/hdc/identify | wc -w > 256 > $ > $ sudo mount -t sysfs sysfs /sys > $ sudo find /sys -name '*id*' | less > $ find /sys/bus/ide | less Since IDE supports taskfile ioctl, you shouldn't need this in sysfs... Jeff ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: to /sys from /proc/ide/hd$v/identify 2004-06-07 13:54 ` Jeff Garzik @ 2004-06-07 19:46 ` Pat LaVarre 2004-06-07 19:54 ` Bartlomiej Zolnierkiewicz 0 siblings, 1 reply; 5+ messages in thread From: Pat LaVarre @ 2004-06-07 19:46 UTC (permalink / raw) To: Jeff Garzik; +Cc: linux-ide >>> - /proc/ide/ interfaces are obsolete >> Where do I now find the ATA op xEC/A1 "IDENTIFY" data that was >> /proc/ide/hd$v/identify ? > > Since IDE supports taskfile ioctl, you shouldn't need this in sysfs... Unless corrected, I will guess this answer means: Forget about the ! CONFIG_IDE_TASK_IOCTL kernels, and then for the remaining kernels persuade Google to teach you ioctl HDIO_DRIVE_TASKFILE. Pat LaVarre P.S. Evidence as follows: http://marc.theaimsgroup.com/?l=linux-ide&s=taskfile+ioctl http://www.google.com/search?q=linux-ide+taskfile+ioctl http://lxr.linux.no/ident?v=2.6.5&i=ide_taskfile_ioctl http://lxr.linux.no/source/drivers/ide/ide.c?v=2.6.5#L1554 1548 #ifdef CONFIG_IDE_TASK_IOCTL 1549 case HDIO_DRIVE_TASKFILE: 1550 if (!capable(CAP_SYS_ADMIN) || !capable(CAP_SYS_RAWIO)) 1551 return -EACCES; 1552 switch(drive->media) { 1553 case ide_disk: 1554 return ide_taskfile_ioctl(drive, cmd, arg); 1555 default: 1556 return -ENOMSG; 1557 } http://groups.google.com/groups?q=ioctl%20HDIO_DRIVE_TASKFILE From: Jeff Garzik (jgarzik@pobox.com) Subject: Re: "do ata" scsi command? Newsgroups: mlist.linux.scsi Date: 2003-05-16 09:00:27 PST ... I don't like HDIO_DRIVE_TASKFILE in this case :) and here's why: ... http://groups.google.com/groups? selm=linux.scsi.3EC509A1.10503%40pobox.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: to /sys from /proc/ide/hd$v/identify 2004-06-07 19:46 ` Pat LaVarre @ 2004-06-07 19:54 ` Bartlomiej Zolnierkiewicz 2004-06-07 21:58 ` Pat LaVarre 0 siblings, 1 reply; 5+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2004-06-07 19:54 UTC (permalink / raw) To: Pat LaVarre, Jeff Garzik; +Cc: linux-ide On Monday 07 of June 2004 21:46, Pat LaVarre wrote: > >>> - /proc/ide/ interfaces are obsolete > >> > >> Where do I now find the ATA op xEC/A1 "IDENTIFY" data that was > >> /proc/ide/hd$v/identify ? > > > > Since IDE supports taskfile ioctl, you shouldn't need this in sysfs... There is also HDIO_GET_IDENTITY. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: to /sys from /proc/ide/hd$v/identify 2004-06-07 19:54 ` Bartlomiej Zolnierkiewicz @ 2004-06-07 21:58 ` Pat LaVarre 0 siblings, 0 replies; 5+ messages in thread From: Pat LaVarre @ 2004-06-07 21:58 UTC (permalink / raw) To: Bartlomiej Zolnierkiewicz; +Cc: Jeff Garzik, linux-ide > > > - /proc/ide/ interfaces are obsolete > > ... > > Where do I now find the ATA op xEC/A1 "IDENTIFY" data that was > > /proc/ide/hd$v/identify ? > ... > Since IDE supports taskfile ioctl, > you shouldn't need this in sysfs... > ... > > Forget about the ! CONFIG_IDE_TASK_IOCTL > > kernels, and then for the remaining kernels > > persuade Google to teach you ioctl > > HDIO_DRIVE_TASKFILE. > > ... > > > There is also HDIO_GET_IDENTITY Thanks for that ATA pass thru hint, I pursued it as follows. ioctl HDIO_GET_IDENTITY maybe works here for my PATA /dev/hda and PATAPI /dev/hdc, though not yet for my SATAPI /dev/scd0. The bits of HDIO_GET_IDENTITY differ from those of /proc/ide/hd$v/identify. /proc was byte-swapping text and substituting x20 SPACE for x00 NUL, or vice versa. $ sudo cat /proc/ide/hdc/identify | x2c | hexdump -C >1 $ sudo ~/bin/ataid /dev/hdc | hexdump -C >2 $ diff 1 2 2,6c2,6 < 00000010 00 00 00 00 20 20 20 20 20 20 20 20 20 20 20 20 |.... | < 00000020 20 20 20 20 20 20 20 20 00 00 00 00 00 00 4b 48 | ......KH| < 00000030 30 4b 20 20 20 20 4c 49 54 45 2d 4f 4e 20 43 4f |0K LITE-ON CO| < 00000040 4d 42 4f 20 4c 54 43 2d 34 38 31 36 31 48 20 20 |MBO LTC-48161H | < 00000050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 | ..| --- > 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| > 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 4b |..............HK| > 00000030 4b 30 00 00 00 00 49 4c 45 54 4f 2d 20 4e 4f 43 |K0....ILETO- NOC| > 00000040 42 4d 20 4f 54 4c 2d 43 38 34 36 31 48 31 00 00 |BM OTL-C8461H1..| > 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| $ Pat LaVarre ----- There is no http://marc.theaimsgroup.com/?l=linux-ide&s=HDIO_GET_IDENTITY man -K HDIO_GET_IDENTITY here yields only: man 2 ioctl_list http://www.google.com/search?q=man+HDIO_GET_IDENTITY suggests: ioctl(int d, HDIO_GET_IDENTITY, struct hd_driveid *hd) http://groups.google.com/groups?q=ioctl+HDIO_GET_IDENTITY suggests essentially the following code, root privilege required. ------ ataid.c #include <fcntl.h> #include <linux/hdreg.h> #include <stdio.h> #include <sys/ioctl.h> static struct hd_driveid hddi; int main(int argc, char* argv[]) { --argc; ++argv; if (0 < argc) { int fd = open(argv[0], O_NONBLOCK); if (0 <= fd) { int ii = ioctl(fd,HDIO_GET_IDENTITY, &hddi); if (ii == 0) { FILE * fi = stdout; #if 0 if (fwrite(&hddi, sizeof hddi, 1, fi) == 1) { return 0; } #else unsigned char * uchars = (char *) &hddi; int ix = 0; for (ix = 0; ix < (int) sizeof hddi; ix += 2) { fputc(uchars[ix + 1], fi); fputc(uchars[ix + 0], fi); } return 0; #endif } } } fprintf(stderr, "not\n"); return -1; } ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-06-07 21:59 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-06-07 13:48 to /sys from /proc/ide/hd$v/identify Pat LaVarre 2004-06-07 13:54 ` Jeff Garzik 2004-06-07 19:46 ` Pat LaVarre 2004-06-07 19:54 ` Bartlomiej Zolnierkiewicz 2004-06-07 21:58 ` Pat LaVarre
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).