Subject: Re: pciide0:1:1: piomode error (0x4)
To: Jeff McMahill <jmcm@FRC2.frc.ri.cmu.edu>
From: Michael Eriksson <eramore@era-t.ericsson.se>
List: port-i386
Date: 06/06/2000 11:55:45
Jeff McMahill wrote:
> I'm trying to use a zip disk, but any access results in a stream
> of errors:
> 
> pciide0:1:1: piomode error (0x4)
> sd0(pciide0:1:1): ATA command aborted
> pciide0:1:1: piomode error (0x4)
> sd0(pciide0:1:1): ATA command aborted
> pciide0:1:1: piomode error (0x4)
> sd0(pciide0:1:1): ATA command aborted
> pciide0:1:1: piomode error (0x4)
> sd0(pciide0:1:1): ATA command aborted
> pciide0:1:1: piomode error (0x4)
> sd0(pciide0:1:1): ATA command aborted

You could try this patch. It makes my ATAPI Zip drive work.

Index: sys/dev/scsipi/atapi_wdc.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/scsipi/atapi_wdc.c,v
retrieving revision 1.35
diff -u -r1.35 atapi_wdc.c
--- atapi_wdc.c	2000/05/15 08:48:25	1.35
+++ atapi_wdc.c	2000/06/06 09:30:54
@@ -839,6 +839,12 @@
 		/* Also don't try if the drive didn't report its mode */
 		if ((drvp->drive_flags & DRIVE_MODE) == 0)
 			goto ready;;
+#if 1
+		/* work-around for pathetic ATAPI Zip drive */
+		if (drvp->PIO_mode == 3 &&
+		    (drvp->drive_flags & (DRIVE_UDMA | DRIVE_DMA)) == 0)
+			goto ready;
+#endif
 		wdccommand(chp, drvp->drive, SET_FEATURES, 0, 0, 0,
 		    0x08 | drvp->PIO_mode, WDSF_SET_MODE);
 		drvp->state = PIOMODE_WAIT;

-- 
Michael Eriksson <eramore@era-t.ericsson.se>
NO CARRIER