Date: Fri, 7 Aug 2009 00:13:07 +0200 From: Juergen Lock <nox@jelal.kn-bremen.de> To: Alexander Motin <mav@FreeBSD.org> Cc: freebsd-current@FreeBSD.org, Juergen Lock <nox@jelal.kn-bremen.de> Subject: Re: (es)ata drives may need an explicit spinup command? Message-ID: <20090806221307.GA1940@triton.kn-bremen.de> In-Reply-To: <4A7B40C5.7040500@FreeBSD.org> References: <20090806191848.GA14171@triton.kn-bremen.de> <4A7B357C.5010203@FreeBSD.org> <20090806203501.GA16639@triton.kn-bremen.de> <4A7B40C5.7040500@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090806221307.GA1940>