  The Linux CD-ROM HOWTO
  Jeff Tranter, jeff_tranter@mitel.com
  v1.5, 18 August 1995

  This document describes how to install, configure, and use CD-ROM
  drives under Linux. It lists the supported hardware and answers a num-
  ber of frequently asked questions. The intent is to bring new users up
  to speed quickly and reduce the amount of traffic in the usenet news
  groups.

  1.  Introduction


  This is the Linux CD-ROM HOWTO document. It is intended as a quick
  reference covering everything you need to know to install and
  configure CD-ROM hardware under Linux. Frequently asked questions
  related to CD-ROM are answered, and references are given to other
  sources of information related to CD-ROM applications and technology.


  1.1.  Acknowledgments


  Much of this information came from the README files provided with the
  Linux kernel source code, the internet alt.cdrom newsgroup FAQ, and
  input from Linux users.

  Thanks to the Linuxdoc-SGML package, this HOWTO is available in
  several formats, all generated from a common source file.


  1.2.  Revision History




     Version 1.0
        First version made publicly available


     Version 1.1
        CDU33A is explicitly supported as of 1.1.20 kernel; notes on
        Reveal FX; info on reading audio tracks; info on some alpha
        drivers; added troubleshooting section; a few other minor
        additions


     Version 1.2
        ISO-9660 file systems must be mounted read-only starting with
        1.1.33 kernel; clarified that SB16 SCSI is supported and newer
        Aztech drives are not supported; references to photocd and xpcd
        programs; note new on sbpcd autoeject feature


     Version 1.3
        Minor change to the way SBPCD eject feature is disabled starting
        with the 1.1.49 kernel; added info on XA discs and how to
        identify them


     Version 1.4
        HOWTO now available in other languages; IBM and Longshine drives
        now supported by SBPCD; alpha driver for Aztech drives; CDU-33
        driver no longer auto-probes, supports PhotoCD and audio; more
        than 2 SCSI drives are supported; new driver for IDE; reminder
        to check drive jumpers; can now set SBPCD auto-eject with IOCTL;
        list drivers with multisession support; question on flashing
        light on CDU-33


     Version 1.5
        A long overdue update (I've been busy); document placed under
        GPL; info on many new kernel drivers; more info on configuration
        and troubleshooting; lots of HTML links added; many other minor
        changes



  1.3.  New Versions Of This Document


  New versions of this document will be periodically posted to the
  comp.os.linux.announce newsgroup. They will also be uploaded to
  various anonymous ftp sites that archive such information including
  <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/>.

  Hypertext versions of this and other Linux HOWTOs are available on
  many World-Wide-Web sites, including
  <http://sunsite.unc.edu/mdw/mdw.html>. Most Linux CD-ROM distributions
  include the HOWTOs, and you can also buy printed copies from several
  vendors.

  A French translation of this document, by Bruno Cornec
  (cornec@stna7.stna.dgac.fr) is available at
  <ftp://ftp.ibp.fr/pub2/linux/french/docs/HOWTO/>.

  A Japanese translation by Itsushi Minoura (minoura@uni.zool.s.u-
  tokyo.ac.jp) is available from <http://yebisu.ics.es.osaka-
  u.ac.jp/linux/>.


  1.4.  Feedback


  I rely on you, the users, to make this HOWTO useful. If you have any
  suggestions, corrections, or comments, please send them to me,
  jeff_tranter@mitel.com, and I will try to incorporate them in the next
  revision.

  I am also willing to answer general questions on CD-ROM and Linux, as
  best I can. Before doing so, please read all of the information in
  this HOWTO, and send me detailed information about the problem.

  If you publish this document on a CD-ROM or in hardcopy form, a
  complimentary copy would be appreciated. Mail me for my postal
  address.


  1.5.  Distribution Policy


  Copyright (C) 1995 Jeff Tranter.

  This HOWTO is free documentation; you can redistribute it and/or
  modify it under the terms of the GNU General Public License as
  published by the Free Software Foundation; either version 2 of the
  License, or (at your option) any later version.

  This document is distributed in the hope that it will be useful, but
  without any warranty; without even the implied warranty of
  merchantability or fitness for a particular purpose.  See the GNU
  General Public License for more details.
  You can obtain a copy of the GNU General Public License by writing to
  the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
  USA.


  2.  CD-ROM Technology



  "CD-ROM is read-only memory, and audio compact disc system is
  available as package-media of digital data for those purpose. For
  playing audio CD, please insert Head-phone jack."
  --- from a CD-ROM instruction manual



  Don't Panic! The world of CD-ROM technology is not as confusing as
  your instruction manual.

  CD-ROM stands for Compact Disc Read-Only Memory, a mass storage medium
  utilizing an optical laser to read microscopic pits on the aluminized
  layer of a polycarbonate disc. The same format is used for audio
  Compact Discs. Because of its high storage capacity, reliability, and
  low cost, CD-ROM has become an increasingly popular storage media.

  The storage capacity of a CD-ROM disc is approximately 650 megabytes,
  equivalent to over 500 high density 3.5" floppy disks or roughly
  250,000 typed pages.

  First generation drives (known as single speed), provide a transfer
  rate of approximately 150 kilobytes per second; these are now
  generally considered obsolete. Double speed drives (300 kilobytes per
  second) are widely available, and many users are now opting for quad
  speed (600 kilobytes per second).

  Most CD-ROM drives use either the Small Computer Systems Interface
  (SCSI), ATAPI enhanced IDE interface, or a vendor proprietary
  interface. They also typically support playing audio CDs via an
  external headphone jack or line level output. Some CDs also allow
  reading the frames of data from audio CDs in digital form.

  CD-ROMs are usually formatted with an ISO-9660 (formerly called High
  Sierra) file system. This format restricts filenames to the MS-DOS
  style (8+3 characters). The Rock Ridge Extensions use undefined fields
  in the ISO-9660 standard to support longer filenames and additional
  Unix style information (e.g. file ownership, symbolic links, etc.).

  PhotoCD is a standard developed by Kodak for storing photographic
  images as digital data on a CD-ROM. With appropriate software, you can
  view the images on a computer, manipulate them, or send them to a
  printer. Information can be added to a PhotoCD at a later date; this
  is known as multi-session capability.

  CD recorders (CD-R) have recently become available. They use a
  different media and specialized equipment for recording, but the
  resulting disc can be read by any CD-ROM drive.

  In the future CD-ROM drive vendors are expected to offer technology
  that will increase storage capacity by an order of magnitude.


  3.  Supported Hardware


  This section lists the CD-ROM drivers and interfaces that are
  currently supported under Linux. The information here is based on the
  latest Linux kernels, which at time of writing were version 1.2.13
  (latest stable release) and 1.3.20 (latest development release).

  This information is only valid for Linux on the Intel platform. Some
  information may be applicable to other processor architectures, but I
  have no first hand experience or information.


  3.1.  SCSI CD-ROM Drives


  SCSI (Small Computer Systems Interface) is a popular format for CD-ROM
  drives. Its chief advantages are a reasonably fast transfer rate,
  multi-device capability, and support on a variety of computer
  platforms. Some disadvantages of SCSI are the need for a relatively
  expensive controller card and cables.

  Any SCSI CD-ROM drive with a block size of 512 or 2048 bytes should
  work under Linux; this includes the vast majority of CD-ROM drives on
  the market.

  You will also need a supported SCSI controller card; see the SCSI
  HOWTO for more information on interface hardware.

  Note that some CD-ROMs include a controller with a modified interface
  that is not fully SCSI compatible (e.g. it may not support adding
  other SCSI devices on the bus). These will most likely not work under
  Linux.


  3.2.  Proprietary CD-ROM Drives


  Several CD-ROM drives using proprietary interfaces are available; the
  interface is often provided on a sound card. Simple interface cards
  equivalent to that provided on the sound card are also available.
  These drives generally tend to be lower in cost and smaller than SCSI
  drives. Their disadvantages are the lack of standardization and
  expandability.

  Note that proprietary interfaces are sometimes erroneously referred to
  as IDE interfaces, because like IDE hard disks, they use a simple
  interface based on the PC/AT bus. To add to the confusion, some
  vendors, most notably Creative Labs, have shipped many different types
  of CD-ROM drives and have offered proprietary, SCSI, and ATAPI
  interfaces on their sound cards.

  The table below lists the proprietary CD-ROM drives that are known to
  be supported under Linux. Drivers for additional devices are always in
  development and may be available as kernel patches. They can most
  often be found at
  <ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cdrom/>. Also check
  the README files included with the kernel distribution, usually
  installed in /usr/src/linux/drivers/block/, for the latest
  information.











                  Proprietary CD-ROM Drives

  Vendor          Model           Kernel Driver   Notes
  ------          -----           -------------   --------
  Panasonic       CR-521          sbpcd           Note 1
  Panasonic       CR-522          sbpcd           Note 1
  Panasonic       CR-523          sbpcd           Note 1
  Panasonic       CR-562          sbpcd           Note 1
  Panasonic       CR-563          sbpcd           Note 1
  Creative Labs   CD-200          sbpcd           Note 2
  IBM             External ISA    sbpcd           Note 3
  Longshine       LCS-7260        sbpcd
  Teac            CD-55A          sbpcd
  Sony            CDU-31A         cdu31a
  Sony            CDU-33A         cdu31a
  Sony            CDU-535         sonycd535       Note 4
  Sony            CDU-531         sonycd535
  Aztech          CDA268-01A      aztcd
  Orchid          CDS-3110        aztcd
  Okano/Wearnes   CDD110          aztcd
  GoldStar        R420            gscd            Note 5
  Philips/LMS     CM206           cm206           Note 6
  Mitsumi         CRMC LU005S     mcd/mcdx        Note 7, 8
  Mitsumi         FX001           mcd/mcdx        Note 7, 8
  Optics Storage  Dolphin 8000AT  optcd           Note 9
  Sanyo           H94A            sjcd            Note 9



  Notes:


  1. The drives may be sold under the names Creative Labs, Panasonic,
     Matsushita, or Kotobuki.

  2. Support for this drive is new and not fully tested.

  3. This drive is the same as a Panasonic CR-562.

  4. May also be sold under the Procomm name.

  5. May also be sold as part of a Reveal Multimedia Kit.

  6. The Philips CM205 is not supported by this driver, but there is a
     separate Alpha release driver available.

  7. May also be sold under the Radio Shack name.

  8. There are two drivers available. "mcd" is the original one, and
     "mcdx" is a new experimental driver with more features (but
     possibly less stable).

  9. This driver is considered experimental.


  3.3.  ATAPI CD-ROM Drives


  ATAPI (ATA Packet Interface) is a protocol for controlling mass
  storage devices, similar to SCSI. It builds on the ATA (AT Attachment)
  interface, the official ANSI standard name for for the IDE interface
  developed for hard disk drives. ATAPI is commonly used for hard disks,
  CD-ROM drives, tape drives, and other devices. While relatively new,
  it is rapidly becoming the most popular type of interface. It offers
  most of the functionality of SCSI, without the need for an expensive
  controller or cables.
  The Linux kernel has a device driver that should work with any ATAPI
  CD-ROM drive. Vendors shipping compatible drives include Aztech,
  Mitsumi, NEC, Sony, and Vertos.


  4.  Installation


  Installation of a CD-ROM under Linux consists of these steps:


  1. Installing the hardware.

  2. Configuring and building the Linux kernel.

  3. Creating device files and setting boot time parameters

  4. Booting the Linux kernel.

  5. Mounting the media.

  The next sections will cover each of these steps in detail.


  4.1.  Installing the Hardware


  Follow the manufacturer's instructions for installing the hardware or
  have your dealer perform the installation. The details will vary
  depending on whether the drive is internal or external and on the type
  of interface used. There are no special installation requirements for
  Linux. You may need to set jumpers on the drive and/or interface card
  for correct operation; some of the kernel drivers include README files
  that include this information.

  As explained in the file README.ide, ATAPI CD-ROMS must be jumpered as
  "single" or "master", and not "slave" when only one IDE device is
  attached to an interface.


  4.2.  Configuring and Building the Kernel


  When initially installing Linux from CD-ROM you will likely be using a
  boot and/or root disk provided as part of a Linux distribution. If
  possible, you should choose a boot disk with the kernel driver for
  your CD-ROM device type. If you cannot find a boot disk with the
  necessary CD-ROM driver, you have several options:


  1. install over a network

  2. boot DOS, and install the Linux files onto your hard disk

  3. boot DOS, and create a set of floppies to install Linux

  4. find someone who can build you a boot disk with the needed CD-ROM
     driver

  The Linux Installation HOWTO
  <http://sunsite.unc.edu/mdw/HOWTO/Installation-HOWTO.html> has more
  information on installing Linux. If you purchased Linux on CD-ROM, it
  likely also came with some installation instructions (that little
  booklet inside the jewel case, and/or files on the CD).


  Once Linux has initially been installed, most users will want to
  compile their own kernel, usually for one of these reasons:


  o  to support a CD-ROM drive or other hardware

  o  to upgrade to a newer kernel release

  o  to free up memory resources by minimizing the size of the kernel

  The Linux Kernel HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Kernel-
  HOWTO.html> should be consulted for the details of building a kernel.
  I will just mention here some issues that are specific to CD-ROM
  drives.

  Obviously, you need to compile in support for your CD-ROM drive when
  you do a "make config".

  If you have an ATAPI CD-ROM drive, you need to answer yes to the
  questions:



       "Normal (MFM/RLL) disk and IDE disk/cdrom support?"
       "Include support for IDE/ATAPI CDROMs?"




  For SCSI CD-ROM drives, enable these options:



       SCSI support?
       SCSI CDROM support?




  Also enable support for your SCSI host adaptor when prompted, e.g.



       Adaptec AHA1542 support?




  For proprietary interface CD-ROM drives, enable the appropriate
  driver. You can use the table listed previously to determine the
  driver to use for your model.

  Virtually all CD-ROMs use the ISO-9660 file system, so you must also
  enable:



       ISO9660 cdrom filesystem support?




  Although not needed for CD-ROM operation, if you have a sound card
  that is supported under Linux you might want to enable and configure
  the kernel sound driver at this time as well. The Sound HOWTO
  <http://sunsite.unc.edu/mdw/HOWTO/Sound-HOWTO.html> can be a useful
  reference here.

  You should then follow the usual procedure for building the kernel and
  installing it. Don't boot with the new kernel until you create the
  device files and set up any boot time parameters as described in the
  next section.

  Many of the CD-ROM drivers can be built as loadable kernel modules.
  How to do this is described in the modules documentation and the
  Kernel HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html>

  If a drive type listed here is not supported by your kernel, you
  likely need to upgrade to a newer version (several of the drivers are
  only offered in the 1.3.x kernels).

  It is possible that you need to use a driver that is distributed
  separately from the kernel source code. This usually involves patching
  the kernel. Again, the Kernel HOWTO
  <http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html> explains how to
  do this.


  4.3.  Creating Device Files and Setting Boot Time Parameters


  The kernel uses device files to identify which device driver to use.
  If you are running a standard Linux distribution you may have created
  the necessary device files during installation. Under Slackware Linux,
  for example, there is a menu-based setup tool that includes CD-ROM
  setup, and most systems have a /dev/MAKEDEV script. If you don't use
  these methods, you can use the more manual procedure listed in this
  section. Even if you use either of these methods, it is recommended
  that you at least verify the device files against the information in
  this section.

  You create the device file by running the shell commands indicated for
  your drive type. This should be done as user root. Note that some
  Linux distributions may use slightly different CD-ROM device names
  from those listed here.

  It is recommended that you also create a symbolic link to the CD-ROM
  device to make it easier to remember. For example, for a Panasonic CD-
  ROM drive, the link would be created using



       % ln -s /dev/sbpcd /dev/cdrom




  If you want to play audio CDs, you will need to set the protection on
  the device file (the real file, not the symbolic link to it) to allow
  all users to read and write, e.g.



       % chmod 666 /dev/sbpcd
       % ls -l /dev/sbpcd
       brw-rw-rw-   1 root     disk      25,   0 Jul 18  1994 /dev/sbpcd




  When booting Linux, the device drivers attempt to determine whether
  the appropriate devices are present, typically by probing specific
  addresses. Many of the drivers auto-probe at several addresses, but
  because of differences in configuration, possible device conflicts,
  and hardware limitations, the drivers sometimes need help identifying
  the addresses and other parameters. Most drivers support an option on
  the kernel command line to pass this information to the device driver.
  This can be done interactively, or more commonly, configured into your
  boot loader. With LILO, for example, you would add an append command
  such as the following to your /etc/lilo.conf file:



       append = "sbpcd=0x230,SoundBlaster"




  See the LILO documentation for more information.

  In the next section I discuss issues specific to individual device
  drivers, including device files, boot parameters, and the capabilities
  of the different drivers. You probably only need to read the section
  relevant to your drive type.


  4.3.1.  Sbpcd Driver



         Principal author: Eberhard Moenkeberg (emoenke@gwdg.de)
    Multi-session support: yes (but not CD-52x drives)
   Multiple drive support: yes
  Loadable module support: yes
     Reading audio frames: yes (CR-562 and CR-563 only)
             Auto-probing: yes
              Device file: /dev/sbpcd, major 25
       Configuration file: sbpcd.h
     Kernel config option: Matsushita/Panasonic CDROM support?
              README file: README.sbpcd



  This driver accepts a kernel command line of the form:



       sbpcd=<io-address>,<interface-type>




  where the first parameter is the base address of the device (e.g.
  0x230), and <interface-type> is one of "SoundBlaster", "LaserMate", or
  "SPEA". See the file sbpcd.h for hints on what interface type to use.
  Using sbpcd=0 disables auto-probing, rendering the driver useless.

  The device file can be created using:



       % mknod /dev/sbpcd b 25 0




  Up to four drives per controller are supported. The next three drives
  on the first controller would use minor device numbers 1 through 3.
  If you have more than one controller, create devices with major
  numbers 26, 27, and 28, up to a maximum of 4 controllers (this is 16
  CD-ROM drives in total; hopefully enough for most users :-).

  See the file README.sbpcd for more information on this driver.


  4.3.2.  Sonycdu535 Driver



         Principal author: Ken Pizzini (ken@halcyon.com)
    Multi-session support: no
   Multiple drive support: no
  Loadable module support: yes
     Reading audio frames: no
             Auto-probing: no
              Device file: /dev/sonycd535, major 24
       Configuration file: sonycd535.h
     Kernel config option: Sony CDU535 CDROM support?
              README file: README.sonycd535



  This driver accepts a kernel command line of the form:



       sonycd535=<io-address>




  where <io-address> is the base address of the controller (e.g. 0x320).
  Alternatively you can set the address in the file sonycd535.h and
  compile it in.

  The device file can be created using:



       % mknod /dev/sonycd535 b 24 0




  Some Linux distributions use /dev/sonycd for this device.  Older
  versions of the driver used major device number 21; make sure your
  device file is correct.

  This driver was previously distributed as a patch but is now part of
  the standard kernel. See the file README.sonycd535 for more
  information on this driver.


  4.3.3.  Cdu31a Driver










         Principal author: Corey Minyard (minyard@wf-rch.cirr.com)
    Multi-session support: yes
   Multiple drive support: no
  Loadable module support: yes
     Reading audio frames: yes
             Auto-probing: no
              Device file: /dev/cdu31a, major 15
       Configuration file: cdu31a.h
     Kernel config option: Sony CDU31A/CDU33A CDROM support?
              README file: README.cdu31a



  This driver accepts a kernel command line of the form:



       cdu31a=<io-address>,<interrupt>,PAS




  The first number is the I/O base address of the card (e.g. 0x340). The
  second is the interrupt number to use (0 means to use polled i/o). The
  optional third parameter should be "PAS" if the drive is connected to
  a Pro-Audio Spectrum 16 sound card, otherwise left blank.

  The device file can be created using:



       % mknod /dev/cdu31a b 15 0




  See the file README.cdu31a for more information on this driver.

  Also see the Web page put together by Jeffrey Oxenreider
  (zureal@infinet.com) that covers a lot of common problems with these
  drives. It can be found at
  <http://www.infinet.com/~zureal/cdu31a.html>.


  4.3.4.  Aztcd Driver



         Principal author: Werner Zimmermann (zimmerma@rz.fht-esslingen.de)
    Multi-session support: yes
   Multiple drive support: no
  Loadable module support: yes
     Reading audio frames: no
             Auto-probing: no
              Device file: /dev/aztcd0, major 29
       Configuration file: aztcd.h
     Kernel config option: Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support?
              README file: README.aztcd



  This driver accepts a kernel command line of the form:




  cdu31a=<io-address>




  where the parameter is the I/O base address of the card (e.g. 0x340).

  The device file can be created using:



       % mknod /dev/aztcd0 b 29 0




  See the file README.aztcd for more information on this driver.


  4.3.5.  Gscd Driver



         Principal author: Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de)
    Multi-session support: no
   Multiple drive support: no
  Loadable module support: yes
     Reading audio frames: no
             Auto-probing: no
              Device file: /dev/gscd0, major 16
       Configuration file: gscd.h
     Kernel config option: Goldstar R420 CDROM support?
              README file: README.gscd



  This driver accepts a kernel command line of the form:



       gscd=<io-address>




  specifying the I/O base address of the card (e.g. 0x340).

  The device file can be created using:



       % mknod /dev/gscd0 b 16 0




  See the file README.gscd and the World-Wide Web site
  <http://linux.rz.fh-hannover.de/~raupach> for more information on this
  driver.


  4.3.6.  Mcd Driver




         Principal author: Martin Harriss (martin@bdsi.com)
    Multi-session support: no
   Multiple drive support: no
  Loadable module support: yes
     Reading audio frames: no
             Auto-probing: no
              Device file: /dev/mcd, major 23
       Configuration file: mcd.h
     Kernel config option: Standard Mitsumi CDROM support?
              README file: README.mcd



  This is the older driver for Mitsumi drivers that has been available
  for some time. You might want to try the newer mcdx driver, which has
  some new features but is still considered experimental.

  This driver accepts a kernel command line of the form:



       mcd=<io-address>,<irq>




  specifying the I/O base address of the card (e.g. 0x340) and the IRQ
  request number used.

  The device file can be created using:



       % mknod /dev/mcd b 23 0




  See the file README.mcd for more information on this driver.


  4.3.7.  Mcdx Driver



         Principal author: Heiko Schlittermann
    Multi-session support: yes
   Multiple drive support: yes
  Loadable module support: yes
     Reading audio frames: no
             Auto-probing: no
              Device file: /dev/mcdx0, major 20
       Configuration file: mcdc.h
     Kernel config option: Experimental Mitsumi support?
              README file: README.mcdx



  This is a new and currently experimental driver for Mitsumi drivers.
  The older and possibly more stable mcd driver is still available.

  This driver accepts a kernel command line of the form:




  mcdx=<io-address>,<irq>




  specifying the I/O base address of the card (e.g. 0x340) and the IRQ
  request number used.

  The device file can be created using:



       % mknod /dev/mcdx0 b 20 0




  See the file README.mcdx for more information on this driver.


  4.3.8.  Cm206 Driver



         Principal author: David A. van Leeuwen (david@tm.tno.nl)
    Multi-session support: yes
   Multiple drive support: no
  Loadable module support: yes
     Reading audio frames: no
             Auto-probing: yes
              Device file: /dev/cm206cd, major 32
       Configuration file: cm206.h
     Kernel config option: Philips/LMS CM206 CDROM support?
              README file: README.cm206



  The driver accepts a kernel command line of the form:



       cm206=<io-address>,<interrupt>




  where the first number is the I/O base address of the card (e.g.
  0x340). The second is the interrupt channel.

  The device file can be created using:



       % mknod /dev/cm206cd b 32 0




  See the file README.cm206 for more information on this driver.


  4.3.9.  Optcd Driver




         Principal author: Leo Spiekman (spiekman@dutette.et.tudelft.nl)
    Multi-session support: no
   Multiple drive support: no
  Loadable module support: yes
     Reading audio frames: no
             Auto-probing: no
              Device file: /dev/optcd0, major 17
       Configuration file: optcd.h
     Kernel config option: Experimental Optics Storage ... CDROM support?
              README file: README.optcd



  The driver accepts a kernel command line of the form



       optcd=<io-address>




  to specify the I/O base address of the card (e.g. 0x340).

  The device file can be created using:



       % mknod /dev/optcd0 b 17 0




  See the file README.optcd for more information on this driver.


  4.3.10.  Sjcd Driver



         Principal author: Vadim V. Model (vadim@rbrf.msk.su)
    Multi-session support: no
   Multiple drive support: no
  Loadable module support: no
     Reading audio frames: no
             Auto-probing: no
              Device file: /dev/sjcd, major 18
       Configuration file: sjcd.h
     Kernel config option: Experimental Sanyo H94A CDROM support?
              README file: README.sjcd



  The driver accepts a kernel command line of the form:



       sjcd=<io-address>,<interrupt>,<dma>




  indicating the base address, interrupt, and DMA channel to be used
  (e.g. sjcd=0x340,10,5).


  The device file can be created using:



       % mknod /dev/sjcd b 18 0




  See the file README.sjcd for more information on this driver.


  4.3.11.  SCSI Driver



         Principal author: David Giller
    Multi-session support: yes (depending on drive)
   Multiple drive support: yes
  Loadable module support: yes
     Reading audio frames: yes (depending on drive)
             Auto-probing: yes
              Device file: /dev/scd0, major 11
       Configuration file: cdrom.h
     Kernel config option: SCSI CDROM support?
              README file: none



  There are kernel command line option specific to each type of SCSI
  controller. See the SCSI HOWTO for more information.

  Multiple drives are supported (up to the limit of the maximum number
  of devices on the SCSI bus). Create device files with major number 11
  and minor numbers starting at zero:



       % mknod /dev/scd0 b 11 0
       % mknod /dev/scd1 b 11 1





  4.3.12.  IDECD Driver



         Principal author: Scott Snyder (snyder@fnald0.fnal.gov)
    Multi-session support: no
   Multiple drive support: yes
  Loadable module support: no
     Reading audio frames: no
             Auto-probing: yes
              Device file: /dev/hd{b,c},  major 22
       Configuration file: cdrom.h
     Kernel config option: Include support for IDE/ATAPI CDROMs?
              README file: README.ide



  This is the drive for ATAPI CD-ROMS. The driver accepts a kernel
  command line of the form


       hdx=cyls,heads,sects,wpcom,irq
         or
       hdx=cdrom




  where hdx can be any of {hda,hdb,hdc,hdd}, or simply hd, for the
  "next" drive in sequence. Only the first three parameters are required
  (cyls,heads,sects). For example hdc=1050,32,64 hdd=cdrom.


  4.4.  Booting the Linux Kernel


  You can now reboot with the new kernel. Watch for a message such as
  the following indicating that the CD-ROM has been found by the device
  driver (the message will vary depending on the drive type):



       SBPCD: Trying to detect a SoundBlaster CD-ROM drive at 0x230.
       SBPCD: - Drive 0: CR-562-x (0.76)
       SBPCD: 1 SoundBlaster CD-ROM drive(s) at 0x0230.
       SBPCD: init done.




  If the bootup messages scroll by too quickly to read, you should be
  able to retrieve them using dmesg or tail /var/adm/messages.

  If the drive is not found, then a problem has occurred, See the
  section on "troubleshooting.


  4.5.  Mounting, Unmounting, and Ejecting Devices


  To mount a CD-ROM, insert a disc in the drive, and run the mount
  command as root (this assumes you created a symbolic link to your
  device file as recommended above and that an empty directory /mnt
  exists):



       % mount -t iso9660 -r /dev/cdrom /mnt




  The CD can now be accessed under the directory /mnt. Note that /mnt is
  commonly used as a temporary mount point; a more suitable name for a
  permanent installation might be something like /cdrom. There are other
  options to the mount command that you may wish to use; see the
  mount(8) man page for details.

  You can add an entry to /etc/fstab to automatically mount a CD-ROM
  when Linux boots or to specify parameters to use when it is mounted;
  see the fstab(5) man page.

  Note that to play audio CDs you should not try to mount them.

  To unmount a CD-ROM, use the umount command as root:


       % umount /mnt




  The disc can only be unmounted if no processes are currently accessing
  the drive (including having their default directory set to the mounted
  drive). You can then eject the disc. Most drives have an eject button;
  there is also a standalone eject program that allows ejecting CD-ROMs
  under software control.

  Note that you should not eject a disc while it is mounted (this may or
  may not be possible depending on the type of drive). The sbpcd driver
  can automatically eject a CD-ROM when it is unmounted and insert the
  CD tray when a disc is mounted (you can turn this feature off when
  compiling the kernel or by using a software command).


  4.6.  Troubleshooting


  If you still encounter problems after following the instructions in
  the HOWTO, here are some things to check. The checks are listed in
  increasing order of complexity. If a check fails, solve the problem
  before moving to the next stage.


  4.6.1.  Step 1: Make sure you are really running the kernel you com-
  piled


  You can check the date stamp on the kernel to see if you are running
  the one that you compiled with CD-ROM support. You can do this with
  the uname command:



       % uname -a
       Linux fizzbin 1.1.31 #1 Wed Jul 20 16:53:35 EDT 1994 i386




  or by displaying the file /proc/version:



       % cat /proc/version
       Linux version 1.2.13 (root@fizzbin) (gcc version 2.6.3) #9 Sun Aug 6 11:56:47 EDT 1995




  If the date stamp doesn't seem to match when you compiled the kernel,
  then you are running an old kernel. Did you really reboot? If you use
  LILO, did you re-install it (typically by running /etc/lilo/install)?
  If booting from floppy, did you create a new boot floppy and use it
  when booting?


  4.6.2.  Step 2: Make sure the proper kernel drivers are compiled in


  You can see what drivers are compiled in by looking at /proc/devices:


       % cat /proc/devices
       Character devices:
        1 mem
        4 tty
        5 cua
        6 lp
       14 sound
       15 Joystick

       Block devices:
        2 fd
        3 hd
       25 sbpcd




  First look for your CD-ROM device driver. These are all block devices,
  in this case we can see that the sbpcd driver was present.

  Also make sure that ISO-9660 filesystem support was compiled in, by
  looking at /proc/filesystems:



       % cat /proc/filesystems
               ext2
               msdos
       nodev   proc
               iso9660




  You can also see what i/o port addresses are being used by a driver
  with the file /proc/ioports:



       howto % cat /proc/ioports
        ...
       0230-0233 : sbpcd
        ...




  If any of the drivers you thought you compiled in are not displayed,
  then something went wrong with the kernel configuration or build.
  Start the installation process again, beginning with configuration and
  building of the kernel.


  4.6.3.  Step 3: Did the kernel detect your drive during booting?


  Make sure that the CD-ROM device was detected when the kernel booted.
  You should have seen a message on bootup. If the messages scrolled off
  the screen, you can usually recall them using the dmesg command:



       % dmesg



  or



       % tail /var/adm/messages




  If your drive was not found then something is wrong. Make sure it is
  powered on and all cables are connected. If your drive has hardware
  jumpers for addressing, check that they are set correctly (e.g. drive
  0 if you have only one drive). ATAPI CD-ROMS must be jumpered as
  "single" or "master", and not "slave" when only one IDE device is
  attached to an interface. If the drive works under DOS then you can be
  reasonably confident that the hardware is working.

  Many kernel drivers using auto-probing, but some do not, and in any
  case the probing is not always reliable. Use the kernel command line
  option listed for your kernel driver type. You may want to try several
  different values if you are not sure of the i/o address or other
  parameters. LILO can be (and usually is) configured to allow you to
  enter the parameters manually when booting.

  Another possibility is that you used the wrong kernel driver for your
  CD-ROM driver. Some documentation may refer to proprietary interfaces
  as IDE, leading some to mistakenly believe they are ATAPI drives.

  Another possibility is that your drive (or interface card) is one of
  the "compatible" type that requires initialization by the DOS driver.
  Try booting DOS and loading the vendor supplied DOS device driver.
  Then soft boot Linux using Control-Alt-Delete.

  If your drive is not listed in this document, it is possible that
  there are no drivers for it available under Linux. You can check with
  some of the references listed at the end of this document for
  assistance.


  4.6.4.  Step 4: Can you read data from the drive?


  Try reading from the CD-ROM drive. Typing the following command should
  cause the drive activity light (if present) to come on and no errors
  should be reported. Use whatever device file is appropriate for your
  drive and make sure a CD-ROM is inserted; use Control-C to exit.



       dd if=/dev/cdrom of=/dev/null bs=2048
       ^C
       124+0 records in
       124+0 records out




  If this works, then the kernel is communicating with the drive and you
  can move on to step 5.

  If not, then a possible cause is the device file. Make sure than the
  device file in the /dev directory has the correct major and minor
  numbers as listed previously for your drive type. Check that the
  permissions on the device file allow reading and writing.


  A remote possibility is a hardware problem. Try testing the drive
  under DOS, if possible, to determine if this could be the case.


  4.6.5.  Step 5: Can you mount the drive?


  If you can read from the drive but cannot mount it, first verify that
  you compiled in ISO-9660 file system support by reading
  /proc/filesystems, as described previously.

  Make sure you are mounting the drive with the "-t iso9660" and "-r"
  options and that a known good CD-ROM (not Audio CD) is inserted in the
  drive. You normally must mount drives as user root.

  With ATAPI CD-ROM drives you may need to mount specifying a block size
  of 2048 bytes. Add the option "-o block=2048" to the mount parameters.

  Make sure that the mount point exists and is an empty directory.

  If you are automatically mounting the CD-ROM on bootup, make sure that
  you have correct entries in the /etc/fstab file.

  If you are running the syslog daemon, there may be error messages from
  the kernel that you are not seeing. Try using the "dmesg" command:



       % dmesg
       SBPCD: sbpcd_open: no disk in drive




  There may also be errors logged to files in /var/adm, depending on how
  your system is configured.


  4.6.6.  Debugging Audio Problems


  If the drive works with CD-ROMS, but not for playing audio CDs, here
  are some possible solutions.

  You need an application program to play audio CDs. Some applications
  may be broken or may not be compatible with your drive. Try other
  applications and/or try recompiling them yourself.

  A few of the CD-ROM drivers do not support playing Audio CDs. Check
  the README file or source code to see if that is the case.

  Check if the audio can be played through the headphone jack. If so,
  then the problem is likely related to your sound card. Use a mixer
  program to set the input device and volume levels. Mask sure you have
  installed an audio cable from the CD-ROM drive to the sound card. Make
  sure that the kernel sound card driver is installed and working (see
  the Sound HOWTO).


  4.6.7.  When All Else Fails


  If you still have problems, here are some final suggestions for things
  to try:


  o  carefully re-read this HOWTO document

  o  read the references listed at the end of this document, especially
     the relevant kernel source README files

  o  post a question to one of the comp.os.linux or other usenet
     newsgroups

  o  send a question to the Linux mailing list

  o  try using the latest Linux kernel

  o  contact your computer dealer

  o  contact the CD-ROM manufacturer

  o  send mail to the author of the relevant kernel driver

  o  send mail to me

  o  fire up emacs and type Esc-x doctor


  5.  Applications


  This section briefly lists some of the key applications related to CD-
  ROM that are available under Linux. Check the Linux Software Map for
  the latest versions and archive sites.


  5.1.  Audio CD Players


  Several programs are available for playing audio CDs, either through a
  headphone jack or an attached sound card.


     Workman
        a graphical player running under X11 and supporting a CD
        database and many other features

     WorkBone
        an interactive text-mode player

     xcdplayer
        a simple X11 based player

     cdplayer
        a very simple command line based player

     Xmcd
        an X11/Motif based player

     xmitsumi
        another X11 based player for Mitsumi drives

     xplaycd
        another X11 based player, bundled with sound mixer and VU meter
        programs

     cdtool
        command line tools for playing audio CDs

  Some of these programs are coded to use a specific device file for the
  CD-ROM (e.g. /dev/cdrom). You may be able to pass the correct device
  name as a parameter, or you can create a symbolic link in the /dev
  directory. If sending the CD output to a sound card, you may wish to
  use a mixer program to set volume settings or select the CD-ROM input
  for recording.


  5.2.  Inheriting File System


  The Inheriting File System (IFS) is a kernel driver that allows
  mounting multiple file systems at the same point. It is similar to the
  Translucent File System provided under SunOS. By mounting a hard disk
  directory over a CD-ROM file system, you can effectively obtain a
  writable CD-ROM file system.

  The current version is experimental and was written for the 0.99pl11
  and pl12 kernels; it may or may not work with more recent revisions.
  The author is Werner Almesberger (almesber@bernina.ethz.ch).

  A similar package, called the user file system, is another possible
  method of providing similar functionality.


  5.3.  PhotoCD


  PhotoCDs use an ISO-9660 file system containing image files in a
  proprietary format. Not all CD-ROM drives support reading PhotoCDs.

  The hpcdtoppm program by Hadmut Danisch converts PhotoCD files to the
  portable pixmap format. It can be obtained from
  <ftp://ftp.gwdg.de/pub/linux/hpcdtoppm> or as part of the PBM
  (portable bit map) utilities, available on many archive sites (look
  for "pbm" or "netpbm").

  The photocd program by Gerd Knorr kraxel@cs.tu-berlin.de can convert
  PhotoCD images into Targa or Windows and OS/2 bitmap files.

  The same author has written the program xpcd, an X11-based program for
  handling PhotoCD images. You can select the images with a mouse,
  preview the image in a small window, and load the image with any of
  the five possible resolutions. You can also mark a part of the Image
  and load only the selected part. Look for these packages at
  <ftp://ftp.cs.tu-berlin.de/pub/linux/Local/misc/>.

  The ImageMagick image file manipulation program also supports PhotoCD
  files. It is available from
  <ftp://ftp.x.org/contrib/applications/ImageMagick/>.


  5.4.  Mkisofs


  Eric Youngdale's mkisofs package allows creating an ISO-9660 file
  system on a hard disk partition. This can then be used to assist in
  creating and testing CD-ROM file systems before mastering discs.

  The tools for actually writing data to writable CD-ROM drives tend to
  be vendor specific. They also require writing the data with no
  interruptions, so a multitasking operating system like Linux is not
  particularly well suited.





  5.5.  ISO-9660 Utilities


  These are some utilities for verifying the format of ISO-9660
  formatted discs; you may find them useful for testing suspect CDs. The
  package can be found at  <ftp://ftp.cdrom.com/pub/cdrom/ptf/>.  They
  were written by Bill Siegmund and Rich Morin.


  6.  Answers to Frequently Asked Questions



  6.1.  How can a non-root user mount and unmount discs?


  Some mount commands support the user option. If you make an entry such
  as the following in /etc/fstab:



       /dev/sbpcd  /cdrom   iso9660     user,noauto,ro




  then an ordinary user will be allowed to mount and unmount the drive
  using these commands:



       % mount /cdrom
       % umount /cdrom




  The disc will be mounted with some options that ensure security (e.g.
  programs cannot executed, device files are ignored); in some cases
  this may be too restrictive.

  Another method is to get the usermount package which allows non-root
  users to mount and unmount removable devices such as floppies and CD-
  ROMs, but restricts access to other devices (such as hard disk
  partitions). It is available on major archive sites.

  The archive site ftp.cdrom.com has the source file mount.c which
  allows mounting an unmounting of CD-ROMs (only) by normal users. It
  runs as a setuid executable.


  6.2.  Why do I get device is busy when unmounting a CD-ROM?


  The disc cannot be unmounted if any processes are accessing the drive,
  including having their default directory set to the mounted
  filesystem. If you cannot identify the processes using the disc, you
  can use the fuser command, as shown in the following example.








  % umount /cdrom
  umount: /dev/sbpcd: device is busy
  % fuser -v /cdrom
  /cdrom:               USER       PID ACCESS COMMAND
                        tranter     50 ..c..  bash





  6.3.  How do I export a CD-ROM to other hosts over NFS?


  You need to add an entry to the /etc/exports file; see the exports(5)
  man page for details.


  6.4.  Can I boot Linux from a CD-ROM?


  The easiest way to boot from CD-ROM is to use a boot floppy. Several
  of the Linux CD-ROM distributions (e.g. Yggdrasil) include one, or you
  can use the boot disk(s) from one of the Linux distributions (e.g.
  Slackware) that includes the necessary CD-ROM drivers for your system.

  In the future it may be possible to boot from ATAPI CD-ROM drives
  which have the appropriate ROM BIOS functions.


  6.5.  How can I read digital data from audio CDs?


  Only a few CD-ROM drives support this. Heiko Eissfeldt
  (heiko@colossus.escape.de) and Olaf Kindel have written a utility that
  reads audio data and saves it as .wav format sound files. It works
  with the Toshiba XM3401 and XM4101 SCSI drives. The package is called
  cdda2wav.tar.gz and can be found on sunsite.unc.edu. Other users have
  reported success with the Chinon 535 and Toshiba 3601B drives.

  The Panasonic SBPCD driver also has support for reading sound data
  beginning with the 2.0 driver included in the 1.1.22 kernel. A
  modified version of the cdda2wav program that works with this can be
  found at  <ftp://ftp.gwdg.de/pub/linux/misc/cdda2wav-sbpcd.2.tar.gz>.

  Even though the standard cdda2wav program claims to support the
  Panasonic drives, it does not yet work properly, because of the need
  to handle "overlap" of the data.

  The CDU-33 driver supports reading audio data. It is said to work with
  the cdda2wav program.

  For more information on this subject, see the alt.cd-rom FAQ listed in
  the references section.


  6.6.  Why doesn't the find command work properly?


  On ISO-9660 formatted discs without the Rock Ridge Extensions, you
  need to add the -noleaf option to the find command.

  The reason for this is that the number of links for each directory
  file is not easily obtainable, so it is set to 2. The default behavior
  for the find program is to look for (i_links - 2) subdirectories in
  each directory, and it then assumes that the rest are regular files.
  The -noleaf switch disables this optimization.
  6.7.  Is the Reveal Multimedia Effects kit CD-ROM supported?


  (the following was provided by Steve Horne Horne@cmod2.pfc.mit.edu)

  About a year ago I bought a Reveal CD/soundcard kit, and managed to
  get my particular configuration to work under Linux. I posted the
  tricks I used to make the thing work; that note got into the CD-ROM
  HOWTO. Recently I've been receiving a couple of requests a week for
  help on making Reveal kits work under Linux.

  I'm no expert. All I did was hammer away at Reveal Tech Support until
  they gave me the address of the appropriate port, then added the two
  SOUND-FX lines to the cdu31a driver.  I don't know how to help most of
  the people who e-mail me.  This is the note I plan to send them. It
  would be a good idea for you to condense it to the appropriate level
  for the HOWTO. In particular, I don't want anyone to get the
  impression that this is a good card to buy for a linux system.  It's
  not.

  REVEAL cards -  under Linux

  Summary:


  o  Don't buy one.

  o  If you already have one, and have a Sony drive, you can make the CD
     work.

  o  If you don't have a Sony drive, you can probably make the drive
     work, but I'm not certain, since I don't have that hardware.

  o  Sound support is poor. If Aztech would release programming
     information, there would be some hope.

  Fine print:

  If your kit has a Sony, the cdu31a driver will work for you.  You need
  a kernel with cdu31a support compiled in. The following is from the
  comments in the cdu31a source code:



        * WARNING -    All autoprobes have been removed from the driver.
        *              You MUST configure the CDU31A via a LILO config
        *              at boot time or in lilo.conf.  I have the
        *              following in my lilo.conf:
        *
        *                append="cdu31a=0x1f88,0,PAS"
        *
        *              The first number is the I/O base address of the
        *              card.  The second is the interrupt (0 means none).
        *              The third should be "PAS" if on a Pro-Audio
        *              spectrum, or nothing if on something else.




  I expect the appropriate line for a Reveal card to be



       append="cdu31a=0x654,0"


  Since I don't consistently use LILO, I have just put the autoprobing
  back in by deleting the conditional stuff, and put my address first.
  (The file is  </usr/src/linux/drivers/block/cdu31a.c>; search for the
  string "cdu31a_addresses" to find the spot.)

  THIS WILL NOT WORK IF YOUR KIT DOESN'T HAVE A SONY DRIVE!  (I don't
  know that for sure, but I'd be very surprised if it did.)

  By analogy to the Sony case, I expect that if you have a Panasonic or
  Mitsumi drive, you need to obtain from Reveal Tech Support the base
  register for your CD-ROM type, then use the appropriate driver. (I
  don't know if the sbpcd driver will work; it might. No matter what,
  you need those addresses.)  I don't know if the "append=..." will work
  with the other drivers.

  You can't patch the driver or lilo.conf until you have some sort of
  system up.  If you are starting from scratch (DOS only, no Linux) here
  are a few things to try --


  1. Copy the installation files to a DOS partition and install from
     there.  This is foolproof but will require up to 90 MB of space in
     your DOS partition.  Once the system is up you can use the above
     tricks.  It's possible to bootstrap yourself up by installing only
     the A, AP, and D series (if you are using Slackware) plus a kernel
     source tree (Q ?).  This will give you the tools to patch and build
     a kernel.

  2. If you either have a Sony CD or are otherwise confident, have a
     friend make you a patched kernel -- (autoprobes on, your address
     first.)  Rdev it in the usual way:



       rdev  /dev/fd0 /dev/fd0                 ; root=floppy
       rdev -r /dev/fd0 1440                   ; ramdisk
       rdev -t /dev/fd0 -3                     ; prompt for screen mode





  Then use it to boot the installation root-disk. Make a mount point for
  the CD that won't interfere with the installation procedure:



       # mkdir /cd
       # mount -r -t iso9660 /dev/fd0 /cd





  Then use the "install from mounted directory" option. Of course, the
  kernels in the distribution won't work for you; copy your custom ker-
  nel instead.

  3. It's just barely possible (I haven't checked) that the new LOADLIN
     routine, which boots Linux from DOS, might save you. I believe it's
     possible to use it like LILO to pass data to the kernel, so it
     might work to boot DOS, then boot Linux, passing the hardware
     addresses to the driver via LOADLIN. I've never tried this.

  Sound support:

  This card (isc-400) isn't well supported by Linux, which is a shame
  because it seems to be a nice piece of hardware. The card will produce
  output in the 8-bit SB mode. I haven't made the mixer work, so
  recording doesn't work properly either. The MSS mode doesn't have an
  IRQ; I don't know how to tell the driver that, so that doesn't work. I
  haven't seen the AdLib compatibility work.

  I have tried, and at least one other person has tried, to obtain
  programming information for the native mode(s) of the card. After many
  hours on the phone I was referred to Singapore. I passed at that
  point. When I get serious about sound again, I'll buy a genuine
  SoundBlaster card.


  6.8.  Does Linux support any recordable CD-ROM drives?


  According to Adam J. Richter, adam@yggdrasil.com:

  The Yggdrasil distribution can drive a Philips CD writer with an
  Adaptec 154x SCSI controller. I'm not sure which other SCSI
  controllers, if any, will work. You can use mkisofs to make an
  ISO-9660 filesystem and cdwrite to write it to the CD. If you want us
  to help you set this up, you can call us on our 900 technical support
  number: 1-900-446-6075 extension 835 (US$2.95/minute, U.S. only).


  6.9.  Why do I get mount: Read-only file system when mounting a CD-
  ROM?


  With older kernels you could mount a CD-ROM for read/write; attempts
  to write data to the CD would not generate any errors. As of kernel
  version 1.1.33 this was corrected so that CD-ROMs must be mounted read
  only (e.g. using the -r option to mount).


  6.10.  Why does the disc tray open when I shut down the system?


  As of the 1.1.38 kernel, the sbpcd driver ejects the CD when it is
  unmounted or closed. If you shut down the system, a mounted CD will be
  unmounted.

  This feature is for convenience when changing discs. If the tray is
  open when you mount or read a CD, it will also automatically be
  closed.

  I found that this caused problems with a few programs (e.g. cdplay and
  workbone). As of the 1.1.60 kernel you can control this feature under
  software control. A sample program is included in the README.sbpcd
  file (or use the "eject" program).


  6.11.  I have a "special" CD that can't be mounted


  The "special" CD is likely an XA disc (like all Photo CDs or "one-
  offs" created using CD-R drives). Most of the Linux kernel CD-ROM
  drivers do not support XA discs, although you may be able to find a
  patch to add support on one of the archive sites.

  The sbpcd driver does support XA. If you are using this driver you can
  determine if the disc is XA using the following procedure: go into the
  file sbpcd.c and enable the display of the "Table of Contents"
  (DBG_TOC). Build and install the new kernel and boot from it. During
  each mount the TOC info will be written (either to the console or to a
  log file). If the first displayed value in the TOC header line is
  "20", then it is an XA disc. That byte is "00" with normal disks. If
  the TOC display shows different tracks, that is also a sign that it is
  an XA disc.

  (thanks to Eberhard Moenkeberg for the above information)

  Other possibilities for unreadable CDs are:


  1. The disc doesn't use an ISO-9660 file system (e.g. some use SunOS)

  2. It is an audio CD

  3. The CD is damaged or defective

  4. You put it in the drive upside down :-)


  6.12.  Why does the drive light flash on my CDU-33 drive?


  This is normal and was added in a recent revision of the driver. It
  flashes the drive light when a CD is mounted (it's not a bug, it's a
  feature...).


  6.13.  Do multi-platter CD-ROM drives work with Linux?


  Several users have reported success with multi-disc CD-ROM changers.
  All of the drives I have come across use SCSI interfaces.

  You probably need to enable the "Probe all LUNs on each SCSI device"
  kernel configuration option. At least one user also had to increase a
  SCSI timeout value in the kernel driver.

  The Nakamichi MBR-7 7 disc changer and Pioneer 12 disc changer have
  been reported to work.


  6.14.  How do you pronounce "Matsushita" ?


  I'm told that the correct pronunciation it something like MAT-SOOSH-
  TA.


  7.  References


  I have already mentioned the README files, typically installed in
  </usr/src/linux/drivers/block/>. These can be a gold mine of useful
  information.

  The following usenet FAQs are posted periodically to news.answers and
  archived at internet FTP sites such as  <ftp://rtfm.mit.edu/>:


  o  alt.cd-rom FAQ

  o  comp.periphs.scsi FAQ

  Several other Linux HOWTOs have useful information relevant to CD-ROM:

  o  SCSI HOWTO <http://sunsite.unc.edu/mdw/HOWTO/SCSI-HOWTO.html>

  o  Hardware Compatibility HOWTO
     <http://sunsite.unc.edu/mdw/HOWTO/Hardware-HOWTO.html>

  o  Sound HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Sound-HOWTO.html>

  o  Kernel HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html>

  o  Distribution HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Distribution-
     HOWTO.html>

  At least 10 companies sell Linux distributions on CD-ROM; most of them
  are listed in the Distribution HOWTO.

  The following Usenet news groups cover CD-ROM related topics:


  o  comp.publish.cdrom.hardware

  o  comp.publish.cdrom.multimedia

  o  comp.publish.cdrom.software

  o  comp.sys.ibm.pc.hardware.cd-rom

  o  alt.cd-rom

  o  alt.cd-rom.reviews

  The comp.os.linux newsgroups are also good sources of Linux specific
  information.

  There is a large archive of CD-ROM information and software at
  <ftp://ftp.cdrom.com/pub/cdrom/>.

  A Web site dedicated to multimedia can be found at
  <http://viswiz.gmd.de/MultimediaInfo/>.

  The Linux Documentation Project has produced several books on Linux,
  including Linux Installation and Getting Started. These are freely
  available by anonymous FTP from major Linux archive sites or can be
  purchased in hardcopy format.

  The Linux Software Map (LSM) is an invaluable reference for locating
  Linux software. The LSM can be found on various anonymous FTP sites,
  including  <ftp://sunsite.unc.edu/pub/Linux/docs/LSM.gz/>.

  The Linux mailing list has a number of "channels" dedicated to
  different topics. To find out how to join, send a mail message with
  the word "help" as the message body to majordomo@vger.rutgers.edu.
