Subject: Support for Iomega USB ZIP R/W CD in -current?
To: None <current-users@netbsd.org>
From: Duncan McEwan <duncan@mcs.vuw.ac.nz>
List: current-users
Date: 11/09/2001 10:14:26
I noticed over in source-changes recently a couple of commits by Lennart
Augustsson relating to getting a particular brand of USB R/W CD to work.

> Module Name:	syssrc
> Committed By:	augustss
> Date:		Tue Nov  6 13:31:21 UTC 2001
> 
> Modified Files:
> 	syssrc/sys/dev/scsipi: scsiconf.c
> 
> Log Message:
> Add a quirk for a USB CD/RW.

and

> Module Name:	syssrc
> Committed By:	augustss
> Date:		Tue Nov  6 12:59:18 UTC 2001
> 
> Modified Files:
> 	syssrc/sys/dev/usb: usbdevs
> 
> Log Message:
> Add DMI CD/RW drive (my first USB 2.0 device!).

So I decided to have another attempt at getting an Iomega R/W CD working.  I
compiled a new kernel from sources including Lennart's changes, but didn't see
any difference from when I last tried a few months ago.

The hardware gets probed during boot as follows:

...
umass0 at uhub0 port 1 configuration 1 interface 0
umass0: Iomega USB Zip CD, rev 1.00/1.00, addr 2
umass0: using SCSI over BBB-P
scsibus0 at umass0: 2 targets, 1 luns per target
scsibus0: waiting 2 seconds for devices to settle...
cd1 at scsibus0 target 1 lun 0: <IOMEGA, ZIPCD 650 USB, I1.1> SCSI0 5/cdrom removable

But when I try to mount a CD in the drive I get the following

cd1(umass0:0:1:0):  Check Condition on CDB: 0x08 00 00 00 01 00
    SENSE KEY:  Illegal Request
     ASC/ASCQ:  Invalid Command Operation Code

cd1: dos partition I/O error
cd1(umass0:0:1:0):  Check Condition on CDB: 0x08 00 00 10 01 00
    SENSE KEY:  Illegal Request
     ASC/ASCQ:  Invalid Command Operation Code

Without really knowing what I was doing (:-) I tried adding the following to
dev/scsipi/scsiconf.c:

*** scsiconf.c~	2001/11/06 13:31:20	1.164
--- scsiconf.c	2001/11/08 20:52:31
***************
*** 471,476 ****
--- 471,479 ----
  	{{T_CDROM, T_REMOV,
  	 "LITE-ON", "LTR-12101B",       "LS38"},  PQUIRK_ONLYBIG},
  
+ 	{{T_CDROM, T_REMOV,
+ 	 "IOMEGA", "ZIPCD 650 USB", "I1.1"},  PQUIRK_NOMODESENSE|PQUIRK_NOBIGMODESENSE},
+ 
  	{{T_DIRECT, T_FIXED,
  	 "MICROP  ", "1588-15MBSUN0669", ""},     PQUIRK_AUTOSAVE},
  	{{T_DIRECT, T_FIXED,

(I figured that the above diagnostic seemed to be indicating problems doing
mode senses so maybe adding quirks to tell it not to do them might help.  Not
that I knew that adding those quirks would do that!  And in any event it didn't
help - I got the same error as above...)

Does anyone know what the error I am seeing actually means (or alternatively
can refer me to a reference where I can find out)?  Also, are there any quirks
that I could add that might help this drive work?

Duncan