Getting around WRITE_DMA errors

Sebastian list at
Sat Jan 14 15:45:29 PST 2006

Sebastian wrote:

> Markus Trippelsdorf wrote:
>> Are you sure that your hard drive is not dying? Run smartctl -a 
>> /dev/ad0 and see if any errors were being logged.
>> (smartctl is part of the smartmontools port)
>> You should also try another cable.
> Thanks for the response. I'm reasonably sure, the disk is brand new, 
> and though it could certainly be bad, I installed Linux on the system 
> this morning without issue. I've tried two different UDMA cables also, 
> just to be sure. Under PIO4 mode in BSD (by setting hw.ata.ata_dma=0), 
> I can install and then write data to my heart's content without any 
> errors.
> I'm currently reinstalling again, because I believe a partition has 
> become corrupted after panicking with the disk in UDMA6 mode.

Just as a followup: Attempting to run "atacontrol mode ad0 UDMA6"  
resulted in WRITE_DMA48 errors and a panic. Afterwards, disk access was 
slow, and trying to use _any_ UDMA mode resulted in DMA errors being 
logged, and eventually another panic.

Having briefly tested UDMA3-5 with success previously, I felt that the 
partitions must have been corrupted somehow, so I reinstalled FreeBSD 
from scratch. It's better, after booting with "hw.ata.ata_dma=0" and 
then running "atacontrol mode ad0 UDMA5", it's running fine using UDMA5 
and copying lots of data around:
  # atacontrol mode ad0
  current mode = UDMA100

So my question remains: How do I tell FreeBSD to use UDMA5 on this drive 
at boot-time?


More information about the freebsd-questions mailing list