[ntdev]ATA WRITE Command Help!

Hi All,

I am trying to issue an ATA WRITE (0x30) command using
IOCTL_IDE_PASS_THROUGH. DeviceIoControl function returned status OK but the
status register value is 0x58… Since DRQ bit is set to one does this means
I have to perform the PIO transfer manually… I tried issuing a READ
command on the same address and the data returned is not the data I am
trying to write before…

Also, do you guys know another way of issuing a WRITE command?

Thanks in advance!!.. :slight_smile:

Regards,
Newbie

ATA pass through is basically broken in 2000 and XP SP1. It is working in
Server 2003 and XP SP2, and will require the use of IOCTL_ATA_PASS_THROUGH
from the Server 2003 DDK.

Also, READ/WRITE are not commands defined in the ATA-6 spec. Did you not
mean READ DMA, READ BUFFER or another ATA-6 read or write command?


The personal opinion of
Gary G. Little

“Khryss” wrote in message news:xxxxx@ntdev…
> Hi All,
>
> I am trying to issue an ATA WRITE (0x30) command using
> IOCTL_IDE_PASS_THROUGH. DeviceIoControl function returned status OK but
the
> status register value is 0x58… Since DRQ bit is set to one does this
means
> I have to perform the PIO transfer manually… I tried issuing a READ
> command on the same address and the data returned is not the data I am
> trying to write before…
>
> Also, do you guys know another way of issuing a WRITE command?
>
> Thanks in advance!!.. :slight_smile:
>
> Regards,
> Newbie
>
>
>
>

Based on the opcode he stated (0x30). I’m guessing he means WRITE
SECTOR. (One of only two WRITE commands manadatory for non-packet
devices).

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Gary G. Little
Sent: Wednesday, October 13, 2004 12:30 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] [ntdev]ATA WRITE Command Help!

ATA pass through is basically broken in 2000 and XP SP1. It is working
in
Server 2003 and XP SP2, and will require the use of
IOCTL_ATA_PASS_THROUGH
from the Server 2003 DDK.

Also, READ/WRITE are not commands defined in the ATA-6 spec. Did you not
mean READ DMA, READ BUFFER or another ATA-6 read or write command?


The personal opinion of
Gary G. Little

“Khryss” wrote in message
news:xxxxx@ntdev…
> Hi All,
>
> I am trying to issue an ATA WRITE (0x30) command using
> IOCTL_IDE_PASS_THROUGH. DeviceIoControl function returned status OK
but
the
> status register value is 0x58… Since DRQ bit is set to one does this
means
> I have to perform the PIO transfer manually… I tried issuing a READ
> command on the same address and the data returned is not the data I am
> trying to write before…
>
> Also, do you guys know another way of issuing a WRITE command?
>
> Thanks in advance!!.. :slight_smile:
>
> Regards,
> Newbie
>
>
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@nvidia.com
To unsubscribe send a blank email to xxxxx@lists.osr.com