From owner-freebsd-scsi Thu Jul 18 12:21:04 1996 Return-Path: owner-freebsd-scsi Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA10504 for freebsd-scsi-outgoing; Thu, 18 Jul 1996 12:21:04 -0700 (PDT) Received: from irz301.inf.tu-dresden.de (irz301.inf.tu-dresden.de [141.76.1.11]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id MAA10499 for ; Thu, 18 Jul 1996 12:21:00 -0700 (PDT) Received: from sax.sax.de by irz301.inf.tu-dresden.de (8.6.12/8.6.12-s1) with ESMTP id VAA05495 for ; Thu, 18 Jul 1996 21:20:58 +0200 Received: (from uucp@localhost) by sax.sax.de (8.6.12/8.6.12-s1) with UUCP id VAA27040 for freebsd-scsi@freebsd.org; Thu, 18 Jul 1996 21:20:57 +0200 Received: (from j@localhost) by uriah.heep.sax.de (8.7.5/8.6.9) id VAA06840 for freebsd-scsi@freebsd.org; Thu, 18 Jul 1996 21:03:45 +0200 (MET DST) From: J Wunsch Message-Id: <199607181903.VAA06840@uriah.heep.sax.de> Subject: CD driver To: freebsd-scsi@freebsd.org Date: Thu, 18 Jul 1996 21:03:45 +0200 (MET DST) Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E X-Mailer: ELM [version 2.4ME+ PL17 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-scsi@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi all, i'm currently playing with some improvements to the (SCSI) CD driver. I've got the first prototype of multi-track support already running, and have been playing a little with CD-DA. (Sheesh, i should really get a soundcard, i guess. :) Alas, it seems that each vendor picked a different method to allow digital reading of CD-DA tracks. The SCSI-2 specs made the IMHO big mistake to forbid reading these data with a regular READ command. (The drive _must_ return BLANK CHECK / Illegal mode for this track when attempting to read CD-DA data.) So now, some of the vendors apparently enable it by using a vendor-specific `density code' in the MODE SELECT block descriptor (0x82, applicable to at least the Toshiba 3401 and higher), followed by a regular read. Other drives seem to use a specific command (0xd8) that is similar to READ(12) but reads audio data (reported for Plextor, my Toshiba 3401 can also do this, but, the Toshiba 3501 rejects it). I didn't find anything specific in the CD-R writer specs for my Plasmon, so i assume it can read them regularly (perhaps requires a MODE SELECT with a block size of 2352 before, i have to test this). The big question now is how to place the hooks in the CD driver that allow for the various methods, and how to assign/enable the hooks. They must be applicable to each device separately, since it's certainly possible that someone has two or more different drives. I thought of using LKM's for it, but think this will be difficult for multiple different drives. While we are at it, does anybody know of other methods to enable CD-DA? -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)