Sebastian wrote:

Hi,
Installing 6.0-RELEASE on a new machine. (Have tried 5.4 too). Using a PCChips M848ALU motherboard with onboard SiS
IDE controller, and a Hitachi 160gb disk.

When my disk is in UDMA6 (133) mode, FreeBSD dies painfully with many errors like:

ad0: WARNING - WRITE_DMA48 UDMA ICRC error (retrying request) LBA=316139999 ad0: WARNING - WRITE_DMA48 UDMA ICRC error (retrying request) LBA=316139999 ad0: FAILURE - WRITE_DMA48 status=51(READY,DSC,ERROR) error=4(ABORTED) LBA=316139999

It then panics and dumps:

 panic: initiate_write_inodeblock_ufs2: already started

If I disable dma using "set hw.ata.ata_dma=0" at boot, or simply boot in safe mode, it goes into PI04 mode and works fine. Also, if I change to a lesser UDMA value using atacontrol after boot, such as:

 # atacontrol mode ad0 UDMA4

... it also seems to behave just fine. I've tried UDMA3, UDMA4, UDMA5, all seemingly without errors. But when I use UDMA6, the machine immediately dies when the disk gets written to.

So my question:

What's the best way to tell FreeBSD to always use UDMA5 mode on that disk at boot time (before it attempts to use the drive)?


So far the best I've come up with is adding to /etc/sysctl.conf:

   hw.ata.ata_dma=0

And to /etc/rc.d/early.sh:

   atacontrol mode ad0 UDMA5

Does this seem reasonable? It feels like there should be a better way.

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to