Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Dec 1999 19:11:34 -0500
From:      "Allen Pulsifer" <pulsifer@mediaone.net>
To:        <freebsd-current@FreeBSD.ORG>
Cc:        "Soren Schmidt" <sos@freebsd.dk>
Subject:   RE: ATA driver problem?? (lost disk contact)
Message-ID:  <NBBBJNDFEKPEHPFCLNLHKEAPEOAA.pulsifer@mediaone.net>
In-Reply-To: <199912182113.WAA49245@freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
According to the DPTA-3xxxxx spec from IBM, if the drive has fully entered
Standby mode, it can take up to 31 seconds for it to spin back up.
(See sections 3.3.6.1 and 13.0).  Other drive models may take even
longer, and even after the drive is back up, it may take a few seconds
to respond to the command.

You might have to set the timeout value as high as 45-60 seconds in
order to get reliable operation.

One possibility: the Check Power Mode command (sections 10.5.2 and 12.1)
allows you to determine if the drive is in Standby mode.  You might
be able to timeout after 5-10 seconds, abort the read/write command,
do a Check Power Mode command, and if the drive is in the process
of spinning back up, then wait patiently for it to come to life
before retrying the original read/write command.

It looks to me like you would have to do a soft reset (sections 11.0,
9.6 and 10.1) in order to abort the read/write command.  A soft
reset would also cause the drive to come back to life if it were
in Sleep mode (sections 3.3.6, 10.5.1 and 12.31).

Note that section 13.0 (page 190) is explicit about this procedure:
"We recommend that the host system executes Soft reset and then
retry to issue the command if the host system would occur timeout
for the device."

Hope this helps.

Allen

> -----Original Message-----
> From: owner-freebsd-current@FreeBSD.ORG
> [mailto:owner-freebsd-current@FreeBSD.ORG]On Behalf Of Soren Schmidt
> Sent: Saturday, December 18, 1999 4:13 PM
> To: djb@Wit389306.student.utwente.nl
> Cc: Richard Seaman Jr.; freebsd-current@FreeBSD.ORG
> Subject: Re: ATA driver problem?? (lost disk contact)
>
>
> It seems Dave J. Boers wrote:
> > On Sat, Dec 18, 1999 at 08:44:42PM +0100, Soren Schmidt wrote:
> > > There is no way to see if the disk was in suspend mode, you can
> > > give it a command and se how long it takes before it comes back :)
> > >
> > > The problem here is that it takes the command and OK's it, but it
> > > takes the spinuptime + overhead before the answer comes, and then
> > > the driver already timed out.
> >
> > I am under the impression that the drive does not need to do ADM if it is
> > shutdown once every six days. So can't we go with phk's solution: make a
> > cron job that shuts down and powers up the drive once every six days?
>
> I'd rather just up the timeout to 10s like the old wd driver, that way
> it apparently isn't a problem anymore, we just wait for the sucker to
> spin up if needed.
>
> -Søren
>
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?NBBBJNDFEKPEHPFCLNLHKEAPEOAA.pulsifer>