From owner-freebsd-current Sun Dec 19 8:38:26 1999 Delivered-To: freebsd-current@freebsd.org Received: from freebsd.dk (freebsd.dk [212.242.42.178]) by hub.freebsd.org (Postfix) with ESMTP id BC8AC15191 for ; Sun, 19 Dec 1999 08:38:13 -0800 (PST) (envelope-from sos@freebsd.dk) Received: (from sos@localhost) by freebsd.dk (8.9.3/8.9.1) id RAA24221; Sun, 19 Dec 1999 17:37:56 +0100 (CET) (envelope-from sos) From: Soren Schmidt Message-Id: <199912191637.RAA24221@freebsd.dk> Subject: Re: ATA driver problem?? (lost disk contact) In-Reply-To: from Allen Pulsifer at "Dec 18, 1999 07:11:34 pm" To: pulsifer@mediaone.net (Allen Pulsifer) Date: Sun, 19 Dec 1999 17:37:56 +0100 (CET) Cc: freebsd-current@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG It seems Allen Pulsifer wrote: > 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." This is more or less what is done now, I just doesn't do the check power mode after the reset, there is not much point, I know the disk is coming up. -Søren To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message