(es)ata drives may need an explicit spinup command?
Juergen Lock
nox at jelal.kn-bremen.de
Thu Aug 6 22:25:06 UTC 2009
On Thu, Aug 06, 2009 at 11:44:53PM +0300, Alexander Motin wrote:
> Juergen Lock wrote:
> > On Thu, Aug 06, 2009 at 10:56:44PM +0300, Alexander Motin wrote:
> >> Juergen Lock wrote:
> >>> So I tested esata on a siis pcie card with a 750G Seagate Freeagent Pro
> >>> drive and it does work - until the drive falls into powersave mode
> >>> after being idle for a little while. :( (I had the drive on 1394
> >>> before on another box where it was able to recover from this condition,
> >>> but not on usb or esata - and the drive's 1394 interface died a while
> >>> ago and also esata is faster anyway...)
> >>>
> >>> And now I came across this patch for the linux ata driver:
> >>> http://git.kernel.org/?p=linux/kernel/git/jgarzik/libata-dev.git;a=commitdiff;h=169439c2e35f01e7832a9b4fc8a7446980c3d593;hp=1e999736cafdffc374f22eed37b291129ef82e4e
> >>>
> >>> So my question is, could the same be done in our ata code?
> >>> I have a slight :) hope it would help this drive too at least as it
> >>> does seem to work on Linux...
> >> I am not sure it is related to your case, as you said your drive works
> >> for some time after plug. If drive spun-down automatically due to
> >> inactivity, it should spin-up automatically also, as OS unable to track
> >> that transition. 30 seconds of ATA command timeout should be sufficient
> >> for drive to do this. Do you have any other symptoms?
> >
> > Well the drive becomes completely `dead' for our drivers once in this
> > state, and when I try an atacontrol detach/attach on it at that point
> > its not even found anymore. (And when I powercycle it by pulling its
> > little wall wart for a moment it comes back.) Oh and I think I saw
> > something in our 1394 drivers too that does send something like a
> > spinup command...
>
> The problem is that we have no idea when to use this command after drive
> was successfully working. Could you boot with new CAM drivers and kernel
> verbose messages enabled? I am interested of what exactly happens on
> logs/console when drive dies and how it reacts on `camcontrol reset X`
> and `camcontrol rescan X` commands.
Well, what should I say, siis(4) seems to do the right thing now, i.e.
the drive spins up again properly now after a small delay like it
used to do on 1394. So either I must have tested it on the old ata
driver or I only tested it on 7...
So, sorry for the noise, :)
Juergen
More information about the freebsd-current
mailing list