Date: Thu, 18 Jul 1996 21:03:45 +0200 (MET DST) From: J Wunsch <j@uriah.heep.sax.de> To: freebsd-scsi@freebsd.org Subject: CD driver Message-ID: <199607181903.VAA06840@uriah.heep.sax.de>
next in thread | raw e-mail | index | archive | help
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. ;-)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607181903.VAA06840>