Apple ATA DMA problems with ATAPI
Nathan Whitehorn
nwhitehorn at freebsd.org
Sun Mar 22 18:01:46 PDT 2009
On Sun, 22 Mar 2009, Justin Hibbits wrote:
> On Sun, Mar 22, 2009 at 01:41:18PM -0700, Marcel Moolenaar wrote:
>>
>> On Mar 22, 2009, at 11:06 AM, Justin Hibbits wrote:
>>
>>> Well, it seems I was bitten by the ATA DMA problems from a few
>>> months back.
>>
>> Try disabling DMA for atapi in /boot/loader.conf and enable
>> it in /etc/sysctl.conf. For some reason, on my Mac Mini at
>> least, it helps to first program PIO and then program *DMA.
>>
>> YMMV,
>>
>> --
>> Marcel Moolenaar
>> xcllnt at mac.com
>>
>>
>>
>
> It appears hw.ata.atapi_dma is a read-only tunable, so /etc/sysctl.conf has no
> effect on it, and only throws a warning about being unable to change it. It's
> working sufficiently as PIO, though.
>
So it looks like this issue is limited to ATAPI devices, and as a result I
have one more stab in the dark. Apparently at least some of these
controllers die if you try to give them an ATAPI command with a length
that is not divisible by 16. I have a patch at
http://people.freebsd.org/~nwhitehorn/ata-alignment.diff that converts
such commands to PIO. Could you see if it works?
If this fails, I'll apply a sledgehammer and force all ATAPI devices on
Apple controllers to PIO.
-Nathan
More information about the freebsd-ppc
mailing list