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

FreeBSD Manual Pages


home | help
CD(9)			 BSD 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	tells the driver not to	probe the drive	at at-
		      tach 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 in-
		      stead.  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 <>.

BSD				March 25, 2014				   BSD


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

home | help