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