cable detection

Andrew Gallatin gallatin at cs.duke.edu
Mon Dec 15 12:00:55 PST 2003


Soren Schmidt writes:
 > 
 > > I was just wondering if this was a known issue,  or if there was a way
 > > to make things gracefully fall back to UDMA33 (aside from disabling
 > > DMA at in the loader, and then using atacontrol to enable it after boot)
 > 
 > No, I was under the impression that it worked on the ICH, I'll check
 > docs and code again...

OK, it wasn't pilot error.  A correctly built kernel also fails to
operate in UDMA33 mode on this box.

If I enable DMA, I get tons of UDMA errors when writing.  Reading
seems fine:

# atacontrol mode 0 UDMA33 PIO4
Master = UDMA33 
Slave  = BIOSPIO
# dd if=/boot/kernel.new/kernel of=/dev/null bs=64k
88+1 records in
5770939 bytes transferred in 0.323945 secs (17814568 bytes/sec)
# mount /usr
ad0: WARNING - WRITE_DMA UDMA ICRC error (retrying request)
ad0: WARNING - WRITE_DMA UDMA ICRC error (retrying request)
ad0: FAILURE - WRITE_DMA status=51<READY,DSC,ERROR> error=84<ICRC,ABORTED>
# ad0: WARNING - WRITE_DMA UDMA ICRC error (retrying request)
ad0: WARNING - WRITE_DMA UDMA ICRC error (retrying request)
ad0: FAILURE - WRITE_DMA status=51<READY,DSC,ERROR> error=84<ICRC,ABORTED>

# atacontrol mode 0 PIO4 PIO4                      
Master = PIO4 
Slave  = BIOSPIO
# 
# umount /usr
# fsck /usr
<...>

Verbose dmesg at http://www.myri.com/staff/gallatin/atadmesg

Like I said before, this box is a peice of junk cobbled together from
spare parts.  Its possible that a jumper is set incorrectly on the
disk or something.  Howeever, it worked perfectly with the old kernel, as
of last January.

Drew



More information about the freebsd-current mailing list