From owner-freebsd-questions@FreeBSD.ORG Sat Jan 14 21:26:07 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A45116A41F for ; Sat, 14 Jan 2006 21:26:07 +0000 (GMT) (envelope-from list@mindling.com) Received: from a.mail.sonic.net (a.mail.sonic.net [64.142.16.245]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA0E443D46 for ; Sat, 14 Jan 2006 21:26:06 +0000 (GMT) (envelope-from list@mindling.com) Received: from [10.0.0.11] (64-142-39-120.dsl.static.sonic.net [64.142.39.120]) (authenticated bits=0) by a.mail.sonic.net (8.13.3/8.13.3) with ESMTP id k0ELQ6uh017323 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) for ; Sat, 14 Jan 2006 13:26:06 -0800 Message-ID: <43C96C73.9010904@mindling.com> Date: Sat, 14 Jan 2006 13:26:11 -0800 From: Sebastian User-Agent: Mozilla Thunderbird 1.0.5 (Windows/20050711) X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Getting around WRITE_DMA errors X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Jan 2006 21:26:07 -0000 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)? Thanks, Sebastian