Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

RedHat 9 (Linux i386) - man page for cdrecord (redhat section 1)

CDRECORD(1)			      Schily's USER COMMANDS			      CDRECORD(1)

       cdrecord - record audio or data Compact Discs from a master

       cdrecord [ general options ] dev=device [ track options ] track1...trackn

       Cdrecord is used to record data or audio Compact Discs on an Orange Book CD-Recorder.

       The device refers to scsibus/target/lun of the CD-Recorder. Communication on SunOS is done
       with the SCSI general driver scg.  Other operating systems are using a library  simulation
       of  this  driver.  Possible syntax is: dev= scsibus,target,lun or dev= target,lun.  In the
       latter case, the CD-Recorder has to be connected to the default SCSI bus of  the  machine.
       Scsibus,  target  and  lun  are integer numbers.  Some operating systems or SCSI transport
       implementations may require to specify a filename in addition.  In this case  the  correct
       syntax  for  the  device  is:  dev=  devicename:scsibus,target,lun or dev= devicename:tar-
       get,lun.  If the name of the device node that has been specified on such a  system  refers
       to  exactly  one  SCSI  device,	a shorthand in the form dev= devicename:@ or dev= device-
       name:@,lun may be used instead of dev= devicename:scsibus,target,lun.

       To access remote SCSI devices, you need to prepend the SCSI device name by a remote device
       indicator. The remote device indicator is either REMOTE:user@host: or  REMOTE:host:
       A  valid  remote SCSI device name may be: REMOTE:user@host: to allow remote SCSI bus scan-
       ning or REMOTE:user@host:1,0,0 to access the SCSI device at host connected to SCSI  bus	#
       1,target 0 lun 0.

       To access SCSI devices via alternate transport layers, you need to prepend the SCSI device
       name by a transport layer indicator.  The transport layer indicator may be something  like
       USCSI: or ATAPI:.  To get a list of supported transport layers for your platform, use dev=

       To make cdrecord portable to all UNIX platforms, the syntax  dev=  devicename:scsibus,tar-
       get,lun	is  preferred as is hides OS specific knowledge about device names from the user.
       A specific OS must not necessarily support a way to specify a real device file name nor	a
       way to specify scsibus,target,lun.

       Scsibus	0 is the default SCSI bus on the machine. Watch the boot messages for more infor-
       mation or look into /var/adm/messages for more information about the SCSI configuration of
       your  machine.	If  you  have  problems  to figure out what values for scsibus,target,lun
       should be used, try the -scanbus option of cdrecord described below.

       If a file /etc/cdrecord.conf exists, the parameter to the dev= option may also be a  drive
       name label in said file (see FILES section).

       On SVr4 compliant systems, cdrecord uses the the real time class to get the highest sched-
       uling priority that is possible (higher than all kernel processes).  On systems with POSIX
       real time scheduling cdrecord uses real time scheduling too, but may not be able to gain a
       priority that is higher than all kernel processes.

       In Track At Once mode, each track corresponds to a single file that contains the  prepared
       data for that track.  If the argument is `-', standard input is used for that track.  Only
       one track may be taken from stdin.

       General options must be before any track file name or track option.

	      Print version information and exit.

       -v     Increment the level of general verbosity by one.	This is used e.g. to display  the
	      progress of the writing process.

       -V     Increment  the  verbose  level  in  respect of SCSI command transport by one.  This
	      helps to debug problems during the writing process, that occur in the  CD-Recorder.
	      If  you  get  incomprehensible  error messages you should use this flag to get more
	      detailed output.	-VV will show data buffer content in addition.	Using -V  or  -VV
	      slows down the process and may be the reason for a buffer underrun.

       debug=#, -d
	      Set  the	misc debug value to # (with debug=#) or increment the misc debug level by
	      one (with -d). If you specify -dd, this equals to debug=2.  This may help  to  find
	      problems	while opening a driver for libscg as well as with sector sizes and sector
	      types.  Using -debug slows down the process and may be  the  reason  for	a  buffer

       kdebug=#, kd=#
	      Tell  the  scg-driver to modify the kernel debug value while SCSI commands are run-

       -silent, -s
	      Do not print out a status report for failed SCSI commands.

       -force Force to continue on some errors. Be careful  when  using  this  option.	 Cdrecord
	      implements several checks that prevent you from doing unwanted things like damaging
	      CD-RW media by improper drives. Many of the sanity checks  are  disabled	when  the
	      -force option is used.

	      This  option  also  implements  some  tricks that will allow you to blank bad CD-RW

       -immed Tell   cdrecord	to   set   the	 SCSI	IMMED	flag	in    certain	 commands
	      (load/eject/blank/close_track/close_session).  This can be useful on broken systems
	      with ATAPI harddisk and CD/DVD writer on the same bus or	with  SCSI  systems  that
	      don't use disconnect/reconnect.  These systems will freeze while blanking or fixat-
	      ing a CD/DVD or while a DVD writer is filling up a session to  the  minimum  amount
	      (approx. 800 MB).  Setting the -immed flag will request the command to return imme-
	      diately while the operation proceeds in background, making the bus usable  for  the
	      other  devices  and  avoiding  the  system freeze.  This is an experimental feature
	      which may work or not, depending on the model of	the  CD/DVD  writer.   A  correct
	      solution would be to set up a correct cabling but there seem to be notebooks around
	      that have been set up the wrong way by the manufacturer.	As it  is  impossible  to
	      fix this problem in notebooks, the -immed option has been added.

	      A second experimental feature of the -immed flag is to tell cdrecord to try to wait
	      short times wile writing to the media. This is expected to free the IDE bus if  the
	      CD/DVD  writer  and  the	data  source are connected to the same IDE cable. In this
	      case, the CD/DVD writer would otherwise usually block the IDE bus  for  nearly  all
	      the time making it impossible to fetch data from the source drive. See also minbuf=
	      and -v option.

	      Use both features at your own risk.  It it turns out that it would  make	sense  to
	      have  a  separate option for the the wait feature, write to the author and convince

	      The # minbuf= options allows to define the minimum drive buffer fill ratio for  the
	      experimental  ATAPI  wait  mode  that is intended to free the IDE bus to allow hard
	      disk and CD/DVD writer to be on the same IDE cable.  As  the  wait  mode	currently
	      only works when the verbose option -v has been specified, cdrecord implies the ver-
	      bose option in case the -immed or minbuf= option have been specified.  Valid values
	      for minbuf= are between 25 and 95 for 25%...95% minimum drive buffer fill ratio.

       -dummy The  CD-Recorder	will go through all steps of the recording process, but the laser
	      is turned off during this procedure.  It is recommended to run several tests before
	      actually	writing  to  a	Compact Disk or Digital Versatile Disk, if the timing and
	      load response of the system is not known.

       -dao   Set SAO (Session At Once) mode which is usually called Disk  At  Once  mode.   This
	      currently only works with MMC drives that support Session At Once mode.

       -raw   Set RAW writing mode.  Using this option defaults to -raw96r.

	      Select  Set  RAW	writing mode with 2352 byte sectors plus 96 bytes of raw P-W sub-
	      channel data resulting in a sector size of 2448 bytes.  This is the  preferred  raw
	      writing mode as it gives best control over the CD writing process.  If you find any
	      problems with the layout of a disk or with sub channel content (e.g. wrong times on
	      the  display  when  playing  the CD) and your drive supports to write in -raw96r or
	      -raw16 mode, you should give it a try.  There  are  several  CD  writers	with  bad
	      firmware that result in broken disks when writing in TAO or SAO mode.  Writing data
	      disks in raw mode needs significantly more CPU time than other write modes. If your
	      CPU is too slow, this may result in buffer underruns.

	      Select Set RAW writing mode with 2352 byte sectors plus 96 bytes of packed P-W sub-
	      channel data resulting in a sector size of 2448 bytes.  This is the less	preferred
	      raw  writing  mode  as  only a few recorders support it and some of these recorders
	      have bugs in the firmware implementation.  Don't use this  mode  if  your  recorder
	      supports	-raw96r  or  -raw16.   Writing data disks in raw mode needs significantly
	      more CPU time than other write modes. If your CPU is too slow, this may  result  in
	      buffer underruns.

       -raw16 Select  Set  RAW writing mode with 2352 byte sectors plus 6 bytes of P-Q subchannel
	      data resulting in a sector size of 2368 bytes.  If  a  recorder  does  not  support
	      -raw96r,	this  is  the preferred raw writing mode.  It does not allow to write CD-
	      Text or CD+Graphics but it is the only raw writing mode in cheap	CD  writers.   As
	      these cheap writers in most cases do not support -dao mode.  Don't use this mode if
	      your recorder supports -raw96r.  Writing data disks in raw mode needs significantly
	      more  CPU  time than other write modes. If your CPU is too slow, this may result in
	      buffer underruns.

       -multi Allow multi session CD's to be made. This flag needs to be present on all  sessions
	      of  a multi session disk, except you want to create a session that will be the last
	      session on the media.  The fixation will be done in  a  way  that  allows  the  CD-
	      Recorder to append additional sessions later. This is done by generation a TOC with
	      a link to the next program area. The so generated media is not 100%  compatible  to
	      manufactured  CD's  (except  for	CDplus).  Use only for recording of multi session
	      CD's.  If this option is present, the default track type is CD-ROM XA mode 2.   The
	      Sony drives have no hardware support for CD-ROM XA mode 2.  You have to specify the
	      -data option in order to create multi session disks on these drives.   As  long  as
	      cdrecord	does  not  have a coder for converting data sectors to audio sectors, you
	      need to force CD-ROM sectors by including the -data option if you like to record	a
	      multisession disk in SAO mode.  Not all drives allow multisession CD's in SAO mode.

	      Retrieve multi session info in a form suitable for mkisofs-1.10 or later.

	      This  option  makes  only sense with a CD that contains at least one closed session
	      and is appendable (not finally closed yet).  Some drives create error  messages  if
	      you  try	to  get  the  multi session info for a disk that is not suitable for this

       -toc   Retrieve and print out the table of content or PMA of  a	CD.   With  this  option,
	      cdrecord will work with CD-R drives and with CD-ROM drives.

       -atip  Retrieve	and  print  out  the  ATIP  (absolute Time in Pregroove) info of a CD/DVD
	      recordable or CD/DVD rewritable media.  With this  option,  cdrecord  will  try  to
	      retrieve the ATIP info. If the actual drive does not support to read the ATIP info,
	      it may be that only a reduced set of information records or even	nothing  is  dis-
	      played.  Only  a	limited  number  of MMC compliant drives support to read the ATIP

	      If cdrecord is able to retrieve the lead-in start time for the  first  session,  it
	      will  try  to decode and print the manufacturer info from the media.  DVD media dos
	      not have atip information but there is equivalent prerecorded information  that  is
	      read out and printed.

       -fix   The  disk  will only be fixated (i.e. a TOC for a CD-Reader will be written).  This
	      may be used, if for some reason the disk has been written  but  not  fixated.  This
	      option currently does not work with old TEAC drives (CD-R50S and CD-R55S).

       -nofix Do  not  fixate  the  disk  after writing the tracks. This may be used to create an
	      audio disk in steps. An un-fixated disk can usually not be used on a non	CD-writer
	      type drive but there are audio CD players that will be able to play such a disk.

       -waiti Wait for input to become available on standard input before trying to open the SCSI
	      driver. This allows cdrecord to read it's input from a pipe even when writing addi-
	      tional  sessions	to a multi session disk.  When writing another session to a multi
	      session disk, mkisofs needs to read the old session from the device before  writing
	      output.  This cannot be done if cdrecord opens the SCSI driver at the same time.

       -load  Load the media and exit. This only works with a tray loading mechanism but seems to
	      be useful when using the Kodak disk transporter.

       -eject Eject disk after doing the work.	Some Devices (e.g. Philips)  need  to  eject  the
	      medium  before  creating a new disk. Doing a -dummy test and immediately creating a
	      real disk would not work on these devices.

	      Set the speed factor of the writing process to #.  # is an integer, representing	a
	      multiple	of the audio speed.  This is about 150 KB/s for CD-ROM and about 172 KB/s
	      for CD-Audio.  If no speed option is present, cdrecord will try to  get  the  speed
	      value  from  the CDR_SPEED environment.  If your drive has problems with speed=2 or
	      speed=4, you should try speed=0.

	      Blank a CD-RW and exit or blank a CD-RW before writing. The blanking  type  may  be
	      one of:

	      help	  Display a list of possible blanking types.

	      all	  Blank the entire disk. This may take a long time.

	      fast	  Minimally  blank the disk. This results in erasing the PMA, the TOC and
			  the pregap.

	      track	  Blank a track.

	      unreserve   Unreserve a reserved track.

	      trtail	  Blank the tail of a track.

	      unclose	  Unclose last session.

	      session	  Blank the last session.
       Not all drives support all blanking types. It may be necessary to use blank=all if a drive
       reports a specified command as being invalid.  If used together with the -force flag, this
       option may be used to blank CD-RW disks that otherwise cannot be blanked.  Note	that  you
       may  need to specify blank=all because some drives will not continue with certain types of
       bad CD-RW disks. Note also that cdecord does it's best if the -force flag is used  but  it
       finally	depends  on  the  drive's firmware whether the blanking operation will succeed or

       fs=#   Set the fifo (ring buffer) size to #.  You may use the same  method  as  in  dd(1),
	      sdd(1)  or star(1).  The number representing the size is taken in bytes unless oth-
	      erwise specified.  If a number is followed directly by the letter  `b',  `k',  `m',
	      `s'  of  `f', the size is multiplied by 512, 1024, 1024*1024, 2048 or 2352.  If the
	      size consists of numbers separated by `x' or `*', multiplication of the two numbers
	      is performed.  Thus fs=10x63k will specify a fifo size of 630 kBytes.

	      The  size  specified  by the fs= argument includes the shared memory that is needed
	      for administration. This is at least one page of	memory.   If  no  fs=  option  is
	      present,	cdrecord  will try to get the fifo size value from the CDR_FIFOSIZE envi-
	      ronment.	The default fifo size is currently 4 MB.

	      The fifo is used to increase buffering for  the  real  time  writing  process.   It
	      allows  to  run  a pipe from mkisofs directly into cdrecord.  If the fifo is active
	      and a pipe from mkisofs into cdrecord is used to create a CD, cdrecord  will  abort
	      prior to do any modifications on the disk if mkisofs dies before it starts writing.
	      The recommended fifo size is between 4 and 32 MBytes.  As a rule of thumb, the fifo
	      size should be at least equal to the size of the internal buffer of the CD-Recorder
	      and no more than half of the physical amount of RAM available in the  machine.   If
	      the  fifo  size is big enough, the fifo statistics will print a fifo empty count of
	      zero and the fifo min fill is not below 20%.  It is not wise to use too much  space
	      for  the	fifo.  If  you need more than 8 MB to write a CD on an idle machine, your
	      machine is either underpowered, has hardware problems or	is  mis-configured.   The
	      sun4c  architecture  (e.g. a Sparcstation-2) has only MMU page table entries for 16
	      MBytes per process. Using more than 14 MBytes for the fifo may cause the	operating
	      system  in  this case to spend much time to constantly reload the MMU tables. Newer
	      machines from Sun do not have this MMU hardware problem. I have no  information  on
	      PC-hardware reflecting this problem.

	      If  you  have  buffer  underruns	or similar problems and observe a zero fifo empty
	      count, you have hardware problems. The fifo size in this case is sufficient.

	      Sets the SCSI target for the CD-Recorder, see notes above.  A typical device speci-
	      fication	is  dev=6,0 .  If a filename must be provided together with the numerical
	      target specification, the filename is implementation specific.  The  correct  file-
	      name in this case can be found in the system specific manuals of the target operat-
	      ing system.  On a FreeBSD system without CAM support, you need to use  the  control
	      device  (e.g.   /dev/rcd0.ctl).  A correct device specification in this case may be
	      dev=/dev/rcd0.ctl:@ .

	      On Linux, drives connected to a parallel port adapter are mapped to a virtual  SCSI
	      bus. Different adapters are mapped to different targets on this virtual SCSI bus.

	      If  no  dev  option  is  present,  cdrecord  will  try  to  get the device from the
	      CDR_DEVICE environment.

	      If the argument to the dev= option does not contain the characters ',', '/', '@' or
	      ':',  it	is  interpreted  as  an  label	name  that  may  be  found  in	the  file
	      /etc/cdrecord.conf (see FILES section).

	      Set the grace time before starting to write to # seconds.  Values below  2  seconds
	      are not allowed.

	      Set  the default SCSI command timeout value to # seconds.  The default SCSI command
	      timeout is the minimum timeout used for sending SCSI commands.  If a  SCSI  command
	      fails due to a timeout, you may try to raise the default SCSI command timeout above
	      the timeout value of the failed command.	If the	command  runs  correctly  with	a
	      raised  command timeout, please report the better timeout value and the correspond-
	      ing command to the author of the program.  If  no  timeout  option  is  present,	a
	      default timeout of 40 seconds is used.

	      Allows  to use a user supplied driver name for the device.  To get a list of possi-
	      ble drivers use driver=help.  The reason for the existence of  this  option  is  to
	      allow  users  to	use cdrecord with drives that are similar to supported drives but
	      not known directly by cdrecord.  Use this option with  extreme  care.  If  a  wrong
	      driver  is  used for a device, the possibility of creating corrupted disks is high.
	      The minimum problem related to a wrong driver is that the -speed or -dummy will not

	      There  are  two special driver entries in the list: cdr_simul and dvd_simul.  These
	      driver entries are designed to make timing tests at any speed or timing  tests  for
	      drives  that  do not support the -dummy option.  The simulation drivers implement a
	      drive with a buffer size of 1MB that can be changed via the CDR_SIMUL_BUFSIZE envi-
	      ronment variable.  The simulation driver correctly simulates even a buffer underrun
	      condition.  If the -dummy option is present, the simulation is not aborted in  case
	      of a buffer underrun.

       driveropts=option list
	      Set  driver specific options. The options are specified a comma separated list.  To
	      get a list of valid options  use	driveropts=help  together  with  the  -checkdrive
	      option.  Currently implemented driver options are:

		     Turn  the	support for Buffer Underrun Free writing on.  This only works for
		     drives that support Buffer Underrun Free technology.  This  may  be  called:
		     Sanyo BURN-Proof, Ricoh Just-Link, Yamaha Lossless-Link or similar.

		     The  default  is  to  turn  BURN-Free off, regardless of the defaults of the

		     Turn the support for Buffer Underrun Free writing off.

		     Turn on the Plextor VariRec writing mode. The mandatory parameter	value  is
		     the  laser  power offset and currently may be selected from -2, -1, 0, 1, 2.
		     In addition, you need to set the write speed to 4 in order to allow  VariRec
		     to work.

		     Turn  on  the Yahama Audio Master Q. R.  feature which usually should result
		     in high quality CDs that have less reading problems  in  HiFi  players.   As
		     this  is implemented as a variant of the Session at Once write mode, it will
		     only work if you select SAO write mode and there is no need to turn it  off.
		     The  Audio  Master  mode will work with a limited speed but may also be used
		     with data CDs. in Audio Master mode, the pits on  the  CD	will  be  written
		     larger then usual so the capacity of the medium is reduced when turning this
		     feature on.  A 74 minute CD will only have a capacity of 63 minutes if Audio
		     Master  is  active  and the capacity of a 80 minute CD will be reduced to 68

		     Normally, modern drives know the highest possible speed for different  media
		     and  may reduce the speed in order to grant best write quality.  Some drives
		     (e.g. Ricoh and Yamaha) allow to force the drive to use the  selected  speed
		     even  if  the  medium  is	so bad that the write quality would be poor. This
		     option tells such a drive to force to use the selected speed  regardless  of
		     the medium quality.

		     Use this option with extreme care and note that the drive should know better
		     which medium will work at full speed.  The default  is  to  turn  forcespeed
		     off, regardless of the defaults of the drive.

		     Turn off the force speed feature.

		     Use  this option together with -checkdrive to retrieve the image size infor-
		     mation for the Yamaha DiskT@2 feature. The images always have a line  length
		     of  3744  pixel.	Line  number  0 (radius 0) is mapped to the center of the
		     disk.  If you know the inner and outer radius you will be able to	create	a
		     pre distorted image that later may appear undistorted on the disk.

		     Use this option together with -checkdrive to write an image prepared for the
		     Yamaha DiskT@2 feature to the medium.  The file must  be  a  file	with  raw
		     image  B&W  data  (one  byte per pixel) in a size as retrieved by a previous
		     call to tattoofile=name .	If the size of the image equals the maximum  pos-
		     sible size (3744 x 320 pixel), cdrecord will use the first part of the file.
		     This first part then will be written to the leftover space on the CD.

		     Note that the image must be mirrored to be readable from the pick up side of
		     the CD.

	      Checks  if  a  driver for the current drive is present and exit.	If the drive is a
	      known drive, cdrecord uses exit code 0.

       -prcap Print the drive capabilities for SCSI-3/mmc compliant drives as obtained from  mode
	      page 0x2A. Values marked with kB use 1000 bytes as kilo-byte, values marked with KB
	      use 1024 bytes as Kilo-byte.

       -inq   Do an inquiry for the drive, print the inquiry info and exit.

	      Scan all SCSI devices on all SCSI busses and print the inquiry strings. This option
	      may  be  used  to  find  SCSI  address of the CD-Recorder on a system.  The numbers
	      printed out as labels are computed by: bus * 100 + target

       -reset Try to reset the SCSI bus where the CD recorder is located. This works not  on  all
	      operating systems.

	      Allow  cdrecord  to  write more than the official size of a medium. This feature is
	      usually called overburning and depends on the fact that most blank media	may  hold
	      more space than the official size. As the official size of the lead-out area on the
	      disk is 90 seconds (6750 sectors) and a disk usually works if there  are	at  least
	      150  sectors  of lead out, all media may be overburned by at least 88 seconds (6600
	      sectors).  Most CD recorders only do overburning in SAO or RAW mode.  Known  excep-
	      tions are TEAC CD-R50S, TEAC CD-R55S and the Panasonic CW-7502.  Some drives do now
	      allow to overburn as much as you might like and limit the size of a CD to  e.g.  76
	      minutes.	This  problem  may  be circumvented by writing the CD in RAW mode because
	      this way the drive has no chance to find the size before starting to  burn.   There
	      is  no guarantee that your drive supports overburning at all.  Make a test to check
	      if your drive implements the feature.

	      Ignore the known size of the medium. This options should be used with extreme care,
	      it  exists  only	for debugging purposes don't use it for other reasons.	It is not
	      needed to write disks with more than the nominal	capacity.   This  option  implies

	      Use  *.inf  files  to  overwrite audio options.  If this option is used, the pregap
	      size information is read from the *.inf file that is associated with the file  that
	      contains the audio data for a track.

	      Set  the	default  pre-gap  size for all tracks except track number 1.  This option
	      currently only makes sense with the TEAC drive when  creating  track-at-once  disks
	      without the 2 second silence before each track.
	      This option may go away in future.

	      Set Packet writing mode.	This is an experimental interface.

	      Set the packet size to #, forces fixed packet mode.  This is an experimental inter-

	      Do not close the current track, useful only when in packet writing mode.	 This  is
	      an experimental interface.

	      Set the Media Catalog Number of the CD to med_cat_nr.

       -text  Write  CD-Text  created by cdrecord and based on information taken from a file that
	      contains ascii information for the text strings. Currently only the format  in  the
	      *.inf  files  created by cdda2wav is supported. You need to use the -useinfo option
	      in addition in order to tell cdrecord to read these files. If  you  like	to  write
	      your  own  CD-Text  information, edit the *.inf files with a text editor and change
	      the field that are relevant for CD-Text.

	      Write CD-Text based on information found in the binary file  filename.   This  file
	      must  contain information in a data format defined in the SCSI-3 MMC-2 standard and
	      in the Red Book. The four byte size header that is defined in the SCSI standard  is
	      optional	and  allows to make the recognition of correct data less ambiguous.  This
	      is the best option to be used to copy CD-Text data from existing CDs  that  already
	      carry  CD-Text  information.  To	get data in a format suitable for this option use
	      cdrecord -vv -toc to extract the information from disk.

       Track options may be mixed with track file names.

	      Set the International Standard Recording Number for the next track to ISRC_number.

	      Sets an index list for the next track.  In index list is a comma separated list  of
	      numbers that are counting from index 1. The first entry in this list must contain a
	      0, the following numbers must be an ascending list of  numbers  (counting  in  1/75
	      seconds)	that  represent  the  start  of  the  indices. An index list in the form:
	      0,7500,15000 sets index 1 to the start of the track, index 2 100 seconds	from  the
	      start of the track and index 3 200 seconds from the start of the track.

       -audio If this flag is present, all subsequent tracks are written in CD-DA (similar to Red
	      Book) audio format.  The file with data for  this  tracks  should  contain  stereo,
	      16-bit digital audio with 44100 samples/s.  The byte order should be the following:
	      MSB left, LSB left, MSB right, LSB right, MSB left and so on. The track should be a
	      multiple	of  2352  bytes.  It  is not possible to put the master image of an audio
	      track on a raw disk because data will be read in multiple of 2352 bytes during  the
	      recording process.

	      If  a  filename ends in .au or .wav the file is considered to be a structured audio
	      data file.  Cdrecord assumes that the file in this case is a Sun audio  file  or	a
	      Microsoft .WAV file and extracts the audio data from the files by skipping over the
	      non-audio header information.  In all other cases, cdrecord  will  only  work  cor-
	      rectly  if the audio data stream does not have any header.  Because many structured
	      audio files do not have an integral number of blocks (1/75th second) in length,  it
	      is  often  necessary  to specify the -pad option as well.  cdrecord recognizes that
	      audio data in a .WAV file is stored in Intel (little-endian) byte order,	and  will
	      automatically  byte-swap	the  data  if  the  CD recorder requires big-endian data.
	      Cdrecord will reject any audio file that does not match the Red  Book  requirements
	      of 16-bit stereo samples in PCM coding at 44100 samples/second.

	      Using other structured audio data formats as input to cdrecord will usually work if
	      the structure of the data is the structure described above (raw pcm  data  in  big-
	      endian byte order).  However, if the data format includes a header, you will hear a
	      click at the start of a track.

	      If neither -data nor -audio have been specified, cdrecord defaults  to  -audio  for
	      all filenames that end in .au or .wav and to -data for all other files.

       -swab  If  this	flag  is  present,  audio  data is assumed to be in byte-swapped (little-
	      endian) order.  Some types of CD-Writers e.g. Yamaha, Sony and the  new  SCSI-3/mmc
	      drives require audio data to be presented in little-endian order, while other writ-
	      ers require audio data to be presented in the big-endian (network) byte order  nor-
	      mally  used by the SCSI protocol.  Cdrecord knows if a CD-Recorder needs audio data
	      in big- or little-endian order, and corrects the byte order of the data  stream  to
	      match  the needs of the recorder.  You only need the -swab flag if your data stream
	      is in Intel (little-endian) byte order.

	      Note that the verbose output of cdrecord will show you if swapping is necessary  to
	      make  the byte order of the input data fit the required byte order of the recorder.
	      Cdrecord will not show you if the -swab flag was actually present for a track.

       -data  If this flag is present, all subsequent tracks are written in CD-ROM mode 1 (Yellow
	      Book)  format.  The  data  is  a	multiple of 2048 bytes.  The file with track data
	      should contain an ISO-9660 or Rock Ridge filesystem image  (see  mkisofs	for  more
	      details). If the track data is an ufs filesystem image, fragment size should be set
	      to 2 KB or more to allow CR-drives with 2 KB sector size to to be used for reading.

	      -data is the default, if no other flag is present.

	      If neither -data nor -audio have been specified, cdrecord defaults  to  -audio  for
	      all filenames that end in .au or .wav and to -data for all other files.

       -mode2 If this flag is present, all subsequent tracks are written in CD-ROM mode 2 format.
	      The data is a multiple of 2048 bytes.

       -xa1   If this flag is present, all subsequent tracks are written in CD-ROM XA mode 1 for-
	      mat. The data is a multiple of 2048 bytes.

       -xa2   If this flag is present, all subsequent tracks are written in CD-ROM XA mode 2 for-
	      mat. The data is a multiple of 2048 bytes.

       -cdi   If this flag is present, all subsequent tracks are written in CDI format. The  data
	      is a multiple of 2048 bytes.

	      Use  the	ISO-9660  file system size as the size of the next track.  This option is
	      needed if you want cdrecord to directly read the image of a track from a	raw  disk
	      partition  or from a TAO master CD. In the first case the option -isosize is needed
	      to limit the size of the CD to the size of the ISO filesystem.  In the second  case
	      the  option  -isosize  is  needed  to prevent cdrecord from reading the two run out
	      blocks that are appended by each CD-recorder in track at once mode. These  two  run
	      out  blocks  cannot  be  read and would cause a buffer under run that would cause a
	      defective copy.  Do not use this option on files created by  mkisofs  and  in  case
	      cdrecord	reads  the  track  data from stdin.  In the first case, you would prevent
	      cdrecord from writing the amount of padding that has been appended by  mkisofs  and
	      in the latter case, it will not work because stdin is not seekable.

	      If  -isosize  is used for a track, cdrecord will automatically add padding for this
	      track as if the -pad option has been used but the amount of  padding  may  be  less
	      than the padding written by mkisofs.  Note that if you use -isosize on a track that
	      contains Sparc boot information, the boot information will be lost.

	      Note also that this option cannot be used to determine the size of a file system if
	      the multi session option is present.

       -pad   If the track is a data track, 15 sectors of zeroed data will be added to the end of
	      this and each subsequent data track.  In this case, the -pad option  is  superseded
	      by  the padsize= option. It will remain however as a shorthand for padsize=15s.  If
	      the -pad option refers to an audio track, cdrecord will pad the audio data to be	a
	      multiple of 2352 bytes.  The audio data padding is done with binary zeroes which is
	      equal to absolute silence.

	      -pad remains valid until disabled by -nopad.

	      Set the amount of data to be appended as padding to the next track to  #.   Opposed
	      to  the  behavior  of  the -pad option, the value for padsize= is reset to zero for
	      each new track.  Cdrecord assumes a sector size of  2048	bytes  for  the  padsize=
	      option,  independent from the real sector size and independent from the write mode.
	      The megabytes mentioned in the verbose mode output however are counting the  output
	      sector  size  which  is  e.g.  2448  bytes when writing in RAW/RAW96 mode.  See fs=
	      option for possible arguments.  To pad the equivalent of 20 minutes on  a  CD,  you
	      may  write padsize=20x60x75s.  Use this option if your CD-drive is not able to read
	      the last sectors of a track or if you want to be able to read the  CD  on  a  Linux
	      system  with  the ISO-9660 filesystem read ahead bug.  If an empty file is used for
	      track data, this option may be used to create a disk that is entirely made of  pad-
	      ding.   This  may  e.g. be used to find out how much overburning is possible with a
	      specific media.

       -nopad Do not pad the following tracks - the default.

	      Allow all subsequent tracks to violate the Read Book track  length  standard  which
	      requires a minimum track length of 4 seconds.  This option is only useful when used
	      in SAO or RAW mode.  Not all drives support this feature. The drive must be  accept
	      the resulting CUE sheet or support RAW writing.

	      Re-enforce the Red Book track length standard. Tracks must be at least 4 seconds.

	      Set  the	 pre-gap size for the next track.  This option currently only makes sense
	      with the TEAC drive when creating track-at-once disks without the 2 second  silence
	      before each track.
	      This option may go away in future.

	      If  this flag is present, all TOC entries for subsequent audio tracks will indicate
	      that the audio data has been sampled with 50/15 usec preemphasis.  The  data,  how-
	      ever  is	not  modified during the process of transferring from file to disk.  This
	      option has no effect on data tracks.

	      If this flag is present, all TOC entries for subsequent audio tracks will  indicate
	      that the audio data has been mastered with linear data - this is the default.

       -copy  If this flag is present, all TOC entries for subsequent audio tracks of the result-
	      ing CD will indicate that the audio data has permission to be copied without limit.
	      This option has no effect on data tracks.

	      If this flag is present, all TOC entries for subsequent audio tracks of the result-
	      ing CD will indicate that the audio data has permission to be copied only once  for
	      personal use - this is the default.

       -scms  If this flag is present, all TOC entries for subsequent audio tracks of the result-
	      ing CD will indicate that the audio data has no permission to be copied anymore.

	      If the master image for the next track has been stored on  a  raw  disk,	use  this
	      option  to  specify the valid amount of data on this disk. If the image of the next
	      track is stored in a regular file, the size of that file is taken to determine  the
	      length  of  this track.  If the track contains an ISO 9660 filesystem image use the
	      -isosize option to determine the length of that filesystem image.
	      In Disk at Once mode and with some drives that use the TEAC programming  interface,
	      even  in	Track  at Once mode, cdrecord needs to know the size of each track before
	      starting to write the disk.  Cdrecord now checks this and aborts before starting to
	      write.  If this happens you will need to run mkisofs -print-size before and use the
	      output (with `s' appended) as an argument to the tsize= option  of  cdrecord  (e.g.
	      See fs= option for possible arguments.

       For  all  examples below, it will be assumed that the CD-Recorder is connected to the pri-
       mary SCSI bus of the machine. The SCSI target id is set to 2.

       To record a pure CD-ROM at double speed, using data from the file cdimage.raw:

	   cdrecord -v speed=2 dev=2,0 cdimage.raw

       To create an image for a ISO 9660 filesystem with Rock Ridge extensions:

	   mkisofs -R -o cdimage.raw /home/joerg/master/tree

       To check the resulting file before writing to CD on Solaris:

	   mount -r -F fbk -o type=hsfs /dev/fbk0:cdimage.raw /mnt

       On Linux:

	   mount cdimage.raw -r -t iso9660 -o loop /mnt

       Go on with:
	   ls -lR /mnt
	   umount /mnt

       If the overall speed of the system is sufficient and the structure of  the  filesystem  is
       not  too  complex, cdrecord will run without creating an image of the ISO 9660 filesystem.
       Simply run the pipeline:

	   mkisofs -R /master/tree | cdrecord -v fs=6m speed=2 dev=2,0 -

       The recommended minimum fifo size for running this pipeline is 4 MBytes.  As  the  default
       fifo  size  is  4  MB, the fs= option needs only be present if you want to use a different
       fifo size.  If your system is loaded, you should run mkisofs in the real time  class  too.
       To raise the priority of mkisofs replace the command

	   mkisofs -R /master/tree
	   priocntl -e -c RT -p 59 mkisofs -R /master/tree

       on Solaris and by

	   nice --18 mkisofs -R /master/tree

       on systems that don't have UNIX International compliant realtime scheduling.

       Cdrecord  runs  at priority 59 on Solaris, you should run mkisofs at no more than priority
       58. On other systems, you should run mkisofs at no less than nice --18.

       Creating a CD-ROM without file system image on disk has been tested  on	a  Sparcstation-2
       with  a	Yamaha	CDR-400. It did work up to quad speed when the machine was not loaded.	A
       faster machine may be able to handle quad speed also in the loaded case.

       To record a pure CD-DA (audio) at single speed, with each track contained in a file  named
       track01.cdaudio, track02.cdaudio, etc:

	   cdrecord -v speed=1 dev=2,0 -audio track*.cdaudio

       To  check if it will be ok to use double speed for the example above.  Use the dummy write

	   cdrecord -v -dummy speed=2 dev=2,0 -audio track*.cdaudio

       To record a mixed-mode CD with an ISO 9660 filesystem from cdimage.raw on the first track,
       the other tracks being audio tracks from the files track01.cdaudio, track02.cdaudio, etc:

	   cdrecord -v -dummy dev=2,0 cdimage.raw -audio track*.cdaudio

       To handle drives that need to know the size of a track before starting to write, first run

	   mkisofs -R -q -print-size /master/tree

       and then run

	   mkisofs -R /master/tree | cdrecord speed=2 dev=2,0 tsize=XXXs -

       where XXX is replaced by the output of the previous run of mkisofs.

       To copy an audio CD in the most accurate way, first run

	   cdda2wav -vall cddb=0 -D2,0 -B -Owav

       and then run

	   cdrecord -v dev=2,0 -dao -useinfo -text  *.wav

       This  will  try copy track indices and to read CD-Text information from disk.  If there is
       no CD-Text information, cdda2wav will try to get the information from freedb.org instead.

	      This may either hold a device identifier that is suitable to the open call  of  the
	      SCSI transport library or a label in the file /etc/cdrecord.conf.

	      Sets the default speed value for writing (see also -speed option).

	      Sets the default size of the FIFO (see also fs=# option).

	      If  this	environment variable is set, cdrecord will allow you to write at the full
	      RAW encoding speed a single CPU supports.  This will create high potential of  buf-
	      fer underruns. Use with care.

       RSH    If  the  RSH  environment is present, the remote connection will not be created via
	      rcmd(3) but by calling the program pointed to by RSH.  Use  e.g.	 RSH=/usr/bin/ssh
	      to create a secure shell connection.

	      Note that this forces cdrecord to create a pipe to the rsh(1) program and disallows
	      cdrecord to directly access the network socket to the remote server.  This makes it
	      impossible  to set up performance parameters and slows down the connection compared
	      to a root initiated rcmd(3) connection.

       RSCSI  If the RSCSI environment is present, the remote SCSI server will not be the program
	      /opt/schily/sbin/rscsi  but  the program pointed to by RSCSI.  Note that the remote
	      SCSI server program name will be ignored if you log in using an  account	that  has
	      been created with a remote SCSI server program as login shell.

	      Default  values  can  be	set for the following options in /etc/cdrecord.conf.  For
	      example: CDR_FIFOSIZE=8m or CDR_SPEED=2

		     This may either hold a device identifier that is suitable to the  open  call
		     of the SCSI transport library or a label in the file /etc/cdrecord.conf that
		     allows to identify a specific drive on the system.

		     Sets the default speed value for writing (see also -speed option).

		     Sets the default size of the FIFO (see also fs=# option).

	      Any other label
		     is an identifier for a specific drive on the system.  Such an identifier may
		     not contain the characters ',', '/', '@' or ':'.

		     Each line that follows a label contains a TAB separated list of items.  Cur-
		     rently, three items are recognized: the SCSI ID of the  drive,  the  default
		     speed  that  should  be  used  for this drive and the default FIFO size that
		     should be used for this drive. The values for speed and fifosize may be  set
		     to  -1 to tell cdrecord to use the global defaults.  A typical line may look
		     this way:

		     teac1= 0,5,0   4	 8m

		     yamaha= 1,6,0  -1	 -1

		     This tells cdrecord that a drive named teac1 is at scsibus 0, target 5,  lun
		     0	and  should be used with speed 4 and a FIFO size of 8 MB.  A second drive
		     may be found at scsibus 1, target 6, lun 0 and uses the  default  speed  and
		     the default FIFO size.

       cdda2wav(1), readcd(1), scg(7), fbk(7), mkisofs(8), rcmd(3), ssh(1).

       On  Solaris  you  need to stop the volume management if you like to use the USCSI fallback
       SCSI transport code. Even things like cdrecord -scanbus will not work if the  volume  man-
       agement is running.

       Disks  made  in Track At Once mode are not suitable as a master for direct mass production
       by CD manufacturers.  You will need the disk at once option to record such disks.   Never-
       theless	the disks made in Track At Once will normally be read in all CD players. Some old
       audio CD players however may produce a two second click between two audio tracks.

       The minimal size of a track is 4 seconds or 300 sectors. If you write smaller tracks,  the
       CD-Recorder  will  add dummy blocks. This is not an error, even though the SCSI-error mes-
       sage looks this way.

       Cdrecord has been tested on an upgraded Philips CDD-521	recorder  at  single  and  double
       speed on a SparcStation 20/502 with no problems, slower computer systems should work also.
       The newer Philips/HP/Plasmon/Grundig drives as well as Yamaha  CDR-100  and  CDR-102  work
       also.  The  Plasmon  RF-4100 work, but has not tested in multi session.	A Philips CDD-521
       that has not been upgraded will not work.  The Sony CDU-924 has been tested, but does  not
       support	XA-mode2  in hardware.	The sony therefore cannot create conforming multi session
       disks.  The Ricoh RO-1420C works, but some people seem to have problems to use  them  with
       speed=2, try speed=0 in this case.

       The  Yamaha  CDR-400  and all new SCSI-3/mmc conforming drives are supported in single and

       You should run several tests in all supported speeds of your drive with the -dummy  option
       turned  on  if  you  are  using	cdrecord on an unknown system. Writing a CD is a realtime
       process.  NFS will not always deliver constantly the needed data rates.	If  you  want  to
       use cdrecord with CD-images that are located on a NFS mounted filesystem, be sure that the
       fifo size is big enough.  I used cdrecord with with medium load on a SS20/502 and even  at
       quad  speed  on	a Sparcstation-2 which was heavily loaded, but it is recommended to leave
       the system as lightly loaded as possible while writing a CD.  If you  want  to  make  sure
       that buffer underruns are not caused by your source disk, you may use the command

	   cdrecord -dummy dev=2,0 padsize=600m /dev/null

       to  create  a  disk that is entirely made of dummy data.  Cdrecord needs to run as root to
       get access to the /dev/scg?  device nodes and to be able to lock itself into memory.

       If you don't want to allow users to become root on your system,	cdrecord  may  safely  be
       installed  suid root. This allows all users or a group of users with no root privileges to
       use cdrecord.  Cdrecord in this case checks, if the real user would have been able to read
       the specified files.  To give all user access to use cdrecord, enter:

	    chown root /usr/local/bin/cdrecord
	    chmod 4711 /usr/local/bin/cdrecord

       To give a restricted group of users access to cdrecord enter:

	    chown root /usr/local/bin/cdrecord
	    chgrp cdburners /usr/local/bin/cdrecord
	    chmod 4710 /usr/local/bin/cdrecord

       and add a group cdburners on your system.

       Never give write permissions for non root users to the /dev/scg?  devices unless you would
       allow anybody to read/write/format all your disks.

       You should not connect old drives that do not support disconnect/reconnect to  either  the
       SCSI bus that is connected to the CD-Recorder or the source disk.

       A Compact Disc can have no more than 99 tracks.

       When creating a disc with both audio and data tracks, the data should be on track 1 other-
       wise you should create a CDplus disk which is a multi session disk with the first  session
       containing the audio tracks and the following session containing the data track.

       Many operating systems are not able to read more than a single data track, or need special
       software to do so.

       More information on the SCSI command set of a HP CD-Recorder can be found at:


       If you have more information  or  SCSI  command	manuals  for  currently  unsupported  CD-
       Recorders please contact the author.

       The  Philips CDD 521 CD-Recorder (even in the upgraded version) has several firmware bugs.
       Some of them will force you to power cycle the device or to reboot the machine.

       When using cdrecord with the broken Linux SCSI  generic	driver.   You  should  note  that
       cdrecord uses a hack, that tries to emulate the functionality of the scg driver.  Unfortu-
       nately, the sg driver on Linux has several severe bugs:

       o      It cannot see if a SCSI command could not be sent at all.

       o      It cannot get the SCSI status byte.  Cdrecord for that reason cannot report failing
	      SCSI commands in some situations.

       o      It  cannot get real DMA count of transfer.  Cdrecord cannot tell you if there is an
	      DMA residual count.

       o      It cannot get number of bytes valid in auto sense data.  Cdrecord cannot	tell  you
	      if device transfers no sense data at all.

       o      It fetches to few data in auto request sense (CCS/SCSI-2/SCSI-3 needs >= 18).

       The fifo percent output is computed just after a block of data has been written to the CD-
       Recorder. For this reason, there will never be 100%  fifo  fill,  while	the  fifo  is  in
       streaming mode.

       You have 9 seconds to type ^C to abort cdrecord after you see the message:

       Starting to write CD at speed %d in %s mode for %s session.

       A typical error message for a SCSI command looks like:

	      cdrecord: I/O error. test unit ready: scsi sendcmd: no error
	      CDB:  00 20 00 00 00 00
	      status: 0x2 (CHECK CONDITION)
	      Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00
	      Sense Key: 0x5 Illegal Request, Segment 0
	      Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0
	      Sense flags: Blk 0 (not valid)
	      cmd finished after 0.002s timeout 40s

       The  first  line gives information about the transport of the command.  The text after the
       first colon gives the error text for the system call from the view of the kernel. It  usu-
       ally  is:  I/O error unless other problems happen. The next words contain a short descrip-
       tion for the SCSI command that fails. The rest of the line tells you  if  there	were  any
       problems  for  the  transport of the command over the SCSI bus.	fatal error means that it
       was not possible to transport the command (i.e. no device present at  the  requested  SCSI

       The second line prints the SCSI command descriptor block for the failed command.

       The  third  line gives information on the SCSI status code returned by the command, if the
       transport of the command succeeds.  This is error information from the SCSI device.

       The fourth line is a hex dump of the auto request sense information for the command.

       The fifth line is the error text for the sense key if available, followed by  the  segment
       number  that  is only valid if the command was a copy command. If the error message is not
       directly related to the current command, the text deferred error is appended.

       The sixth line is the error text for the sense code and the sense qualifier if  available.
       If  the type of the device is known, the sense data is decoded from tables in scsierrs.c .
       The text is followed by the error value for a field replaceable unit.

       The seventh line prints the block number that is related to the failed  command	and  text
       for several error flags. The block number may not be valid.

       The  eight  line reports the timeout set up for this command and the time that the command
       really needed to complete.

       The following message is not an error:
	      Track 01: Total bytes read/written: 2048/2048 (1 sectors).
	      cdrecord: I/O error. flush cache: scsi sendcmd: no error
	      CDB:  35 00 00 00 00 00 00 00 00 00
	      status: 0x2 (CHECK CONDITION)
	      Sense Bytes: F0 00 05 80 00 00 27 0A 00 00 00 00 B5 00 00 00 00 00
	      Sense Key: 0x5 Illegal Request, Segment 0
	      Sense Code: 0xB5 Qual 0x00 (dummy data blocks added) Fru 0x0
	      Sense flags: Blk -2147483609 (valid)
	      cmd finished after 0.002s timeout 40s

       It simply notifies, that a track that is smaller than the minimum size has  been  expanded
       to 300 sectors.

       Cdrecord has even more options than ls.

       There  should  be  a  recover option to make disks usable, that have been written during a
       power failure.

       Bill Swartz    (Bill_Swartz@twolf.com)
		      For helping me with the TEAC driver support

       Aaron Newsome  (aaron.d.newsome@wdc.com)
		      For letting me develop Sony support on his drive

       Eric Youngdale (eric@andante.jic.com)
		      For supplying mkisofs

       Gadi Oxman     (gadio@netvision.net.il)
		      For tips on the ATAPI standard

       Finn Arne Gangstad  (finnag@guardian.no)
		      For the first FIFO implementation.

       Dave Platt     (dplatt@feghoot.ml.org)
		      For creating the experimental packet writing support, the first implementa-
		      tion  of	CD-RW blanking support, the first .wav file decoder and many nice
		      discussions on cdrecord.

       Chris P. Ross (cross@eng.us.uu.net)
		      For the first implementation os a BSDI SCSI transport.

       Grant R. Guenther   (grant@torque.net)
		      For creating the first parallel port transport implementation for Linux.

       Kenneth D. Merry (ken@kdm.org)
		      for providing  the  CAM  port  for  FreeBSD  together  with  Michael  Smith

       Heiko EiBfeldt (heiko@hexco.de)
		      for making libedc_ecc available (needed to write RAW data sectors).

       If  you want to actively take part on the development of cdrecord, you may join the devel-
       oper mailing list via this URL:


       The mail address of the list is: cdwrite@other.debian.org

       Joerg Schilling
       Seestr. 110
       D-13353 Berlin

       Additional information can be found on:

       If you have support questions, send them to:

       or cdwrite@other.debian.org

       Of you have definitely found a bug, send a mail to:

       or schilling@fokus.fhg.de

       To subscribe, use:

       or http://lists.berlios.de/mailman/listinfo/cdrecord-support

       The old cdwrite mailing list may be joined by sending mail to:


       and including the word subscribe in the body.  The mail address of the list is:


Joerg Schilling 			   Version 2.0				      CDRECORD(1)

All times are GMT -4. The time now is 07:18 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password