DMA to ATA drive failure

Marauder marauder at pi.avalonnetworks.us
Wed Aug 27 00:29:17 UTC 2008


Hi,

I have a system that needs to directly access the local storage device in are machine (In this case it is a ATA hard disk). To do that we are use code similar to this

storageFD = open("/dev/ad4", O_RDWR);
if (write(storageFD, configBlock, 512) == -1) {
   cout << "Error" << endl;
}

We currently make sure we are writing to the disk in full sector sizes (512 in this case) and im sure we have the disk open for write.

But for some reason on some machines that we do this on we get the following error displayed from the kernel. "Aligned DMA transfer attempted. ad4: Setting up DMA failed" We have tried adding "SET hw.ata.ata_dma=0" in are loader.rc file with no luck.

Any help would be greatly appreciated
Thanx
M



More information about the freebsd-embedded mailing list