DMA disable for sandisk CF cards ?

M. Warner Losh imp at bsdimp.com
Thu Jul 21 14:08:56 GMT 2005


In message: <000201c58dd4$5e114360$4801a8c0 at ws-ew-3.W2KDEMIG>
            "Norbert Koch" <NKoch at demig.de> writes:
: > > 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?

There may be something you can do with atacontrol after boot.  I've
never needed it.

Warner


More information about the freebsd-small mailing list