Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Feb 2003 10:24:00 -0700
From:      "Aaron D. Gifford" <agifford@infowest.com>
To:        freebsd-gnats-submit@freebsd.org, current@freebsd.org
Subject:   Re: kern/43345: Support for the SiS 651 ATA controller
Message-ID:  <3E4A8330.2070905@infowest.com>

next in thread | raw e-mail | index | archive | help
Hi,

When I attempted to install FreeBSD 5.0-RELEASE on a Shuttle SS51G box, 
just like some other users, I encountered the "ata0: READ command 
timeout" error during boot.  I then tried 4.7-RELEASE and saw the same 
problem.

A quick search of the FreeBSD mail archives turned up other users with 
my same hardware (which uses the SiS 651 ata controller) who had 
encountered this.  Those messages told me that I needed to either 
disable UDMA in my system's BIOS, or set the sysctl variable 
hw.ata.ata_dma to zero.  I disabled UDMA in my BIOS and was able to 
complete the install.

Then on one of the messages, I noticed a link to Patrick Bihan-Faou's 
problem report, read it, and tried out his patch under 5.0-CURRENT 
(having completed my install of 5.0-RELEASE and updated to -CURRENT). 
Of course the line numbers were a bit different, but a hand patch of the 
two files was quick and easy.  A quick kernel recompile, BIOS re-enable 
of UDMA, and boot proved the patch worked!

Thank you, Patrick, for your patch!

Now for a few questions:

Is there any way Patrick's solution could be temporarily committed to 
-CURRENT and/or -STABLE until Soeren's forthcoming real solution is 
available (the one Soeren mentions in the PR)? Is there some bad side 
effect to Patrick's two-line temporary fix that I should worry about? 
If there are no negatives to the patch (other than a better fix is 
coming in the future), is there some other reason that the patch is not 
a good temporary solution for users with SiS 651 based systems, so they 
can install and boot to FreeBSD without the work-arounds (BIOS or sysctl 
setting change)?

Thanks for your good work, Soeren, and thanks again for your patch, Patrick.

Aaron out.

P.S. Here is Patrick's solution as a diff against a recent 5.0-CURRENT:

--- /usr/src/sys/dev/ata/ata-dma.c.orig	Fri Feb  7 11:22:38 2003
+++ /usr/src/sys/dev/ata/ata-dma.c	Fri Feb  7 11:23:24 2003
@@ -645,6 +645,7 @@
  	    ata_find_dev(parent, 0x06401039, 0) ||	/* SiS 640 */
  	    ata_find_dev(parent, 0x06451039, 0) ||	/* SiS 645 */
  	    ata_find_dev(parent, 0x06501039, 0) ||	/* SiS 650 */
+	    ata_find_dev(parent, 0x06511039, 0) ||	/* SiS 651 */
  	    ata_find_dev(parent, 0x07301039, 0) ||	/* SiS 730 */
  	    ata_find_dev(parent, 0x07331039, 0) ||	/* SiS 733 */
  	    ata_find_dev(parent, 0x07351039, 0) ||	/* SiS 735 */
--- /usr/src/sys/dev/ata/ata-pci.c.orig	Fri Feb  7 11:22:46 2003
+++ /usr/src/sys/dev/ata/ata-pci.c	Fri Feb  7 11:23:40 2003
@@ -189,6 +189,7 @@
  	    ata_find_dev(dev, 0x06401039, 0) ||
  	    ata_find_dev(dev, 0x06451039, 0) ||
  	    ata_find_dev(dev, 0x06501039, 0) ||
+	    ata_find_dev(dev, 0x06511039, 0) ||
  	    ata_find_dev(dev, 0x07301039, 0) ||
  	    ata_find_dev(dev, 0x07331039, 0) ||
  	    ata_find_dev(dev, 0x07351039, 0) ||


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E4A8330.2070905>