From owner-freebsd-i386@FreeBSD.ORG Mon Jan 2 12:10:09 2006 Return-Path: X-Original-To: freebsd-i386@hub.freebsd.org Delivered-To: freebsd-i386@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CBE5016A429 for ; Mon, 2 Jan 2006 12:10:09 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6CB1943D5D for ; Mon, 2 Jan 2006 12:10:07 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k02CA6Us044780 for ; Mon, 2 Jan 2006 12:10:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k02CA6MN044779; Mon, 2 Jan 2006 12:10:06 GMT (envelope-from gnats) Resent-Date: Mon, 2 Jan 2006 12:10:06 GMT Resent-Message-Id: <200601021210.k02CA6MN044779@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-i386@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Mike M Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 84FCF16A41F for ; Mon, 2 Jan 2006 12:05:17 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 324BC43D48 for ; Mon, 2 Jan 2006 12:05:17 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id k02C5Gds078183 for ; Mon, 2 Jan 2006 12:05:17 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id k02C5GHk078182; Mon, 2 Jan 2006 12:05:16 GMT (envelope-from nobody) Message-Id: <200601021205.k02C5GHk078182@www.freebsd.org> Date: Mon, 2 Jan 2006 12:05:16 GMT From: Mike M To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Cc: Subject: i386/91214: Disk corruption with Asus K8S-LA: board doesn't support UDMA133 X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jan 2006 12:10:10 -0000 >Number: 91214 >Category: i386 >Synopsis: Disk corruption with Asus K8S-LA: board doesn't support UDMA133 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jan 02 12:10:06 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Mike M >Release: 6.0-RELEASE >Organization: >Environment: 6.0-RELEASE-GENERIC (from install CD) >Description: Machine is an HP Pavilion a1007w - also sold as a Compaq Presario SR1511NX - running an athlon 64 3200+, 1G ram. Memory is rock-solid. /dev/ad0 is a Samsung SP1203N, which can run at UDMA133 with the right motherboard. The motherboard is an Asus K8S-LA. According to its documentation, it supports UDMA 33/66/100 - but not UDMA133. Note that the controller itself (SiS 964) supports UDMA133. When 6.0-CURRENT (GENERIC) boots, it sets the ad0 channel to UDMA133, which results in random disk write errors when the disk is under load - about 1 bit in 10000 is flipped (usually from 1 to 0) en route to the disk drive on my machine. These errors usually won't show up until the system has been rebooted (hence memory cleared). Note that there are no apparent read errors at this speed - the system can be rebooted multiple times after this, and reliably reads back the erroneous files (generates the same md5 sum every time). Manually setting the device to UDMA100 (via atacontrol) cures the problem (though not any prior corruption). The write corruption becomes orders of magnitude rarer if you are _only_ writing to the device (not simultaneously reading) - so there is a good chance that sysinstall will build a reasonably clean install, which will start to become corrupted immediately you boot multi-user. Cheers :) Mike. ps: Interestingly enough, there is a distinct pattern to the flipped bits (particular bits per 8-byte chunk are flipped hundreds of times more often than others) - this probably specific to my motherboard and/or drive terminators. >How-To-Repeat: Create a random binary file, around 2G Set ata mode to UDMA6 Copy the file Diff the two files >Fix: To get a clean FreeBSD install on a new machine: temporarily install a 40-wire IDE cable, install system, compile or configure kernel to force UDMA100, replace 80-wire cable. >Release-Note: >Audit-Trail: >Unformatted: