home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 8 / CDACTUAL8.iso / docs / cdrom-ho < prev    next >
Encoding:
Text File  |  1996-07-11  |  67.5 KB  |  1,754 lines

  1.   The Linux CD-ROM HOWTO
  2.   Jeff Tranter, jeff_tranter@mitel.com
  3.   v1.7, 24 February 1996
  4.  
  5.   This document describes how to install, configure, and use CD-ROM
  6.   drives under Linux. It lists the supported hardware and answers a num¡
  7.   ber of frequently asked questions. The intent is to bring new users up
  8.   to speed quickly and reduce the amount of traffic in the Usenet news
  9.   groups.
  10.  
  11.   1.  Introduction
  12.  
  13.   This is the Linux CD-ROM HOWTO document. It is intended as a quick
  14.   reference covering everything you need to know to install and
  15.   configure CD-ROM hardware under Linux. Frequently asked questions
  16.   related to CD-ROM are answered, and references are given to other
  17.   sources of information related to CD-ROM applications and technology.
  18.  
  19.   1.1.  Acknowledgments
  20.  
  21.   Much of this information came from the README files provided with the
  22.   Linux kernel source code, the internet alt.cdrom newsgroup FAQ, and
  23.   input from Linux users.
  24.  
  25.   Thanks to the Linuxdoc-SGML package, this HOWTO is available in
  26.   several formats, all generated from a common source file.
  27.  
  28.   1.2.  Revision History
  29.  
  30.      Version 1.0
  31.         First version made publicly available
  32.  
  33.      Version 1.1
  34.         CDU33A is explicitly supported as of 1.1.20 kernel; notes on
  35.         Reveal FX; info on reading audio tracks; info on some alpha
  36.         drivers; added troubleshooting section; a few other minor
  37.         additions
  38.  
  39.      Version 1.2
  40.         ISO-9660 file systems must be mounted read-only starting with
  41.         1.1.33 kernel; clarified that SB16 SCSI is supported and newer
  42.         Aztech drives are not supported; references to photocd and xpcd
  43.         programs; note new on sbpcd autoeject feature
  44.  
  45.      Version 1.3
  46.         Minor change to the way SBPCD eject feature is disabled starting
  47.         with the 1.1.49 kernel; added info on XA discs and how to
  48.         identify them
  49.  
  50.      Version 1.4
  51.         HOWTO now available in other languages; IBM and Longshine drives
  52.         now supported by SBPCD; alpha driver for Aztech drives; CDU-33
  53.         driver no longer auto-probes, supports PhotoCD and audio; more
  54.         than 2 SCSI drives are supported; new driver for IDE; reminder
  55.         to check drive jumpers; can now set SBPCD auto-eject with IOCTL;
  56.         list drivers with multisession support; question on flashing
  57.         light on CDU-33
  58.  
  59.      Version 1.5
  60.         A long overdue update (I've been busy); document placed under
  61.         GPL; info on many new kernel drivers; more info on configuration
  62.         and troubleshooting; lots of HTML links added; many other minor
  63.         changes
  64.  
  65.      Version 1.6
  66.         Added link to eject program; question on file permission patch;
  67.         link to Creative Labs Web site; reference to ATA/EIDE FAQ and
  68.         FTP site; note that many Creative Labs and Mitsumi drives are
  69.         now EIDE; mention Supermount; drives listed as supporting
  70.         digital data are obsolete, refer to cdda2wav; more info on
  71.         writing CDs; multi-disc EIDE drive info; a few typos fixed
  72.  
  73.      Version 1.7
  74.         new kernel version; most README files moved to
  75.         /usr/src/linux/Documentation; some drivers are no longer
  76.         experimental; a few more supported drives; emphasize that most
  77.         drives are now IDE/ATAPI; added questions on Plug and Play
  78.         support and identifying drive speed; vger mailing lists being
  79.         shut down; other miscellaneous minor changes
  80.  
  81.   1.3.  New Versions Of This Document
  82.  
  83.   New versions of this document will be periodically posted to the
  84.   comp.os.linux.answers newsgroup. They will also be uploaded to various
  85.   anonymous ftp sites that archive such information including
  86.   <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/>.
  87.  
  88.   Hypertext versions of this and other Linux HOWTOs are available on
  89.   many World-Wide-Web sites, including
  90.   <http://sunsite.unc.edu/mdw/mdw.html>. Most Linux CD-ROM distributions
  91.   include the HOWTOs, often under the  </usr/doc/> directory, and you
  92.   can also buy printed copies from several vendors.
  93.  
  94.   A French translation of this document, by Bruno Cornec
  95.   (cornec@stna7.stna.dgac.fr) is available at
  96.   <ftp://ftp.ibp.fr/pub2/linux/french/docs/HOWTO/>.
  97.  
  98.   A Japanese translation by Itsushi Minoura (minoura@uni.zool.s.u-
  99.   tokyo.ac.jp) is available from <http://yebisu.ics.es.osaka-
  100.   u.ac.jp/linux/>.
  101.  
  102.   If you make a translation of this document into another language, let
  103.   me know and I'll include a reference to it here.
  104.  
  105.   1.4.  Feedback
  106.  
  107.   I rely on you, the users, to make this HOWTO useful. If you have any
  108.   suggestions, corrections, or comments, please send them to me,
  109.   jeff_tranter@mitel.com, and I will try to incorporate them in the next
  110.   revision.
  111.  
  112.   I am also willing to answer general questions on CD-ROM and Linux, as
  113.   best I can. Before doing so, please read all of the information in
  114.   this HOWTO, and send me detailed information about the problem.
  115.  
  116.   If you publish this document on a CD-ROM or in hardcopy form, a
  117.   complimentary copy would be appreciated. Mail me for my postal
  118.   address. Also consider making a donation to the Linux Documentation
  119.   Project to help support free documentation for Linux. Contact the
  120.   Linux HOWTO coordinator, Greg Hankins (gregh@sunsite.unc.edu), for
  121.   more information.
  122.  
  123.   1.5.  Distribution Policy
  124.  
  125.   Copyright (C) 1996 Jeff Tranter.
  126.  
  127.   This HOWTO is free documentation; you can redistribute it and/or
  128.   modify it under the terms of the GNU General Public License as
  129.   published by the Free Software Foundation; either version 2 of the
  130.   License, or (at your option) any later version.
  131.  
  132.   This document is distributed in the hope that it will be useful, but
  133.   without any warranty; without even the implied warranty of
  134.   merchantability or fitness for a particular purpose.  See the GNU
  135.   General Public License for more details.
  136.  
  137.   You can obtain a copy of the GNU General Public License by writing to
  138.   the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
  139.   USA.
  140.  
  141.   2.  CD-ROM Technology
  142.  
  143.   "CD-ROM is read-only memory, and audio compact disc system is
  144.   available as package-media of digital data for those purpose. For
  145.   playing audio CD, please insert Head-phone jack."
  146.   --- from a CD-ROM instruction manual
  147.  
  148.   Don't Panic! The world of CD-ROM technology is not as confusing as
  149.   your instruction manual.
  150.  
  151.   CD-ROM stands for Compact Disc Read-Only Memory, a mass storage medium
  152.   utilizing an optical laser to read microscopic pits on the aluminized
  153.   layer of a polycarbonate disc. The same format is used for audio
  154.   Compact Discs. Because of its high storage capacity, reliability, and
  155.   low cost, CD-ROM has become an increasingly popular storage media.
  156.  
  157.   The storage capacity of a CD-ROM disc is approximately 650 megabytes,
  158.   equivalent to over 500 high density 3.5" floppy disks or roughly
  159.   250,000 typed pages.
  160.  
  161.   First generation drives (known as single speed), provide a transfer
  162.   rate of approximately 150 kilobytes per second; these are now
  163.   generally considered obsolete. Double speed drives (300 kilobytes per
  164.   second) are widely available, and many users are now opting for quad
  165.   speed (600 kilobytes per second) or even higher.
  166.  
  167.   Most CD-ROM drives use either the Small Computer Systems Interface
  168.   (SCSI), ATAPI enhanced IDE interface, or a vendor proprietary
  169.   interface. They also typically support playing audio CDs via an
  170.   external headphone jack or line level output. Some CDs also allow
  171.   reading the frames of data from audio CDs in digital form.
  172.  
  173.   CD-ROMs are usually formatted with an ISO-9660 (formerly called High
  174.   Sierra) file system. This format restricts filenames to the MS-DOS
  175.   style (8+3 characters). The Rock Ridge Extensions use undefined fields
  176.   in the ISO-9660 standard to support longer filenames and additional
  177.   Unix style information (e.g. file ownership, symbolic links, etc.).
  178.  
  179.   PhotoCD is a standard developed by Kodak for storing photographic
  180.   images as digital data on a CD-ROM. With appropriate software, you can
  181.   view the images on a computer, manipulate them, or send them to a
  182.   printer. Information can be added to a PhotoCD at a later date; this
  183.   is known as multi-session capability.
  184.  
  185.   CD recorders (CD-R) have recently become available. They use a
  186.   different media and specialized equipment for recording, but the
  187.   resulting disc can be read by any CD-ROM drive.
  188.  
  189.   In the future CD-ROM drive vendors are expected to offer technology
  190.   that will increase storage capacity by an order of magnitude.
  191.  
  192.   3.  Supported Hardware
  193.  
  194.   This section lists the CD-ROM drivers and interfaces that are
  195.   currently supported under Linux. The information here is based on the
  196.   latest Linux kernels, which at time of writing were version 1.2.13
  197.   (latest stable release) and 1.3.68 (latest development release).
  198.  
  199.   This information is only valid for Linux on the Intel platform. Some
  200.   information may be applicable to other processor architectures, but I
  201.   have no first hand experience or information.
  202.  
  203.   3.1.  SCSI CD-ROM Drives
  204.  
  205.   SCSI (Small Computer Systems Interface) is a popular format for CD-ROM
  206.   drives. Its chief advantages are a reasonably fast transfer rate,
  207.   multi-device capability, and support on a variety of computer
  208.   platforms. Some disadvantages of SCSI are the need for a relatively
  209.   expensive controller card and cables.
  210.  
  211.   Any SCSI CD-ROM drive with a block size of 512 or 2048 bytes should
  212.   work under Linux; this includes the vast majority of CD-ROM drives on
  213.   the market.
  214.  
  215.   You will also need a supported SCSI controller card; see the SCSI
  216.   HOWTO for more information on interface hardware.
  217.  
  218.   Note that some CD-ROMs include a controller with a modified interface
  219.   that is not fully SCSI compatible (e.g. it may not support adding
  220.   other SCSI devices on the bus). These will most likely not work under
  221.   Linux.
  222.  
  223.   3.2.  Proprietary CD-ROM Drives
  224.  
  225.   Several CD-ROM drives using proprietary interfaces are available; the
  226.   interface is often provided on a sound card. Simple interface cards
  227.   equivalent to that provided on the sound card are also available.
  228.   These drives generally tend to be lower in cost and smaller than SCSI
  229.   drives. Their disadvantages are the lack of standardization and
  230.   expandability.
  231.  
  232.   Note that proprietary interfaces are sometimes erroneously referred to
  233.   as IDE interfaces, because like IDE hard disks, they use a simple
  234.   interface based on the PC/AT bus. To add to the confusion, some
  235.   vendors, most notably Creative Labs, have shipped many different types
  236.   of CD-ROM drives and have offered proprietary, SCSI, and ATAPI
  237.   interfaces on their sound cards.
  238.  
  239.   The table below lists the proprietary CD-ROM drives that are known to
  240.   be supported under Linux. Drivers for additional devices are always in
  241.   development and may be available as kernel patches. They can most
  242.   often be found at
  243.   <ftp://sunsite.unc.edu/pub/Linux/kernel/patches/cdrom/>. Also check
  244.   the README files included with the kernel distribution, usually
  245.   installed in /usr/src/linux/drivers/block/ or
  246.   /usr/src/linux/Documentation/cdrom/, for the latest information.
  247.  
  248.                   Proprietary CD-ROM Drives
  249.  
  250.   Vendor          Model           Kernel Driver   Notes
  251.   ------          -----           -------------   --------
  252.   Panasonic       CR-521          sbpcd           Note 1
  253.   Panasonic       CR-522          sbpcd           Note 1
  254.   Panasonic       CR-523          sbpcd           Note 1
  255.   Panasonic       CR-562          sbpcd           Note 1
  256.   Panasonic       CR-563          sbpcd           Note 1
  257.   Creative Labs   CD-200          sbpcd
  258.   IBM             External ISA    sbpcd           Note 2
  259.   Longshine       LCS-7260        sbpcd
  260.   Teac            CD-55A          sbpcd
  261.   Sony            CDU-31A         cdu31a
  262.   Sony            CDU-33A         cdu31a
  263.   Sony            CDU-535         sonycd535       Note 3
  264.   Sony            CDU-531         sonycd535
  265.   Aztech          CDA268-01A      aztcd
  266.   Orchid          CDS-3110        aztcd
  267.   Okano/Wearnes   CDD110          aztcd
  268.   Conrad          TXC             aztcd
  269.   GoldStar        R420            gscd            Note 4
  270.   Philips/LMS     CM206           cm206           Note 5
  271.   Mitsumi         CRMC LU005S     mcd/mcdx        Note 6, 7
  272.   Mitsumi         FX001           mcd/mcdx        Note 6, 7
  273.   Optics Storage  Dolphin 8000AT  optcd
  274.   Sanyo           H94A            sjcd
  275.   various         various         isp16           Note 8
  276.  
  277.   Notes:
  278.  
  279.   1. These drives may be sold under the names Creative Labs, Panasonic,
  280.      Matsushita, or Kotobuki.
  281.  
  282.   2. This drive is the same as a Panasonic CR-562.
  283.  
  284.   3. May also be sold under the Procomm name.
  285.  
  286.   4. May also be sold as part of a Reveal Multimedia Kit.
  287.  
  288.   5. The Philips CM205 is not supported by this driver, but there is a
  289.      separate Alpha release driver available.
  290.  
  291.   6. May also be sold under the Radio Shack name.
  292.  
  293.   7. There are two drivers available. "mcd" is the original one, and
  294.      "mcdx" is a new experimental driver with more features (but
  295.      possibly less stable).
  296.  
  297.   8. This driver works with CD-ROM drives that are attached to the
  298.      interface on an ISP16, MAD16 or Mozart sound card.
  299.  
  300.   If a drive listed here is not supported by your kernel, you probably
  301.   need to upgrade to a newer version. Some of the drivers were
  302.   introduced in the 1.3.x series of kernels.
  303.  
  304.   If your drive is not one of the models listed here, particularly if it
  305.   was bought recently and is quad speed or faster, it probably uses the
  306.   IDE/ATAPI interface listed in the next section. The most common error
  307.   among Linux CD-ROM users is to assume that any drive connected to a
  308.   SoundBlaster card should use the SBPCD driver. Creative Labs and most
  309.   other vendors are no longer selling proprietary interface drives, they
  310.   are following the standard ATAPI/IDE interface.
  311.  
  312.   3.3.  ATAPI CD-ROM Drives
  313.  
  314.   ATAPI (ATA Packet Interface) is a protocol for controlling mass
  315.   storage devices, similar to SCSI. It builds on the ATA (AT Attachment)
  316.   interface, the official ANSI standard name for for the IDE interface
  317.   developed for hard disk drives. ATAPI is commonly used for hard disks,
  318.   CD-ROM drives, tape drives, and other devices. While relatively new,
  319.   it is rapidly becoming the most popular type of interface. It offers
  320.   most of the functionality of SCSI, without the need for an expensive
  321.   controller or cables.
  322.  
  323.   The Linux kernel has a device driver that should work with any ATAPI
  324.   compliant CD-ROM drive. Vendors shipping compatible drives include
  325.   Aztech, Mitsumi, NEC, Sony, Creative Labs, and Vertos. If you have
  326.   recently purchased a CD-ROM drive, especially if it is quad speed or
  327.   faster, it is almost guaranteed to be IDE/ATAPI.
  328.  
  329.   4.  Installation
  330.  
  331.   Installation of a CD-ROM under Linux consists of these steps:
  332.  
  333.   1. Installing the hardware.
  334.  
  335.   2. Configuring and building the Linux kernel.
  336.  
  337.   3. Creating device files and setting boot time parameters
  338.  
  339.   4. Booting the Linux kernel.
  340.  
  341.   5. Mounting the media.
  342.  
  343.   The next sections will cover each of these steps in detail.
  344.  
  345.   4.1.  Installing the Hardware
  346.  
  347.   Follow the manufacturer's instructions for installing the hardware or
  348.   have your dealer perform the installation. The details will vary
  349.   depending on whether the drive is internal or external and on the type
  350.   of interface used. There are no special installation requirements for
  351.   Linux. You may need to set jumpers on the drive and/or interface card
  352.   for correct operation; some of the kernel drivers include README files
  353.   that include this information.
  354.  
  355.   As explained in the file README.ide, ATAPI CD-ROMS should be jumpered
  356.   as "single" or "master", and not "slave" when only one IDE device is
  357.   attached to an interface (this restriction is no longer enforced with
  358.   recent 1.3.x kernels).
  359.  
  360.   4.2.  Configuring and Building the Kernel
  361.  
  362.   When initially installing Linux from CD-ROM you will likely be using a
  363.   boot and/or root disk provided as part of a Linux distribution. If
  364.   possible, you should choose a boot disk with the kernel driver for
  365.   your CD-ROM device type. If you cannot find a boot disk with the
  366.   necessary CD-ROM driver, you have several options:
  367.  
  368.   1. install over a network
  369.  
  370.   2. boot DOS, and install the Linux files onto your hard disk
  371.  
  372.   3. boot DOS, and create a set of floppies to install Linux
  373.  
  374.   4. find someone who can build you a boot disk with the needed CD-ROM
  375.      driver
  376.  
  377.   The Linux Installation HOWTO
  378.   <http://sunsite.unc.edu/mdw/HOWTO/Installation-HOWTO.html> has more
  379.   information on installing Linux. If you purchased Linux on CD-ROM, it
  380.   likely also came with some installation instructions (that little
  381.   booklet inside the jewel case, and/or files on the CD).
  382.  
  383.   Once Linux has initially been installed, most users will want to
  384.   compile their own kernel, usually for one of these reasons:
  385.  
  386.   ╖  to support a CD-ROM drive or other hardware
  387.  
  388.   ╖  to upgrade to a newer kernel release
  389.  
  390.   ╖  to free up memory resources by minimizing the size of the kernel
  391.  
  392.   The Linux Kernel HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Kernel-
  393.   HOWTO.html> should be consulted for the details of building a kernel.
  394.   I will just mention here some issues that are specific to CD-ROM
  395.   drives.
  396.  
  397.   Obviously, you need to compile in support for your CD-ROM drive when
  398.   you do a "make config".
  399.  
  400.   If you have an ATAPI CD-ROM drive, you need to answer yes to the
  401.   questions:
  402.  
  403.        Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE) [Y/n/?]
  404.           Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [Y/n/?]
  405.  
  406.   For SCSI CD-ROM drives, enable these options:
  407.  
  408.        SCSI support (CONFIG_SCSI) [Y/n/m/?]
  409.        SCSI CDROM support (CONFIG_BLK_DEV_SR) [Y/n/m/?]
  410.  
  411.   Also enable support for your SCSI host adaptor when prompted, e.g.
  412.  
  413.        Adaptec AHA152X support (CONFIG_SCSI_AHA152X) [Y/n/m/?]
  414.  
  415.   For proprietary interface CD-ROM drives, enable the appropriate
  416.   driver. You can use the table listed previously to determine the
  417.   driver to use for your model.
  418.  
  419.   Virtually all CD-ROMs use the ISO-9660 file system, so you must also
  420.   enable:
  421.  
  422.        ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [Y/n/m/?]
  423.  
  424.   Although not needed for CD-ROM operation, if you have a sound card
  425.   that is supported under Linux you might want to enable and configure
  426.   the kernel sound driver at this time as well. The Sound HOWTO
  427.   <http://sunsite.unc.edu/mdw/HOWTO/Sound-HOWTO.html> can be a useful
  428.   reference here.
  429.  
  430.   You should then follow the usual procedure for building the kernel and
  431.   installing it. Don't boot with the new kernel until you create the
  432.   device files and set up any boot time parameters as described in the
  433.   next section.
  434.  
  435.   All of the CD-ROM drivers and ISO-9600 filesystem can be built as
  436.   loadable kernel modules. How to do this is described in the modules
  437.   documentation and the Kernel HOWTO
  438.   <http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html>
  439.  
  440.   If a drive type listed here is not supported by your kernel, you
  441.   likely need to upgrade to a newer version (several of the drivers are
  442.   only offered starting with the 1.3.x kernels).
  443.  
  444.   It is possible that you need to use a driver that is distributed
  445.   separately from the kernel source code. This usually involves patching
  446.   the kernel. Again, the Kernel HOWTO
  447.   <http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html> explains how to
  448.   do this.
  449.  
  450.   Note that the newer 1.3.x kernels offer a menu-based configuration
  451.   using "make menuconfig" and an X11 based graphical configuration using
  452.   "make xconfig". All three configuration methods also now offer on-line
  453.   help.
  454.  
  455.   4.3.  Creating Device Files and Setting Boot Time Parameters
  456.  
  457.   The kernel uses device files to identify which device driver to use.
  458.   If you are running a standard Linux distribution you may have created
  459.   the necessary device files during installation. Under Slackware Linux,
  460.   for example, there is a menu-based setup tool that includes CD-ROM
  461.   setup, and most systems have a /dev/MAKEDEV script. If you don't use
  462.   these methods, you can use the more manual procedure listed in this
  463.   section. Even if you use either of these methods, it is recommended
  464.   that you at least verify the device files against the information in
  465.   this section.
  466.  
  467.   You create the device file by running the shell commands indicated for
  468.   your drive type. This should be done as user root. Note that some
  469.   Linux distributions may use slightly different CD-ROM device names
  470.   from those listed here.
  471.  
  472.   It is recommended that you also create a symbolic link to the CD-ROM
  473.   device to make it easier to remember. For example, for a Panasonic CD-
  474.   ROM drive, the link would be created using
  475.  
  476.        % ln -s /dev/sbpcd /dev/cdrom
  477.  
  478.   If you want to play audio CDs, you will need to set the protection on
  479.   the device file (the real file, not the symbolic link to it) to allow
  480.   all users to read and write, e.g.
  481.  
  482.        % chmod 666 /dev/sbpcd
  483.        % ls -l /dev/sbpcd
  484.        brw-rw-rw-   1 root     disk      25,   0 Jul 18  1994 /dev/sbpcd
  485.  
  486.   When booting Linux, the device drivers attempt to determine whether
  487.   the appropriate devices are present, typically by probing specific
  488.   addresses. Many of the drivers auto-probe at several addresses, but
  489.   because of differences in configuration, possible device conflicts,
  490.   and hardware limitations, the drivers sometimes need help identifying
  491.   the addresses and other parameters. Most drivers support an option on
  492.   the kernel command line to pass this information to the device driver.
  493.   This can be done interactively, or more commonly, configured into your
  494.   boot loader. With LILO, for example, you would add an append command
  495.   such as the following to your /etc/lilo.conf file:
  496.  
  497.        append = "sbpcd=0x230,SoundBlaster"
  498.  
  499.   See the LILO documentation for more information.
  500.  
  501.   In the next section I discuss issues specific to individual device
  502.   drivers, including device files, boot parameters, and the capabilities
  503.   of the different drivers. You probably only need to read the section
  504.   relevant to your drive type.
  505.  
  506.   4.3.1.  Sbpcd Driver
  507.  
  508.          Principal author: Eberhard Moenkeberg (emoenke@gwdg.de)
  509.   lt  Multi-session support: yes (but not all drives)
  510.    Multiple drive support: yes
  511.   Loadable module support: yes
  512.      Reading audio frames: yes (CR-562, CR-563, CD-200 only)
  513.              Auto-probing: yes
  514.               Device file: /dev/sbpcd, major 25
  515.        Configuration file: sbpcd.h
  516.      Kernel config option: Matsushita/Panasonic CDROM support?
  517.               README file: README.sbpcd
  518.  
  519.   This driver accepts a kernel command line of the form:
  520.  
  521.        sbpcd=<io-address>,<interface-type>
  522.  
  523.   wfwhere the first parameter is the base address of the device (e.g.
  524.   0x230), and <interface-type> is one of "SoundBlaster", "LaserMate", or
  525.   "SPEA". See the file sbpcd.h for hints on what interface type to use.
  526.   Using sbpcd=0 disables auto-probing, rendering the driver useless.
  527.  
  528.   The device file can be created using:
  529.  
  530.        % mknod /dev/sbpcd b 25 0
  531.  
  532.   Up to four drives per controller are supported. The next three drives
  533.   on the first controller would use minor device numbers 1 through 3.
  534.   If you have more than one controller, create devices with major
  535.   numbers 26, 27, and 28, up to a maximum of 4 controllers (this is 16
  536.   CD-ROM drives in total; hopefully enough for most users :-).
  537.  
  538.   See the file README.sbpcd for more information on this driver.
  539.  
  540.   If you recently bought a CD-ROM drive, don't assume that if it
  541.   connects to a SoundBlaster card it should use this kernel driver. Most
  542.   CD-ROM drives being sold by Creative Labs are now EIDE/ATAPI drives.
  543.  
  544.   4.3.2.  Sonycdu535 Driver
  545.  
  546.          Principal author: Ken Pizzini (ken@halcyon.com)
  547.     Multi-session support: no
  548.    Multiple drive support: no
  549.   Loadable module support: yes
  550.      Reading audio frames: no
  551.              Auto-probing: no
  552.               Device file: /dev/sonycd535, major 24
  553.        Configuration file: sonycd535.h
  554.      Kernel config option: Sony CDU535 CDROM support?
  555.               README file: README.sonycd535
  556.  
  557.   This driver accepts a kernel command line of the form:
  558.  
  559.        sonycd535=<io-address>
  560.  
  561.   where <io-address> is the base address of the controller (e.g. 0x320).
  562.   Alternatively you can set the address in the file sonycd535.h and
  563.   compile it in.
  564.  
  565.   The device file can be created using:
  566.  
  567.        % mknod /dev/sonycd535 b 24 0
  568.  
  569.   Some Linux distributions use /dev/sonycd for this device.  Older
  570.   versions of the driver used major device number 21; make sure your
  571.   device file is correct.
  572.  
  573.   This driver was previously distributed as a patch but is now part of
  574.   the standard kernel. See the file README.sonycd535 for more
  575.   information on this driver.
  576.  
  577.   4.3.3.  Cdu31a Driver
  578.  
  579.   Harriss       Principal author: Corey Minyard (minyard@-rch.cirr.com)
  580.     Multi-session support: yes
  581.    Multiple drive support: no
  582.   Loadable module support: yes
  583.      Reading audio frames: yes
  584.              Auto-probing: no
  585.               Device file: /dev/cdu31a, major 15
  586.        Configuration file: cdu31a.h
  587.      Kernel config option: Sony CDU31A/CDU33A CDROM support?
  588.               README file: README.cdu31a
  589.  
  590.   This driver accepts a kernel command line of the form:
  591.  
  592.   cdu31a=<io-address>,<interrupt>,PAS
  593.  
  594.   The first number is the I/O base address of the card (e.g. 0x340). The
  595.   second is the interrupt number to use (0 means to use polled i/o). The
  596.   optional third parameter should be "PAS" if the drive is connected to
  597.   a Pro-Audio Spectrum 16 sound card, otherwise left blank.
  598.  
  599.   The device file can be created using:
  600.  
  601.        % mknod /dev/cdu31a b 15 0
  602.  
  603.   See the file README.cdu31a for more information on this driver.
  604.  
  605.   Also see the Web page put together by Jeffrey Oxenreider
  606.   (zureal@infinet.com) that covers a lot of common problems with these
  607.   drives. It can be found at
  608.   <http://www.infinet.com/~zureal/cdu31a.html>.
  609.  
  610.   4.3.4.  Aztcd Driver
  611.  
  612.          Principal author: Werner Zimmermann (zimmerma@rz.fht-esslingen.de)
  613.     Multi-session support: yes
  614.    Multiple drive support: no
  615.   Loadable module support: yes
  616.      Reading audio frames: no
  617.              Auto-probing: no
  618.               Device file: /dev/aztcd0, major 29
  619.        Configuration file: aztcd.h
  620.      Kernel config option: Aztech/Orchid/Okano/Wearnes (non IDE) CDROM support?
  621.               README file: README.aztcd
  622.  
  623.   This driver accepts a kernel command line of the form:
  624.  
  625.        aztcd=<io-address>
  626.  
  627.   where the parameter is the I/O base address of the card (e.g. 0x340).
  628.  
  629.   The device file can be created using:
  630.  
  631.        % mknod /dev/aztcd0 b 29 0
  632.  
  633.   See the file README.aztcd for more information on this driver.
  634.  
  635.   4.3.5.  Gscd Driver
  636.  
  637.          Principal author: Oliver Raupach (raupach@nwfs1.rz.fh-hannover.de)
  638.     Multi-session support: no
  639.    Multiple drive support: no
  640.   Loadable module support: yes
  641.      Reading audio frames: no
  642.              Auto-probing: no
  643.               Device file: /dev/gscd0, major 16
  644.        Configuration file: gscd.h
  645.      Kernel config option: Goldstar R420 CDROM support?
  646.               README file: README.gscd
  647.  
  648.   This driver accepts a kernel command line of the form:
  649.  
  650.        gscd=<io-address>
  651.  
  652.   specifying the I/O base address of the card (e.g. 0x340).
  653.  
  654.   The device file can be created using:
  655.  
  656.        % mknod /dev/gscd0 b 16 0
  657.  
  658.   See the file README.gscd and the World-Wide Web site
  659.   <http://linux.rz.fh-hannover.de/~raupach> for more information on this
  660.   driver.
  661.  
  662.   4.3.6.  Mcd Driver
  663.  
  664.          Principal author: Martin  (martin@bdsi.com)
  665.   nl  Multi-session support: no
  666.    Multiple drive support: no
  667.   Loadable module support: yes
  668.      Reading audio frames: no
  669.              Auto-probing: no
  670.               Device file: /dev/mcd, major 23
  671.        Configuration file: mcd.h
  672.      Kernel config option: Standard Mitsumi CDROM support?
  673.               README file: README.mcd
  674.  
  675.   This is the older driver for Mitsumi drivers that has been available
  676.   for some time. You might want to try the newer mcdx driver, which has
  677.   some new features but is still considered experimental.
  678.  
  679.   This driver accepts a kernel command line of the form:
  680.  
  681.        mcd=<io-address>,<irq>
  682.  
  683.   specifying the I/O base address of the card (e.g. 0x340) and the IRQ
  684.   request number used.
  685.  
  686.   The device file can be created using:
  687.  
  688.        % mknod /dev/mcd b 23 0
  689.  
  690.   See the file README.mcd for more information on this driver.
  691.  
  692.   4.3.7.  Mcdx Driver
  693.  
  694.          Principal author: Heiko Schlittermann
  695.     Multi-session support: yes
  696.    Multiple drive support: yes
  697.   Loadable module support: yes
  698.      Reading audio frames: no
  699.              Auto-probing: no
  700.               Device file: /dev/mcdx0, major 20
  701.        Configuration file: mcdc.h
  702.      Kernel config option: Experimental Mitsumi support?
  703.               README file: README.mcdx
  704.  
  705.   This is a new and currently experimental driver for Mitsumi drivers.
  706.   The older and possibly more stable mcd driver is still available.
  707.  
  708.   This driver accepts a kernel command line of the form:
  709.  
  710.        mcdx=<io-address>,<irq>
  711.  
  712.   specifying the I/O base address of the card (e.g. 0x340) and the IRQ
  713.   request number used.
  714.  
  715.   The device file can be created using:
  716.  
  717.        % mknod /dev/mcdx0 b 20 0
  718.  
  719.   If you recently bought a Mitsumi CD-ROM drive, don't assume that it
  720.   should use this kernel driver. Some Mitsumi models are now EIDE/ATAPI
  721.   drives and should use the idecd kernel driver.
  722.  
  723.   See the file README.mcdx for more information on this driver.
  724.  
  725.   4.3.8.  Cm206 Driver
  726.  
  727.          Principal author: David A. van Leeuwen (david@tm.tno.)
  728.     Multi-session support: yes
  729.    Multiple drive support: no
  730.   Loadable module support: yes
  731.      Reading audio frames: no
  732.              Auto-probing: yes
  733.               Device file: /dev/cm206cd, major 32
  734.        Configuration file: cm206.h
  735.      Kernel config option: Philips/LMS CM206 CDROM support?
  736.               README file: README.cm206
  737.  
  738.   The driver accepts a kernel command line of the form:
  739.  
  740.        cm206=<io-address>,<interrupt>
  741.  
  742.   where the first number is the I/O base address of the card (e.g.
  743.   0x340). The second is the interrupt channel.
  744.  
  745.   The device file can be created using:
  746.  
  747.        % mknod /dev/cm206cd b 32 0
  748.  
  749.   See the file README.cm206 for more information on this driver.
  750.  
  751.   4.3.9.  Optcd Driver
  752.  
  753.   fnald
  754.  
  755.          Principal author: Leo Spiekman (spiekman@dutette.et.tudelft.nl)
  756.     Multi-session support: no
  757.    Multiple drive support: no
  758.   Loadable module support: yes
  759.      Reading audio frames: no
  760.              Auto-probing: no
  761.               Device file: /dev/optcd0, major 17
  762.        Configuration file: optcd.h
  763.      Kernel config option: Experimental Optics Storage ... CDROM support?
  764.               README file: README.optcd
  765.  
  766.   The driver accepts a kernel command line of the form
  767.  
  768.   optcd=<io-address>
  769.  
  770.   to specify the I/O base address of the card (e.g. 0x340).
  771.  
  772.   The device file can be created using:
  773.  
  774.        % mknod /dev/optcd0 b 17 0
  775.  
  776.   See the file README.optcd for more information on this driver.
  777.  
  778.   4.3.10.  Sjcd Driver
  779.  
  780.          Principal author: Vadim V. Model (vadim@rbrf.msk.su)
  781.     Multi-session support: no
  782.    Multiple drive support: no
  783.   Loadable module support: yes
  784.      Reading audio frames: no
  785.              Auto-probing: no
  786.               Device file: /dev/sjcd, major 18
  787.        Configuration file: sjcd.h
  788.      Kernel config option: Experimental Sanyo H94A CDROM support?
  789.               README file: README.sjcd
  790.  
  791.   The driver accepts a kernel command line of the form:
  792.  
  793.        sjcd=<io-address>,<interrupt>,<dma>
  794.  
  795.   indicating the base address, interrupt, and DMA channel to be used
  796.   (e.g. sjcd=0x340,10,5).
  797.  
  798.   The device file can be created using:
  799.  
  800.        % mknod /dev/sjcd b 18 0
  801.  
  802.   See the file README.sjcd for more information on this driver.
  803.  
  804.   4.3.11.  SCSI Driver
  805.  
  806.          Principal author: David Giller
  807.     Multi-session support: yes (depending on drive)
  808.    Multiple drive support: yes
  809.   Loadable module support: yes
  810.      Reading audio frames: yes (depending on drive)
  811.              Auto-probing: yes
  812.               Device file: /dev/scd0, major 11
  813.        Configuration file: cdrom.h
  814.      Kernel config option: SCSI CDROM support?
  815.               README file: none
  816.  
  817.   There are kernel command line option specific to each type of SCSI
  818.   controller. See the SCSI HOWTO for more information.
  819.  
  820.   Multiple drives are supported (up to the limit of the maximum number
  821.   of devices on the SCSI bus). Create device files with major number 11
  822.   and minor numbers starting at zero:
  823.  
  824.        % mknod /dev/scd0 b 11 0
  825.        % mknod /dev/scd1 b 11 1
  826.  
  827.   4.3.12.  IDECD Driver
  828.  
  829.          Principal author: Scott Snyder (snyder@0.fnal.gov)
  830.     Multi-session support: no
  831.    Multiple drive support: yes
  832.   Loadable module support: no
  833.      Reading audio frames: yes (on suported drives)
  834.              Auto-probing: yes
  835.               Device file: /dev/hd{b,c},  major 22
  836.        Configuration file: cdrom.h
  837.      Kernel config option: Include support for IDE/ATAPI CDROMs?
  838.               README file: README.ide
  839.  
  840.   This is the driver for ATAPI CD-ROMS. The driver accepts a kernel
  841.   command line of the form
  842.  
  843.        hdx=cyls,heads,sects,wpcom,irq
  844.          or
  845.        hdx=cdrom
  846.  
  847.   where hdx can be any of {hda,hdb,hdc,hdd}, or simply hd, for the
  848.   "next" drive in sequence. Only the first three parameters are required
  849.   (cyls,heads,sects). For example hdc=1050,32,64 hdd=cdrom.
  850.  
  851.   Getting the IDE driver to recognize your CD-ROM drive can be tricky,
  852.   especially if you have more than 2 devices or more than one IDE
  853.   controller. Usually all that is required is to pass the right command
  854.   line options from LILO. The file
  855.   </usr/src/linux/drivers/block/README.ide> explains how to do this.
  856.   Read it carefully.
  857.  
  858.   The 1.3.x Linux kernels have better support for multiple IDE devices.
  859.   If you have problems with an older kernel, upgrading may help.
  860.  
  861.   4.4.  Booting the Linux Kernel
  862.  
  863.   You can now reboot with the new kernel. Watch for a message such as
  864.   the following indicating that the CD-ROM has been found by the device
  865.   driver (the message will vary depending on the drive type):
  866.  
  867.        SBPCD: Trying to detect a SoundBlaster CD-ROM drive at 0x230.
  868.        SBPCD: - Drive 0: CR-562-x (0.76)
  869.        SBPCD: 1 SoundBlaster CD-ROM drive(s) at 0x0230.
  870.        SBPCD: init done.
  871.  
  872.   If the bootup messages scroll by too quickly to read, you should be
  873.   able to retrieve them using dmesg or tail /var/adm/messages.
  874.  
  875.   If the drive is not found, then a problem has occurred, See the
  876.   section on troubleshooting.
  877.  
  878.   4.5.  Mounting, Unmounting, and Ejecting Devices
  879.  
  880.   To mount a CD-ROM, insert a disc in the drive, and run the mount
  881.   command as root (this assumes you created a symbolic link to your
  882.   device file as recommended above and that an empty directory /mnt
  883.   exists):
  884.  
  885.        % mount -t iso9660 -r /dev/cdrom /mnt
  886.  
  887.   The CD can now be accessed under the directory /mnt. Note that /mnt is
  888.   commonly used as a temporary mount point; a more suitable name for a
  889.   permanent installation might be something like /cdrom. There are other
  890.   options to the mount command that you may wish to use; see the
  891.   mount(8) man page for details.
  892.  
  893.   You can add an entry to /etc/fstab to automatically mount a CD-ROM
  894.   when Linux boots or to specify parameters to use when it is mounted;
  895.   see the fstab(5) man page.
  896.  
  897.   Note that to play audio CDs you should not try to mount them.
  898.  
  899.   To unmount a CD-ROM, use the umount command as root:
  900.  
  901.        % umount /mnt
  902.  
  903.   The disc can only be unmounted if no processes are currently accessing
  904.   the drive (including having their default directory set to the mounted
  905.   drive). You can then eject the disc. Most drives have an eject button;
  906.   there is also a standalone eject program that allows ejecting CD-ROMs
  907.   under software control.
  908.  
  909.   Note that you should not eject a disc while it is mounted (this may or
  910.   may not be possible depending on the type of drive). The sbpcd driver
  911.   can automatically eject a CD-ROM when it is unmounted and insert the
  912.   CD tray when a disc is mounted (you can turn this feature off when
  913.   compiling the kernel or by using a software command).
  914.  
  915.   Its possible that after playing an audio CD you may not be able to
  916.   mount a CD-ROM. You need to send a CD audio "stop" command (using a CD
  917.   player program) before trying the mount. This problem only appears to
  918.   occur with the SBPCD driver.
  919.  
  920.   Stephen Tweedie (sct@dcs.ed.ac.uk) recently announced the Supermount
  921.   package which provides transparent mounting of removable media
  922.   including CD-ROM. You can find it at
  923.   <ftp://sunsite.unc.edu/pub/linux/patches/diskdrives/>.
  924.  
  925.   4.6.  Troubleshooting
  926.  
  927.   If you still encounter problems after following the instructions in
  928.   the HOWTO, here are some things to check. The checks are listed in
  929.   increasing order of complexity. If a check fails, solve the problem
  930.   before moving to the next stage.
  931.  
  932.   4.6.1.  Step 1: Make sure you are really running the kernel you com¡
  933.   piled
  934.  
  935.   You can check the date stamp on the kernel to see if you are running
  936.   the one that you compiled with CD-ROM support. You can do this with
  937.   the uname command:
  938.  
  939.        % uname -a
  940.        Linux fizzbin 1.1.31 #1 Wed Jul 20 16:53:35 EDT 1994 i386
  941.  
  942.   or by displaying the file /proc/version:
  943.  
  944.        % cat /proc/version
  945.        Linux version 1.2.13 (root@fizzbin) (gcc version 2.6.3) #9 Sun Aug 6 11:56:47 EDT 1995
  946.  
  947.   If the date stamp doesn't seem to match when you compiled the kernel,
  948.   then you are running an old kernel. Did you really reboot? If you use
  949.   LILO, did you re-install it (typically by running /etc/lilo/install)?
  950.   If booting from floppy, did you create a new boot floppy and use it
  951.   when booting?
  952.  
  953.   4.6.2.  Step 2: Make sure the proper kernel drivers are compiled in
  954.  
  955.   You can see what drivers are compiled in by looking at /proc/devices:
  956.  
  957.        % cat /proc/devices
  958.        Character devices:
  959.         1 mem
  960.         4 tty
  961.         5 cua
  962.         6 lp
  963.        14 sound
  964.        15 Joystick
  965.  
  966.        Block devices:
  967.         2 fd
  968.         3 hd
  969.        25 sbpcd
  970.  
  971.   First look for your CD-ROM device driver. These are all block devices,
  972.   in this case we can see that the sbpcd driver was present.
  973.  
  974.   Also make sure that ISO-9660 filesystem support was compiled in, by
  975.   looking at /proc/filesystems:
  976.  
  977.        % cat /proc/filesystems
  978.                ext2
  979.                msdos
  980.        nodev   proc
  981.                iso9660
  982.  
  983.   You can also see what i/o port addresses are being used by a driver
  984.   with the file /proc/ioports:
  985.  
  986.        howto % cat /proc/ioports
  987.         ...
  988.        0230-0233 : sbpcd
  989.         ...
  990.  
  991.   If any of the drivers you thought you compiled in are not displayed,
  992.   then something went wrong with the kernel configuration or build.
  993.   Start the installation process again, beginning with configuration and
  994.   building of the kernel.
  995.  
  996.   4.6.3.  Step 3: Did the kernel detect your drive during booting?
  997.  
  998.   Make sure that the CD-ROM device was detected when the kernel booted.
  999.   You should have seen a message on bootup. If the messages scrolled off
  1000.   the screen, you can usually recall them using the dmesg command:
  1001.        % dmesg
  1002.  
  1003.   or
  1004.  
  1005.        % tail /var/adm/messages
  1006.  
  1007.   If your drive was not found then something is wrong. Make sure it is
  1008.   powered on and all cables are connected. If your drive has hardware
  1009.   jumpers for addressing, check that they are set correctly (e.g. drive
  1010.   0 if you have only one drive). ATAPI CD-ROMS must be jumpered as
  1011.   "single" or "master", and not "slave" when only one IDE device is
  1012.   attached to an interface. If the drive works under DOS then you can be
  1013.   reasonably confident that the hardware is working.
  1014.  
  1015.   Many kernel drivers using auto-probing, but some do not, and in any
  1016.   case the probing is not always reliable. Use the kernel command line
  1017.   option listed for your kernel driver type. You may want to try several
  1018.   different values if you are not sure of the i/o address or other
  1019.   parameters. LILO can be (and usually is) configured to allow you to
  1020.   enter the parameters manually when booting.
  1021.  
  1022.   Another possibility is that you used the wrong kernel driver for your
  1023.   CD-ROM driver. Some documentation may refer to proprietary interfaces
  1024.   as IDE, leading some to mistakenly believe they are ATAPI drives.
  1025.  
  1026.   Another possibility is that your drive (or interface card) is one of
  1027.   the "compatible" type that requires initialization by the DOS driver.
  1028.   Try booting DOS and loading the vendor supplied DOS device driver.
  1029.   Then soft boot Linux using Control-Alt-Delete.
  1030.  
  1031.   If your drive is not listed in this document, it is possible that
  1032.   there are no drivers for it available under Linux. You can check with
  1033.   some of the references listed at the end of this document for
  1034.   assistance.
  1035.  
  1036.   4.6.4.  Step 4: Can you read data from the drive?
  1037.  
  1038.   Try reading from the CD-ROM drive. Typing the following command should
  1039.   cause the drive activity light (if present) to come on and no errors
  1040.   should be reported. Use whatever device file is appropriate for your
  1041.   drive and make sure a CD-ROM is inserted; use Control-C to exit.
  1042.  
  1043.        dd if=/dev/cdrom of=/dev/null bs=2048
  1044.        ^C
  1045.        124+0 records in
  1046.        124+0 records out
  1047.  
  1048.   If this works, then the kernel is communicating with the drive and you
  1049.   can move on to step 5.
  1050.  
  1051.   If not, then a possible cause is the device file. Make sure than the
  1052.   device file in the /dev directory has the correct major and minor
  1053.   numbers as listed previously for your drive type. Check that the
  1054.   permissions on the device file allow reading and writing.
  1055.  
  1056.   A remote possibility is a hardware problem. Try testing the drive
  1057.   under DOS, if possible, to determine if this could be the case.
  1058.  
  1059.   4.6.5.  Step 5: Can you mount the drive?
  1060.  
  1061.   If you can read from the drive but cannot mount it, first verify that
  1062.   you compiled in ISO-9660 file system support by reading
  1063.   /proc/filesystems, as described previously.
  1064.  
  1065.   Make sure you are mounting the drive with the "-t iso9660" and "-r"
  1066.   options and that a known good CD-ROM (not Audio CD) is inserted in the
  1067.   drive. You normally must mount drives as user root.
  1068.  
  1069.   With ATAPI CD-ROM drives you may need to mount specifying a block size
  1070.   of 2048 bytes. Add the option "-o block=2048" to the mount parameters.
  1071.  
  1072.   Make sure that the mount point exists and is an empty directory.
  1073.  
  1074.   If you are automatically mounting the CD-ROM on bootup, make sure that
  1075.   you have correct entries in the /etc/fstab file.
  1076.  
  1077.   If you are running the syslog daemon, there may be error messages from
  1078.   the kernel that you are not seeing. Try using the "dmesg" command:
  1079.  
  1080.        % dmesg
  1081.        SBPCD: sbpcd_open: no disk in drive
  1082.  
  1083.   There may also be errors logged to files in /var/adm, depending on how
  1084.   your system is configured.
  1085.  
  1086.   4.6.6.  Debugging Audio Problems
  1087.  
  1088.   If the drive works with CD-ROMS, but not for playing audio CDs, here
  1089.   are some possible solutions.
  1090.  
  1091.   You need an application program to play audio CDs. Some applications
  1092.   may be broken or may not be compatible with your drive. Try other
  1093.   applications and/or try recompiling them yourself.
  1094.  
  1095.   A few of the CD-ROM drivers do not support playing Audio CDs. Check
  1096.   the README file or source code to see if that is the case.
  1097.  
  1098.   Check if the audio can be played through the headphone jack. If so,
  1099.   then the problem is likely related to your sound card. Use a mixer
  1100.   program to set the input device and volume levels. Mask sure you have
  1101.   installed an audio cable from the CD-ROM drive to the sound card. Make
  1102.   sure that the kernel sound card driver is installed and working (see
  1103.   the Sound HOWTO).
  1104.  
  1105.   4.6.7.  When All Else Fails
  1106.  
  1107.   If you still have problems, here are some final suggestions for things
  1108.   to try:
  1109.  
  1110.   ╖  carefully re-read this HOWTO document
  1111.  
  1112.   ╖  read the references listed at the end of this document, especially
  1113.      the relevant kernel source README files
  1114.  
  1115.   ╖  post a question to one of the comp.os.linux or other usenet
  1116.      newsgroups
  1117.  
  1118.   ╖  send a question to the Linux mailing list
  1119.  
  1120.   ╖  try using the latest Linux kernel
  1121.  
  1122.   ╖  contact your computer dealer
  1123.  
  1124.   ╖  contact the CD-ROM manufacturer
  1125.  
  1126.   ╖  send mail to the author of the relevant kernel driver
  1127.  
  1128.   ╖  send mail to me
  1129.  
  1130.   ╖  fire up emacs and type Esc-x doctor
  1131.  
  1132.   5.  Applications
  1133.  
  1134.   This section briefly lists some of the key applications related to CD-
  1135.   ROM that are available under Linux. Check the Linux Software Map for
  1136.   the latest versions and archive sites.
  1137.  
  1138.   5.1.  Audio CD Players
  1139.  
  1140.   Several programs are available for playing audio CDs, either through a
  1141.   headphone jack or an attached sound card.
  1142.  
  1143.      Workman
  1144.         a graphical player running under X11 and supporting a CD
  1145.         database and many other features
  1146.  
  1147.      WorkBone
  1148.         an interactive text-mode player
  1149.  
  1150.      xcdplayer
  1151.         a simple X11 based player
  1152.  
  1153.      cdplayer
  1154.         a very simple command line based player
  1155.  
  1156.      Xmcd
  1157.         an X11/Motif based player
  1158.  
  1159.      xmitsumi
  1160.         another X11 based player for Mitsumi drives
  1161.  
  1162.      xplaycd
  1163.         another X11 based player, bundled with sound mixer and VU meter
  1164.         programs
  1165.  
  1166.      cdtool
  1167.         command line tools for playing audio CDs
  1168.  
  1169.   Some of these programs are coded to use a specific device file for the
  1170.   CD-ROM (e.g. /dev/cdrom). You may be able to pass the correct device
  1171.   name as a parameter, or you can create a symbolic link in the /dev
  1172.   directory. If sending the CD output to a sound card, you may wish to
  1173.   use a mixer program to set volume settings or select the CD-ROM input
  1174.   for recording.
  1175.  
  1176.   5.2.  Inheriting File System
  1177.  
  1178.   The Inheriting File System (IFS) is a kernel driver that allows
  1179.   mounting multiple file systems at the same point. It is similar to the
  1180.   Translucent File System provided under SunOS. By mounting a hard disk
  1181.   directory over a CD-ROM file system, you can effectively obtain a
  1182.   writable CD-ROM file system.
  1183.  
  1184.   The current version is experimental and was written for the 0.99pl11
  1185.   and pl12 kernels; it may or may not work with more recent revisions.
  1186.   The author is Werner Almesberger (almesber@bernina.ethz.ch).
  1187.  
  1188.   A similar package, called the user file system, is another possible
  1189.   method of providing similar functionality.
  1190.  
  1191.   5.3.  PhotoCD
  1192.  
  1193.   PhotoCDs use an ISO-9660 file system containing image files in a
  1194.   proprietary format. Not all CD-ROM drives support reading PhotoCDs.
  1195.  
  1196.   The hpcdtoppm program by Hadmut Danisch converts PhotoCD files to the
  1197.   portable pixmap format. It can be obtained from
  1198.   <ftp://ftp.gwdg.de/pub/linux/hpcdtoppm> or as part of the PBM
  1199.   (portable bit map) utilities, available on many archive sites (look
  1200.   for "pbm" or "netpbm").
  1201.  
  1202.   The photocd program by Gerd Knorr kraxel@cs.tu-berlin.de can convert
  1203.   PhotoCD images into Targa or Windows and OS/2 bitmap files.
  1204.  
  1205.   The same author has written the program xpcd, an X11-based program for
  1206.   handling PhotoCD images. You can select the images with a mouse,
  1207.   preview the image in a small window, and load the image with any of
  1208.   the five possible resolutions. You can also mark a part of the Image
  1209.   and load only the selected part. Look for these packages at
  1210.   <ftp://ftp.cs.tu-berlin.de/pub/linux/Local/misc/>.
  1211.  
  1212.   The ImageMagick image file manipulation program also supports PhotoCD
  1213.   files. It is available from
  1214.   <ftp://ftp.x.org/contrib/applications/ImageMagick/>.
  1215.  
  1216.   5.4.  Mkisofs
  1217.  
  1218.   Eric Youngdale's mkisofs package allows creating an ISO-9660 file
  1219.   system on a hard disk partition. This can then be used to assist in
  1220.   creating and testing CD-ROM file systems before mastering discs.
  1221.  
  1222.   The tools for actually writing data to writable CD-ROM drives tend to
  1223.   be vendor specific. They also require writing the data with no
  1224.   interruptions, so a multitasking operating system like Linux is not
  1225.   particularly well suited.
  1226.  
  1227.   5.5.  ISO-9660 Utilities
  1228.  
  1229.   These are some utilities for verifying the format of ISO-9660
  1230.   formatted discs; you may find them useful for testing suspect CDs. The
  1231.   package can be found at  <ftp://ftp.cdrom.com/pub/cdrom/ptf/>.  They
  1232.   were written by Bill Siegmund and Rich Morin.
  1233.  
  1234.   6.  Answers to Frequently Asked Questions
  1235.  
  1236.   6.1.  How can a non-root user mount and unmount discs?
  1237.  
  1238.   Some mount commands support the user option. If you make an entry such
  1239.   as the following in /etc/fstab:
  1240.  
  1241.        /dev/sbpcd  /cdrom   iso9660     user,noauto,ro
  1242.  
  1243.   then an ordinary user will be allowed to mount and unmount the drive
  1244.   using these commands:
  1245.  
  1246.        % mount /cdrom
  1247.        % umount /cdrom
  1248.  
  1249.   The disc will be mounted with some options that ensure security (e.g.
  1250.   programs cannot executed, device files are ignored); in some cases
  1251.   this may be too restrictive.
  1252.  
  1253.   Another method is to get the usermount package which allows non-root
  1254.   users to mount and unmount removable devices such as floppies and CD-
  1255.   ROMs, but restricts access to other devices (such as hard disk
  1256.   partitions). It is available on major archive sites.
  1257.  
  1258.   The archive site ftp.cdrom.com has the source file mount.c which
  1259.   allows mounting an unmounting of CD-ROMs (only) by normal users. It
  1260.   runs as a setuid executable.
  1261.  
  1262.   6.2.  Why do I get device is busy when unmounting a CD-ROM?
  1263.  
  1264.   The disc cannot be unmounted if any processes are accessing the drive,
  1265.   including having their default directory set to the mounted
  1266.   filesystem. If you cannot identify the processes using the disc, you
  1267.   can use the fuser command, as shown in the following example.
  1268.  
  1269.   % umount /cdrom
  1270.   umount: /dev/sbpcd: device is busy
  1271.   % fuser -v /cdrom
  1272.   /cdrom:               USER       PID ACCESS COMMAND
  1273.                         tranter     50 ..c..  bash
  1274.  
  1275.   6.3.  How do I export a CD-ROM to other hosts over NFS?
  1276.  
  1277.   You need to add an entry to the /etc/exports file; see the exports(5)
  1278.   man page for details.
  1279.  
  1280.   6.4.  Can I boot Linux from a CD-ROM?
  1281.  
  1282.   The easiest way to boot from CD-ROM is to use a boot floppy. Several
  1283.   of the Linux CD-ROM distributions (e.g. Yggdrasil) include one, or you
  1284.   can use the boot disk(s) from one of the Linux distributions (e.g.
  1285.   Slackware) that includes the necessary CD-ROM drivers for your system.
  1286.  
  1287.   In the future it may be possible to boot from ATAPI CD-ROM drives
  1288.   which have the appropriate ROM BIOS functions.
  1289.  
  1290.   6.5.  How can I read digital data from audio CDs?
  1291.  
  1292.   Heiko Eissfeldt (heiko@colossus.escape.de) and Olaf Kindel have
  1293.   written a utility that reads audio data and saves it as .wav format
  1294.   sound files. The package is called cdda2wav.tar.gz and can be found on
  1295.   sunsite.unc.edu.
  1296.  
  1297.   Because CD-ROM drives are changing very quickly, it is difficult to
  1298.   list which models support reading digital data. You best bet is to get
  1299.   the latest cdda2wav package and read the documentation.
  1300.  
  1301.   For more information on this subject, also see the alt.cd-rom FAQ
  1302.   listed in the references section.
  1303.  
  1304.   6.6.  Why doesn't the find command work properly?
  1305.  
  1306.   On ISO-9660 formatted discs without the Rock Ridge Extensions, you
  1307.   need to add the -noleaf option to the find command.
  1308.  
  1309.   The reason for this is that the number of links for each directory
  1310.   file is not easily obtainable, so it is set to 2. The default behavior
  1311.   for the find program is to look for (i_links - 2) subdirectories in
  1312.   each directory, and it then assumes that the rest are regular files.
  1313.   The -noleaf switch disables this optimization.
  1314.  
  1315.   6.7.  Is the Reveal Multimedia Effects kit CD-ROM supported?
  1316.  
  1317.   (The following was provided by Steve Horne Horne@cmod2.pfc.mit.edu.
  1318.   This only applies to certain Reveal drives; apparently newer ones are
  1319.   made by Panasonic and work fine with the sbpcd driver.)
  1320.  
  1321.   About a year ago I bought a Reveal CD/soundcard kit, and managed to
  1322.   get my particular configuration to work under Linux. I posted the
  1323.   tricks I used to make the thing work; that note got into the CD-ROM
  1324.   HOWTO. Recently I've been receiving a couple of requests a week for
  1325.   help on making Reveal kits work under Linux.
  1326.  
  1327.   I'm no expert. All I did was hammer away at Reveal Tech Support until
  1328.   they gave me the address of the appropriate port, then added the two
  1329.   SOUND-FX lines to the cdu31a driver.  I don't know how to help most of
  1330.   the people who e-mail me.  This is the note I plan to send them. It
  1331.   would be a good idea for you to condense it to the appropriate level
  1332.   for the HOWTO. In particular, I don't want anyone to get the
  1333.   impression that this is a good card to buy for a linux system.  It's
  1334.   not.
  1335.  
  1336.   REVEAL cards -  under Linux
  1337.  
  1338.   Summary:
  1339.  
  1340.   ╖  Don't buy one.
  1341.  
  1342.   ╖  If you already have one, and have a Sony drive, you can make the CD
  1343.      work.
  1344.  
  1345.   ╖  If you don't have a Sony drive, you can probably make the drive
  1346.      work, but I'm not certain, since I don't have that hardware.
  1347.  
  1348.   ╖  Sound support is poor. If Aztech would release programming
  1349.      information, there would be some hope.
  1350.  
  1351.   Fine print:
  1352.  
  1353.   If your kit has a Sony, the cdu31a driver will work for you.  You need
  1354.   a kernel with cdu31a support compiled in. The following is from the
  1355.   comments in the cdu31a source code:
  1356.  
  1357.         * WARNING -    All autoprobes have been removed from the driver.
  1358.         *              You MUST configure the CDU31A via a LILO config
  1359.         *              at boot time or in lilo.conf.  I have the
  1360.         *              following in my lilo.conf:
  1361.         *
  1362.         *                append="cdu31a=0x1f88,0,PAS"
  1363.         *
  1364.         *              The first number is the I/O base address of the
  1365.         *              card.  The second is the interrupt (0 means none).
  1366.         *              The third should be "PAS" if on a Pro-Audio
  1367.         *              spectrum, or nothing if on something else.
  1368.  
  1369.   I expect the appropriate line for a Reveal card to be
  1370.  
  1371.        append="cdu31a=0x654,0"
  1372.  
  1373.   Since I don't consistently use LILO, I have just put the autoprobing
  1374.   back in by deleting the conditional stuff, and put my address first.
  1375.   (The file is  </usr/src/linux/drivers/block/cdu31a.c>; search for the
  1376.   string "cdu31a_addresses" to find the spot.)
  1377.  
  1378.   THIS WILL NOT WORK IF YOUR KIT DOESN'T HAVE A SONY DRIVE!  (I don't
  1379.   know that for sure, but I'd be very surprised if it did.)
  1380.  
  1381.   By analogy to the Sony case, I expect that if you have a Panasonic or
  1382.   Mitsumi drive, you need to obtain from Reveal Tech Support the base
  1383.   register for your CD-ROM type, then use the appropriate driver. (I
  1384.   don't know if the sbpcd driver will work; it might. No matter what,
  1385.   you need those addresses.)  I don't know if the "append=..." will work
  1386.   with the other drivers.
  1387.  
  1388.   You can't patch the driver or lilo.conf until you have some sort of
  1389.   system up.  If you are starting from scratch (DOS only, no Linux) here
  1390.   are a few things to try --
  1391.  
  1392.   1. Copy the installation files to a DOS partition and install from
  1393.      there.  This is foolproof but will require up to 90 MB of space in
  1394.      your DOS partition.  Once the system is up you can use the above
  1395.      tricks.  It's possible to bootstrap yourself up by installing only
  1396.      the A, AP, and D series (if you are using Slackware) plus a kernel
  1397.      source tree (Q ?).  This will give you the tools to patch and build
  1398.      a kernel.
  1399.  
  1400.   2. If you either have a Sony CD or are otherwise confident, have a
  1401.      friend make you a patched kernel -- (autoprobes on, your address
  1402.      first.)  Rdev it in the usual way:
  1403.  
  1404.        rdev  /dev/fd0 /dev/fd0                 ; root=floppy
  1405.        rdev -r /dev/fd0 1440                   ; ramdisk
  1406.        rdev -t /dev/fd0 -3                     ; prompt for screen mode
  1407.  
  1408.   Then use it to boot the installation root-disk. Make a mount point for
  1409.   the CD that won't interfere with the installation procedure:
  1410.  
  1411.        # mkdir /cd
  1412.        # mount -r -t iso9660 /dev/fd0 /cd
  1413.  
  1414.   Then use the "install from mounted directory" option. Of course, the
  1415.   kernels in the distribution won't work for you; copy your custom ker¡
  1416.   nel instead.
  1417.  
  1418.   3. It's just barely possible (I haven't checked) that the new LOADLIN
  1419.      routine, which boots Linux from DOS, might save you. I believe it's
  1420.      possible to use it like LILO to pass data to the kernel, so it
  1421.      might work to boot DOS, then boot Linux, passing the hardware
  1422.      addresses to the driver via LOADLIN. I've never tried this.
  1423.  
  1424.   Sound support:
  1425.  
  1426.   This card (isc-400) isn't well supported by Linux, which is a shame
  1427.   because it seems to be a nice piece of hardware. The card will produce
  1428.   output in the 8-bit SB mode. I haven't made the mixer work, so
  1429.   recording doesn't work properly either. The MSS mode doesn't have an
  1430.   IRQ; I don't know how to tell the driver that, so that doesn't work. I
  1431.   haven't seen the AdLib compatibility work.
  1432.  
  1433.   I have tried, and at least one other person has tried, to obtain
  1434.   programming information for the native mode(s) of the card. After many
  1435.   hours on the phone I was referred to Singapore. I passed at that
  1436.   point. When I get serious about sound again, I'll buy a genuine
  1437.   SoundBlaster card.
  1438.  
  1439.   6.8.  Does Linux support any recordable CD-ROM drives?
  1440.  
  1441.   According to Adam J. Richter, adam@yggdrasil.com:
  1442.  
  1443.   The Yggdrasil distribution can drive a Philips CD writer with an
  1444.   Adaptec 154x SCSI controller. I'm not sure which other SCSI
  1445.   controllers, if any, will work. You can use mkisofs to make an
  1446.   ISO-9660 filesystem and cdwrite to write it to the CD. If you want us
  1447.   to help you set this up, you can call us on our 900 technical support
  1448.   number: 1-900-446-6075 extension 835 (US$2.95/minute, U.S. only).
  1449.  
  1450.   George Moody, george@hstbme.mit.edu reports:
  1451.  
  1452.   I use `mkisofs' (from tsx-11.mit.edu and other standard sources) and
  1453.   `cdwrite' (from ftp.yggdrasil.com) to write CDs using the following
  1454.   configuration:
  1455.  
  1456.   ╖  Philips CDD522 CD recorder
  1457.  
  1458.   ╖  Seagate ST15150N hard disk (4.1 GB `Barracuda' drive, not an AV
  1459.      drive)
  1460.  
  1461.   ╖  NCR B355 PCI SCSI controller (uses 53C810, praised as cheap and
  1462.      fast in the PCI-HOWTO)
  1463.  
  1464.   The hard disk and the CD recorder are on the same SCSI bus.  My system
  1465.   is a 100 MHz Pentium running Linux 1.2.12.  I'm using the standard NCR
  1466.   PCI-SCSI driver, not one of the new alpha versions that are said to
  1467.   support disconnect/ reconnect.  I've been able to make CDs at 2x speed
  1468.   from image files in both ext2fs and MSDOS file systems (I haven't
  1469.   tried copying from a raw disk device, since I don't have a partition
  1470.   to spare).  The only problem is that occasionally the system gets
  1471.   wedged *after* `fixating' the CD; when this happens, I reboot the
  1472.   system and everything's OK, including the CD I've just written.  I run
  1473.   `cdwrite' as root, sometimes while running X11 and a few low-load X11
  1474.   clients, but I try not to do anything else with the system while
  1475.   writing a CD.
  1476.  
  1477.   Also see the Linux CD-Writer mini-HOWTO document, found at
  1478.   <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/CD-Writer> or
  1479.   <http://sunsite.unc.edu/mdw/HOWTO/CD-Writer.html>.
  1480.  
  1481.   6.9.  Why do I get mount: Read-only file system when mounting a CD-
  1482.   ROM?
  1483.  
  1484.   CD-ROM is a read-only media. With older kernels you could mount a CD-
  1485.   ROM for read/write; attempts to write data to the CD would not
  1486.   generate any errors. As of kernel version 1.1.33 this was corrected so
  1487.   that CD-ROMs must be mounted read only (e.g. using the -r option to
  1488.   mount).
  1489.  
  1490.   6.10.  Why does the disc tray open when I shut down the system?
  1491.  
  1492.   As of the 1.1.38 kernel, the sbpcd driver ejects the CD when it is
  1493.   unmounted. If you shut down the system, a mounted CD will be
  1494.   unmounted, causing it to eject.
  1495.  
  1496.   This feature is for convenience when changing discs. If the tray is
  1497.   open when you mount or read a CD, it will also automatically be
  1498.   closed.
  1499.  
  1500.   I found that this caused problems with a few programs (e.g. cdplay and
  1501.   workbone). As of the 1.1.60 kernel you can control this feature under
  1502.   software control. A sample program is included in the README.sbpcd
  1503.   file (or use the eject program).
  1504.  
  1505.   6.11.  I have a "special" CD that can't be mounted
  1506.  
  1507.   The "special" CD is likely an XA disc (like all Photo CDs or "one-
  1508.   offs" created using CD-R drives). Most of the Linux kernel CD-ROM
  1509.   drivers do not support XA discs, although you may be able to find a
  1510.   patch to add support on one of the archive sites.
  1511.  
  1512.   The sbpcd driver does support XA. If you are using this driver you can
  1513.   determine if the disc is XA using the following procedure: go into the
  1514.   file sbpcd.c and enable the display of the "Table of Contents"
  1515.   (DBG_TOC). Build and install the new kernel and boot from it. During
  1516.   each mount the TOC info will be written (either to the console or to a
  1517.   log file). If the first displayed value in the TOC header line is
  1518.   "20", then it is an XA disc. That byte is "00" with normal disks. If
  1519.   the TOC display shows different tracks, that is also a sign that it is
  1520.   an XA disc.
  1521.  
  1522.   (thanks to Eberhard Moenkeberg for the above information)
  1523.  
  1524.   Other possibilities for unreadable CDs are:
  1525.  
  1526.   1. The disc doesn't use an ISO-9660 file system (e.g. some use SunOS)
  1527.  
  1528.   2. It is an audio CD
  1529.  
  1530.   3. The CD is damaged or defective
  1531.  
  1532.   4. You put it in the drive upside down :-)
  1533.  
  1534.   6.12.  Why does the drive light flash on my CDU-33 drive?
  1535.  
  1536.   This is normal and was added in a recent revision of the driver. It
  1537.   flashes the drive light when a CD is mounted (it's not a bug, it's a
  1538.   feature...).
  1539.  
  1540.   6.13.  Do multi-platter CD-ROM drives work with Linux?
  1541.  
  1542.   Several users have reported success with multi-disc CD-ROM changers.
  1543.   All of the drives I have come across use SCSI interfaces.
  1544.  
  1545.   You probably need to enable the "Probe all LUNs on each SCSI device"
  1546.   kernel configuration option. At least one user also had to increase a
  1547.   SCSI timeout value in the kernel driver.
  1548.   The Nakamichi MBR-7 7 disc changer and Pioneer 12 disc changer have
  1549.   been reported to work.
  1550.  
  1551.   EIDE/ATAPI multi-disc changers are also available. They aren't yet
  1552.   supported by the Linux kernel. If you are interested in helping to add
  1553.   support, contact B. Galliart (bgallia@luc.edu).
  1554.  
  1555.   6.14.  I get "/cdrom: Permission denied" errors
  1556.  
  1557.   Some CDs have file permissions that only allow user root to read them.
  1558.   The March 1995 InfoMagic CD set is one example.
  1559.  
  1560.   The following patch, courtesy of Christoph Lameter
  1561.   (clameter@waterf.org) patches the kernel to get around this problem.
  1562.  
  1563.   From: clameter@waterf.org (Christoph Lameter)
  1564.   Newsgroups: comp.os.linux.setup
  1565.   Subject: Infomagic Developers Set: Fix for CD-Rom permissions
  1566.   Date: 12 Apr 1995 20:32:03 -0700
  1567.   Organization: The Water Fountain - Mining for streams of Living Water
  1568.   NNTP-Posting-Host: waterf.org
  1569.   X-Newsreader: TIN [version 1.2 PL2]
  1570.  
  1571.   The March 1995 Edition of the Infomagic Developers CD-ROM Set has
  1572.   problems because the information stored in the root directory
  1573.   permissions is causing the following problems with using the CDs
  1574.  
  1575.   1. Disc1 will always have the owner/group of 5101/51 and has write
  1576.   access allowed (?)
  1577.  
  1578.   2. Disc2 and 3 have rwx set for root and no rights at all for any
  1579.   other group/user. These discs cannot be accessed from any user other
  1580.   than root! I run a BBS and I need to make them accessible for download
  1581.   by others.
  1582.  
  1583.   I have seen several fixes to this problem already floating
  1584.   around. Trouble is that these fixes usually change the rights for ALL
  1585.   directories on the CD. This fix here changes ONLY the rights for the
  1586.   root directory of the CD-Rom. If you want to run parts of Linux
  1587.   directly off the CD you might run into trouble if all directories are
  1588.   readable for everyone and if they are all owned by root.
  1589.  
  1590.   This fix will set the rights for the root directory to r-xr-xr-x and
  1591.   the owner/group to the values indicated in the uid and gid options to
  1592.   the mount command.
  1593.  
  1594.   To apply:
  1595.    cd /usr/src/linux/fs/isofs
  1596.    patch <**THIS MESSAGE**
  1597.  
  1598.   and recompile kernel (you may have to fix up the patch by hand
  1599.   depending on your kernel version).
  1600.  
  1601.   This fix should probably be incorporated into the kernel. What business
  1602.   does data on a CD have to mess around with the permissions/owners of the
  1603.   mount-point anyways?
  1604.  
  1605.   --- inode.c.ORIG        Wed Apr 12 17:24:36 1995
  1606.   +++ inode.c     Wed Apr 12 17:59:12 1995
  1607.   @@ -552,7 +552,15 @@
  1608.       these numbers in the inode structure. */
  1609.  
  1610.           if (!high_sierra)
  1611.   -         parse_rock_ridge_inode(raw_inode, inode);
  1612.   +       {  parse_rock_ridge_inode(raw_inode, inode);
  1613.   +           /* check for access to the root directory rights/owner CL */
  1614.   +          if((inode->i_sb->u.isofs_sb.s_firstdatazone) == inode->i_ino)
  1615.   +           { /* Change owner/rights to the ones demanded by the mount command */
  1616.   +             inode->i_uid = inode->i_sb->u.isofs_sb.s_uid;
  1617.   +             inode->i_gid = inode->i_sb->u.isofs_sb.s_gid;
  1618.   +            inode->i_mode = S_IRUGO | S_IXUGO | S_IFDIR;
  1619.   +           }
  1620.   +        }
  1621.  
  1622.    #ifdef DEBUG
  1623.           printk("Inode: %x extent: %x\n",inode->i_ino, inode->u.isofs_i.i_first_extent);
  1624.   @@ -805,4 +813,3 @@
  1625.    }
  1626.  
  1627.    #endif
  1628.   -
  1629.   6.15.  How do you pronounce "Matsushita" ?
  1630.  
  1631.   I'm told that the correct pronunciation it something like MAT-SOOSH-
  1632.   TA.
  1633.  
  1634.   6.16.  How do I interpret IDE CD kernel error messages?
  1635.  
  1636.   What does it mean when I get a kernel message from the IDE CD-ROM
  1637.   driver like "hdxx: code: xx key: x asc: xx ascq: x"?
  1638.  
  1639.   This is an status/error message from the IDE CD-ROM drive. By default
  1640.   the IDECD driver prints out the raw information instead of wasting
  1641.   kernel space with error messages.  You can change the default to
  1642.   display the actual error messages by going into
  1643.   </usr/src/linux/drivers/block/ide-cd.c> and changing the value of
  1644.   VERBOSE_IDE_CD_ERRORS to 1.
  1645.  
  1646.   6.17.  Does Linux support Plug and Play devices?
  1647.  
  1648.   Linux does not yet fully support Plug and Play devices, but it is
  1649.   being worked on. In the mean time some users have reported success by
  1650.   either disabling the Plug and Play options in their BIOS, or by
  1651.   initializing the devices under Windows 95 before soft booting Linux.
  1652.  
  1653.   6.18.  How can I tell what speed CD-ROM I have?
  1654.  
  1655.   Here's one way. This command measures how long is takes to read 1500K
  1656.   of data from CD:
  1657.  
  1658.        % time -p dd if=/dev/cdrom of=/dev/null bs=1k count=1500
  1659.        1500+0 records in
  1660.        1500+0 records out
  1661.        real 5.24
  1662.        user 0.03
  1663.        sys 5.07
  1664.  
  1665.   The transfer rate of single speed drives is 150 kilobytes per second,
  1666.   which should take about 10 seconds. At double speed it would take five
  1667.   seconds, quad speed would take 2.5, etc...
  1668.  
  1669.   The "sys" time above is probably the best number to look at -- in this
  1670.   case it indicates a double speed drive. You can increase the amount of
  1671.   data transferred to get a more accurate value (in case you were
  1672.   wondering, the data does not get cached).
  1673.  
  1674.   7.  References
  1675.  
  1676.   I have already mentioned the README files, typically installed in
  1677.   </usr/src/linux/drivers/block/> or
  1678.   </usr/src/linux/Documentation/cdrom/>. These can be a gold mine of
  1679.   useful information.
  1680.  
  1681.   The following usenet FAQs are posted periodically to news.answers and
  1682.   archived at internet FTP sites such as  <ftp://rtfm.mit.edu/>:
  1683.  
  1684.   ╖  alt.cd-rom FAQ
  1685.  
  1686.   ╖  comp.periphs.scsi FAQ
  1687.  
  1688.   ╖  Enhanced IDE/Fast-ATA/ATA-2 FAQ
  1689.  
  1690.   Several other Linux HOWTOs have useful information relevant to CD-ROM:
  1691.  
  1692.   ╖  SCSI HOWTO <http://sunsite.unc.edu/mdw/HOWTO/SCSI-HOWTO.html>
  1693.  
  1694.   ╖  Hardware Compatibility HOWTO
  1695.      <http://sunsite.unc.edu/mdw/HOWTO/Hardware-HOWTO.html>
  1696.  
  1697.   ╖  Sound HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Sound-HOWTO.html>
  1698.  
  1699.   ╖  Kernel HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html>
  1700.  
  1701.   ╖  Distribution HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Distribution-
  1702.      HOWTO.html>
  1703.  
  1704.   At least 10 companies sell Linux distributions on CD-ROM; most of them
  1705.   are listed in the Distribution HOWTO.
  1706.  
  1707.   The following Usenet news groups cover CD-ROM related topics:
  1708.  
  1709.   ╖  comp.publish.cdrom.hardware
  1710.  
  1711.   ╖  comp.publish.cdrom.multimedia
  1712.  
  1713.   ╖  comp.publish.cdrom.software
  1714.  
  1715.   ╖  comp.sys.ibm.pc.hardware.cd-rom
  1716.  
  1717.   ╖  alt.cd-rom
  1718.  
  1719.   ╖  alt.cd-rom.reviews
  1720.  
  1721.   The comp.os.linux newsgroups are also good sources of Linux specific
  1722.   information.
  1723.  
  1724.   There is a large archive of CD-ROM information and software at
  1725.   <ftp://ftp.cdrom.com/pub/cdrom/>.
  1726.  
  1727.   A FAQ document on IDE and ATA devices can be found at
  1728.   <ftp://rtfm.mit.edu/pub/usenet/news.answers/pc-hardware-faq/enhanced-
  1729.   IDE/> and at  <http://www.seagate.com/techsuppt/faq/faqlist.html>.
  1730.  
  1731.   Western Digital, the company that started the IDE protocol, has
  1732.   information available on the IDE protocol available on their FTP site
  1733.   at  <ftp://fission.dt.wdc.com/pub/standards/atapi>.
  1734.  
  1735.   A Web site dedicated to multimedia can be found at
  1736.   <http://viswiz.gmd.de/MultimediaInfo/>. Creative Labs has a Web site
  1737.   at  <http://www.creaf.com/>.
  1738.  
  1739.   The Linux Documentation Project has produced several books on Linux,
  1740.   including Linux Installation and Getting Started. These are freely
  1741.   available by anonymous FTP from major Linux archive sites or can be
  1742.   purchased in hardcopy format.
  1743.  
  1744.   The Linux Software Map (LSM) is an invaluable reference for locating
  1745.   Linux software. The LSM can be found on various anonymous FTP sites,
  1746.   including  <ftp://sunsite.unc.edu/pub/Linux/docs/LSM.gz/>.
  1747.  
  1748.   The Linux mailing list has a number of "channels" dedicated to
  1749.   different topics. To find out how to join, send a mail message with
  1750.   the word "help" as the message body to majordomo@vger.rutgers.edu
  1751.   (Note: at time of writing these mailing lists were being shut down but
  1752.   a replacement had not been named).
  1753.  
  1754.