Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Apr 1999 16:00:23 -0600 (MDT)
From:      "Kenneth D. Merry" <ken@plutotech.com>
To:        wilko@yedi.iaf.nl (Wilko Bulte)
Cc:        freebsd-scsi@FreeBSD.ORG
Subject:   Re: Getting Pioneer CD changer to work
Message-ID:  <199904062200.QAA31037@panzer.plutotech.com>
In-Reply-To: <199904062008.WAA02539@yedi.iaf.nl> from Wilko Bulte at "Apr 6, 1999 10: 8:17 pm"

next in thread | previous in thread | raw e-mail | index | archive | help

--ELM923436023-30971-0_
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Wilko Bulte wrote...
> 
> I recently obtained a Pioneer 6 CD changer DRM604-X. Currently 
> I'm playing with it to see if I can get it to work on 4.x-current.
> Sofar it has proven to be a showstopper in that it tends to lock
> up the ncr (810) adapter during device probe. Yesterday I was 
> more succesful, though as I did not have a CD magazine I used the
> empty drive.
> 
> Below are the boot -v messages.
> 
> Apr  5 16:09:34 p100 /kernel: pass1: 3.300MB/s transfers
> Apr  5 16:09:34 p100 /kernel: pass2 at ncr0 bus 0 target 5 lun 1
> Apr  5 16:09:35 p100 /kernel: pass2: <PIO
> Apr  5 16:09:35 p100 /kernel: NEER CD-ROM DRM-600 2401> Removable CD-ROM
> SCSI-CCS device

[ ... ]

> .....
> Apr  5 16:09:35 p100 /kernel: changing root device to da0s2a
> Apr  5 16:09:35 p100 /kernel: (cd0:ncr0:0:5:0): READ CD RECORDED CAPACITY.
> CDB: 25 0 0 0 0 0 0 0 0 0
> Apr  5 16:09:35 p100 /kernel: (cd0:ncr0:0:5:0): NOT READY asc:b0,0
> Apr  5 16:09:35 p100 /kernel: (cd0:ncr0:0:5:0): Vendor Specific ASC
> Apr  5 16:09:35 p100 /kernel: (cd0:ncr0:0:5:0): READ CD RECORDED CAPACITY.
> CDB: 25 0 0 0 0 0 0 0 0 0
> Apr  5 16:09:35 p100 /kernel: (cd0:ncr0:0:5:0): NOT READY asc:b0,0
> Apr  5 16:09:35 p100 /kernel: (cd0:ncr0:0:5:0): Vendor Specific ASC
> Apr  5 16:09:35 p100 /kernel: (cd0:ncr0:0:5:0): fatal error, failed to
> attach to device
> Apr  5 16:09:35 p100 /kernel: (cd0:ncr0:0:5:0): lost device
> Apr  5 16:09:35 p100 /kernel: (cd0:ncr0:0:5:0): removing device entry

[ ... ]

> [etc, this repeats itself for every LUN]
> 
> With the magazine in and CDs loaded I get CCB already dequeued messages,
> timeout nccb blabla, CAM status 0x4b
> 
> My guess is I need some quirk entries to at least catch the vendor
> unique ASCs. They probably mean something like "need to load a CD"
> or something, but I don't have any docs unfortunately. Worse, I got it
> as-is and I'm not sure if it works correctly.
> 
> Appreciate insight from people who used these beasts before.

Well, I've got a couple of ideas.  I think there are two things going on
here:

1.  Your drive responds with an odd ASC when there is no media present.
2.  The 20 second timeout for the initial read capacity in the CD driver
    may be too short for your drive.

So, to address the first problem, try the attached diffs.  They'll
basically make 0x0b an "acceptable" ASC for attachment purposes.

To address the second problem, go into cdstart() in sys/cam/scsi/scsi_cd.c
and increase the timeout for the read capacity from 20 seconds to say 30 or
40 and see what happens.

If putting 0x0b in allows the drive to probe without media present, then
that probably means that I need to come up with some generic tie-in to the
error recovery code for acceptable errors on probe.  I need to make it
generic because there are other devices (Joerg's and Matt Dodd's Sony MO
drives) that give back weird errors when no media is present.

If it turns out that the read capacity timeout is too low, I can probably
just bump the default.  I would like to get a rough idea of how long it
takes your drive to return a read capcity command, so we can avoid making
the timeout really long.

Ken
-- 
Kenneth Merry
ken@plutotech.com

--ELM923436023-30971-0_
Content-Type: text/plain; charset=ISO-8859-1
Content-Disposition: attachment; filename=scsi_cd.c.diffs.040699
Content-Description: scsi_cd.c.diffs.040699
Content-Transfer-Encoding: 7bit

==== //depot/cam/sys/cam/scsi/scsi_cd.c#101 - /usr/home/ken/perforce/cam/sys/cam/scsi/scsi_cd.c ====
*** /tmp/tmp.19097.0	Tue Apr  6 15:54:08 1999
--- /usr/home/ken/perforce/cam/sys/cam/scsi/scsi_cd.c	Tue Apr  6 15:53:56 1999
***************
*** 1758,1764 ****
  				 * attach.
  				 */
  				if ((have_sense)
! 				 && ((asc == 0x3a) || (asc == 0x04))
  				 && (error_code == SSD_CURRENT_ERROR))
  					snprintf(announce_buf,
  					    sizeof(announce_buf),
--- 1758,1765 ----
  				 * attach.
  				 */
  				if ((have_sense)
! 				 && ((asc == 0x3a) || (asc == 0x04) ||
! 				     (asc == 0x0b))
  				 && (error_code == SSD_CURRENT_ERROR))
  					snprintf(announce_buf,
  					    sizeof(announce_buf),

--ELM923436023-30971-0_--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904062200.QAA31037>