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>