From owner-freebsd-small@FreeBSD.ORG Thu Jul 21 08:08:58 2005 Return-Path: X-Original-To: freebsd-small@freebsd.org Delivered-To: freebsd-small@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D380A16A420 for ; Thu, 21 Jul 2005 08:08:58 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from harmony.village.org (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 39FD443D58 for ; Thu, 21 Jul 2005 08:08:58 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1]) by harmony.village.org (8.13.3/8.13.3) with ESMTP id j6L873gl078004; Thu, 21 Jul 2005 02:07:04 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 21 Jul 2005 02:07:03 -0600 (MDT) Message-Id: <20050721.020703.41710119.imp@bsdimp.com> To: NKoch@demig.de From: Warner Losh In-Reply-To: <001e01c58dbe$f6739600$4801a8c0@ws-ew-3.W2KDEMIG> References: <20050721020028.6398.qmail@web53301.mail.yahoo.com> <001e01c58dbe$f6739600$4801a8c0@ws-ew-3.W2KDEMIG> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-small@freebsd.org, non_secure@yahoo.com Subject: Re: DMA disable for sandisk CF cards ? X-BeenThere: freebsd-small@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2005 08:08:59 -0000 > May be, I miss the point. Why do you want to disable > dma on the cf card, when you can instruct FreeBSD > to just not use dma (atacontrol(8)) ? Because newer CF cards, like the SanDisk, negotiate DMA with the controller. However, most of the IDE <-> CF Adapters aren't properly wired for this, as they only implement CF 1.5 and not CF 2.0. So, when FreeBSD goes to access the device, you get all kinds of timeout errors. If you are lucky, ata will failback to PIO mode. Most of the time it has bitten me, I've not been lucky :-(. hw.ata.ata_dma=0 is the magic. You can set it at the boot loader prompt, or you can add it to /boot/loader.conf. atacontrol is way too late, since this disabling must be done prior to geom's scan for root (or the moral equivalent in 4.x). Warner