Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CD(9)                  FreeBSD Kernel Developer's Manual                 CD(9)

     cd -- CDROM driver for the CAM SCSI subsystem

     The cd device driver provides a read only interface for CDROM drives
     (SCSI type 5) and WORM drives (SCSI type 4) that support CDROM type com-
     mands.  Some drives do not behave as the driver expects.  See the QUIRKS
     section for information on possible flags.

     Each CD-ROM device can have different interpretations of the SCSI spec.
     This can lead to drives requiring special handling in the driver.  The
     following is a list of quirks that the driver recognize.

     CD_Q_NO_TOUCH    This flag tell the driver not to probe the drive at
                      attach time to see if there is a disk in the drive and
                      find out what size it is.  This flag is currently unim-
                      plemented in the CAM cd driver.

     CD_Q_BCD_TRACKS  This flag is for broken drives that return the track
                      numbers in packed BCD instead of straight decimal.  If
                      the drive seems to skip tracks (tracks 10-15 are
                      skipped) then you have a drive that is in need of this

     CD_Q_NO_CHANGER  This flag tells the driver that the device in question
                      is not a changer.  This is only necessary for a CDROM
                      device with multiple luns that are not a part of a

     CD_Q_CHANGER     This flag tells the driver that the given device is a
                      multi-lun changer.  In general, the driver will figure
                      this out automatically when it sees a LUN greater than
                      0.  Setting this flag only has the effect of telling the
                      driver to run the initial read capacity command for LUN
                      0 of the changer through the changer scheduling code.

                      This flag tells the driver that the given device only
                      accepts 10 byte MODE SENSE/MODE SELECT commands.  In
                      general these types of quirks should not be added to the
                      cd(4) driver.  The reason is that the driver does sev-
                      eral things to attempt to determine whether the drive in
                      question needs 10 byte commands.  First, it issues a CAM
                      Path Inquiry command to determine whether the protocol
                      that the drive speaks typically only allows 10 byte com-
                      mands.  (ATAPI and USB are two prominent examples of
                      protocols where you generally only want to send 10 byte
                      commands.)  Then, if it gets an ILLEGAL REQUEST error
                      back from a 6 byte MODE SENSE or MODE SELECT command, it
                      attempts to send the 10 byte version of the command
                      instead.  The only reason you would need a quirk is if
                      your drive uses a protocol (e.g., SCSI) that typically
                      does not have a problem with 6 byte commands.

     /sys/cam/scsi/scsi_cd.c  is the driver source file.

     cd(4), scsi(4)

     The cd manual page first appeared in FreeBSD 2.2.

     This manual page was written by John-Mark Gurney <>.  It
     was updated for CAM and FreeBSD 3.0 by Kenneth Merry <>.

FreeBSD 6.2                    September 2, 2003                   FreeBSD 6.2


Want to link to this manual page? Use this URL:

home | help