ahcich timeouts, only with ahci, not with ataahci
Alexander Motin
mav at FreeBSD.org
Tue Feb 23 16:19:04 UTC 2010
Harald Schmalzbauer wrote:
> Maybe it's helpful to you. Since I haven't seen the hang after
> upgrading, although doing extensive network transfer tests, I thought it
> vanished and haven't kept logs safe...
Enabling verbose kernel messages may give a bit more info.
>>> Kernel is from Feb. 19, so recent ahci improovements are active.
>>> Controller is ICH9R with 3 Samsung F3 SpinPoints.
>>>
>>> Any ideas how to work arround the hangs other than using the old ahci
>>> driver?
>>
>> Old ataahci driver wasn't using NCQ. NCQ may trigger some bugs in drive
>> firmware or expose some protocol inconsistencies. I would recommend you
>> to search for some errata for your drive and possibly firmware update.
>
> Sounds reasonable.
> How can I disable NCQ with new ahci?
There is no user-level control for this yet. It can be done via writing
quirk for this specific device in ata_xpt.c, or via commenting setting
ADA_FLAG_CAN_NCQ flag in ata_da.c, or by adding AHCI_Q_NONCQ quirk for
your controller in ahci.c.
> I guess if it's a HDD firmware issue with NCQ the hang shouldn't happen
> when NCQ is disabled.
Just for case of real I/O timeout, run full surface test with SMART.
> Btw, I found camcontrol cmd ada0 -a "EF 85 00 00 00 00 00 00 00 00 00
> 00" for disabling APM and another one for disabling AAM. I did that for
> my drives. Is there a wiki where we can place such valuable commands?
Probably not. It is just ATA commands, taken from ATA specification, but
definitely it is not very easy way.
--
Alexander Motin
More information about the freebsd-stable
mailing list