Date: Thu, 10 Jul 2003 00:38:54 +1000 From: Stephen McKay <smckay@internode.on.net> To: sos@freebsd.org Cc: freebsd-hardware@freebsd.org Subject: atapicam more forgiving than atapicd? Message-ID: <200307091438.h69EcsZu009485@dungeon.home>
next in thread | raw e-mail | index | archive | help
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?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200307091438.h69EcsZu009485>