DMA disable for sandisk CF cards ?

Norbert Koch NKoch at demig.de
Thu Jul 21 09:16:37 GMT 2005


> > May be, I miss the point. Why do you want to disable
> > dma on the cf card, when you can instruct FreeBSD
> > to just not use dma (atacontrol(8)) ?
>
> Because newer CF cards, like the SanDisk, negotiate DMA with the
> controller.  However, most of the IDE <-> CF Adapters aren't properly
> wired for this, as they only implement CF 1.5 and not CF 2.0.  So,
> when FreeBSD goes to access the device, you get all kinds of timeout
> errors.  If you are lucky, ata will failback to PIO mode.  Most of the
> time it has bitten me, I've not been lucky :-(.
>
> hw.ata.ata_dma=0 is the magic.  You can set it at the boot loader
> prompt, or you can add it to /boot/loader.conf.  atacontrol is way too
> late, since this disabling must be done prior to geom's scan for root
> (or the moral equivalent in 4.x).

Ok, I understand. But you can't do that selectively on a per-device basis,
can you?

Norbert



More information about the freebsd-small mailing list