Subject: kern/9191: cdrecord won't work with SONY CDR-924S
To: None <gnats-bugs@gnats.netbsd.org>
From: Keith Moore <moore@lust.indecency.org>
List: netbsd-bugs
Date: 01/14/2000 19:12:54
>Number:         9191
>Category:       kern
>Synopsis:       cdrecord won't work with SONY CDR-924S
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 14 19:12:00 2000
>Last-Modified:
>Originator:     Keith Moore
>Organization:
indecency.org
>Release:        1.4.1
>Environment:
i386, NetBSD 1.4.1, cdrecord-1.8a31
System: NetBSD lust 1.4.1 NetBSD 1.4.1 (LUST) #1: Fri Jan 14 21:18:12 EST 2000 moore@lust:/usr/src/sys/arch/i386/compile/LUST i386


>Description:
	cdrecord fails with a SONY CDU-924S CD-R drive, even in -inq mode.
	the console complains about scsi command 0x25 (read capacity)
	not being supported by the drive.  read capacity seems to work
	okay if a cd-rom is in the drive but not if a blank disk is 
	in the drive (which actually makes sense to me, but I don't
	know how other drives behave)

>How-To-Repeat:
	hook up the aforementioned drive on ID 6, reboot, and do a 

	cdrecord dev=/dev/rcd0d:0,6,0 -dummy -inq

	look at the message displayed on the console
	(as well as the stderr output of cdrecord)

>Fix:
	add the following to the quirk table in /sys/dev/scsipi/scsiconf.c:

         "SONY    ", "CD-R   CDU924S  ", "1.1d"}, ADEV_NOCAPACITY},
        {{T_CDROM, T_REMOV,

	(why can't this quirk bit be set automagically if the read capacity
	command fails?)

	(would it be useful to have SCIOSETQUIRK and SCIOGETQUIRK ioctls?
	then the quirks could be maintained in a text file which was 
	scanned from /etc/rc*, rather than by compiling them into the kernel)
>Audit-Trail:
>Unformatted: