From owner-freebsd-hardware@FreeBSD.ORG Wed Jul 9 07:38:59 2003 Return-Path: Delivered-To: freebsd-hardware@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5C92737B404; Wed, 9 Jul 2003 07:38:59 -0700 (PDT) Received: from smtp0.adl1.internode.on.net (smtp0.adl1.internode.on.net [203.16.214.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3D49B43F93; Wed, 9 Jul 2003 07:38:58 -0700 (PDT) (envelope-from smckay@internode.on.net) Received: from dungeon.home (ppp188-212.lns1.bne1.internode.on.net [150.101.188.212])h69EctNv078173; Thu, 10 Jul 2003 00:08:55 +0930 (CST) Received: from dungeon.home (localhost [127.0.0.1]) by dungeon.home (8.12.8p1/8.11.6) with ESMTP id h69EcsZu009485; Thu, 10 Jul 2003 00:38:55 +1000 (EST) (envelope-from mckay) Message-Id: <200307091438.h69EcsZu009485@dungeon.home> To: sos@freebsd.org Date: Thu, 10 Jul 2003 00:38:54 +1000 From: Stephen McKay cc: Stephen McKay cc: freebsd-hardware@freebsd.org Subject: atapicam more forgiving than atapicd? X-BeenThere: freebsd-hardware@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: General discussion of FreeBSD hardware List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jul 2003 14:38:59 -0000 Hi! In my neverending series of "IDE is hurting me plenty", I ask the following question: "Is using the very same CDROM drive through atapicam more reliable than using it with straight atapicd?" The answer, experimentally at least, is a resounding, "Yes!" With my hardware (VIA 82C686 ATA66 controller, Liteon 24x burner, but the rest is SCSI), running FreeBSD 4.8, I get occasional errors running the burner at UDMA33: acd0: READ_BIG - HARDWARE ERROR asc=0x08 ascq=0x03 error=0x00 Interestingly, when I use the burner via the scsi device node, I never get errors. I've just done some mind numbing test reads of (just at random) disk one of the FreeBSD 4.0 install cds. The cam driver read the disk with no errors 10 times. The atapi driver read the disk successfully 5 times and failed 5 times. Just remember, it's the same hardware in the same machine. My copy of the ATAPI standard says the driver should retry when it receives the asc/ascq 0x08/0x03 (logical unit communication crc error). As far as I can tell, the atapi cd driver does not do this. The scsi cd driver retries 4 times, I believe. I think this makes all the difference. Is there any reason why the atapi cd driver does not retry in this case? Cheers, Stephen. PS The standard also suggests falling back 1 step at a time on persistent DMA CRC errors, ie 100 -> 66 -> 33 etc before dropping back to PIO. This shouldn't be too hard either, eh?