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 [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message
- Re: kern/43345: Support for the SiS 651 ATA controller Aaron D. Gifford
- Re: kern/43345: Support for the SiS 651 ATA controll... Glenn Dawson
- Re: kern/43345: Support for the SiS 651 ATA controll... Soeren Schmidt
- Re: kern/43345: Support for the SiS 651 ATA cont... Aaron D. Gifford