Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1‎ > ‎

cdrecord


NAME
     cdrecord - record audio or data  Compact  Disks  or  Digital
     Versatile Disks from a master

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


DESCRIPTION
     Cdrecord is used to record data or audio Compact Discs on an
     Orange  Book  CD-Recorder  or  to  write DVD media on a DVD-
     Recorder.

     The device  refers  to  scsibus/target/lun  of  the  CD/DVD-
     Recorder.  Communication on SunOS is done with the SCSI gen-
     eral 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/DVD-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 implemen-
     tations may require to specify a filename in  addition.   In
     this  case  the  correct  syntax  for  the  device is:  dev=
     devicename:scsibus,target,  or  dev=  devicename:target,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= devicename:@,lun may
     be used instead of dev= devicename:scsibus,target,


     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 scanning or REMOTE:user@host:1,0,0
     to access the SCSI device at host connected to  SCSI  bus  #
     1,target 0 lun 0.


     Cdrecord is completely based on SCSI commands but this is no
     problem  as  all  CD/DVD writers ever made use SCSI commands
     for the communication.  Even  ATAPI  drives  are  just  SCSI
     drives  that inherently use the ATA packet interface as SCSI
     command transport layer build into the IDE (ATA)  transport.
     You  may need to specify an alternate transport layer on the
     command   line  if  your  OS  does  not  implement  a  fully
     integrated kernel driver subsystem that allows to access any
     drive using SCSI commands via a single  unique  user  inter-
     face.


     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= HELP:



     To make cdrecord portable to all UNIX platforms, the  syntax
     dev=  devicename:scsibus,target, is preferred as it hides OS
     specific knowledge about device  names  from  the  user.   A
     specific  OS  may 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   information   or   look  into
     /var/adm/messages for more information about the SCSI confi-
     guration  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/default/cdrecord 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 real time class
     to  get  the  highest  scheduling  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 order to be able to use the SCSI transport  subsystem  of
     the  OS,  run  at highest priority and lock itself into core
     cdrecord either needs  to  be  run  as  root,  needs  to  be
     installed  suid  root  or  must  be  called via RBACs pfexec
     mechanism.

     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.  In the other write
     modes, the direct file to track relation may not  be  imple-
     mented.  In -clone mode, a single file contains all data for
     the whole disk.  To allow DVD writing on platforms  that  do
     not  implement large file support, cdrecord concatenates all
     file arguments to a single track when writing to DVD media.

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

     -version
          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/DVD-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  incre-
          ment  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 underrun.

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

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

     -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 disks.

     -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  hard-
          disk  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 fixating 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  immediately
          while  the operation proceeds in background, making the
          bus usable for the other devices and avoiding the  sys-
          tem  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 manufac-
          turer.  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 while 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.  If  it  turns  out
          that  it would make sense to have a separate option for
          the wait feature, write to the author and convince him.

     minbuf=value
          The # minbuf= option 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 verbose
          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/DVD-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.

     -clone
          Tells cdrecord  to  handle  images  created  by  readcd
          -clone.   The  -clone  may  only be used in conjunction
          with with the -raw96r or with the -raw16 option.  Using
          -clone  together with -raw96r is preferred as it allows
          to write all subchannel data.  The option -raw16 should
          only  be  used with drives that do not support to write
          in -raw96r mode.

     -dao

     -sao 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.   Note  that
          cdrecord  needs  to  know  the  size  of  each track in
          advance for this  mode  (see  the  mkisofs  -print-size
          option and the EXAMPLES section for more information).

     -tao Set TAO (Track At  Once)  writing  mode.  This  is  the
          default write mode in previous cdrecord versions.  With
          most drives, this write mode is required for multi ses-
          sion recording.

     -raw Set RAW writing mode. Using  this  option  defaults  to
          -raw96r.   Note that cdrecord needs to know the size of
          each track in advance for this mode  (see  the  mkisofs
          -print-size  option  and  the EXAMPLES section for more
          information).

     -raw96r
          Select Set RAW writing mode with 2352 byte sectors plus
          96 bytes of raw P-W subchannel data resulting in a sec-
          tor size of 2448 bytes.   This  is  the  preferred  raw
          writing mode as it gives best control over the CD writ-
          ing 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 sup-
          ports  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  under-
          runs.   Note  that  cdrecord  needs to know the size of
          each track in advance for this mode  (see  the  mkisofs
          -print-size  option  and  the EXAMPLES section for more
          information).

     -raw96p
          Select Set RAW writing mode with 2352 byte sectors plus
          96  bytes  of packed P-W subchannel 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.  Note that cdrecord needs to know the
          size of each track in advance for this  mode  (see  the
          mkisofs -print-size option and the EXAMPLES section for
          more information).

     -raw16
          Select Set RAW writing mode with 2352 byte sectors plus
          16  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 signifi-
          cantly  more  CPU  time than other write modes. If your
          CPU is too slow, this may result in  buffer  underruns.
          Note that cdrecord needs to know the size of each track
          in advance for this mode (see the  mkisofs  -print-size
          option and the EXAMPLES section for more information).

     -multi
          Allow multi session CDs 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/DVD-Recorder  to  append
          additional sessions later. This is done by generation a
          TOC with a link to the next program area. The  so  gen-
          erated media is not 100% compatible to manufactured CDs
          (except for CDplus). Use only for  recording  of  multi
          session  CDs.   If  this option is present, the default
          track type is CD-ROM XA mode 2 form 1  and  the  sector
          size  is  2048  bytes. The XA sector subheaders will be
          created by the drive. The Sony drives have no  hardware
          support  for  CD-ROM  XA  mode  2  form 1.  You have to
          specify the -data option in order to create multi  ses-
          sion  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
          CDs in SAO mode.

     -msinfo
          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 operation.

     -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  Pre-
          groove)  info  of  a  CD/DVD  recordable  or CD/DVD re-
          writable 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
          displayed. Only  a  limited  number  of  MMC  compliant
          drives support to read the ATIP info.

          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  does
          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 writ-
          ing  additional 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.

     -lock
          Load the media, lock the door 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.

     speed=#
          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, about  172 KB/s  for
          CD-Audio  and  about  1385 kB/s  for  DVD media.  If no
          speed option is present, cdrecord will  try  to  get  a
          drive    specific    speed    value   from   the   file
          /etc/default/cdrecord and if it  cannot  find  one,  it
          will  try  to  get  the  speed value from the CDR_SPEED
          environment and later  from  the  CDR_SPEED=  entry  in
          /etc/default/cdrecord.   If  no  speed  value  could be
          found, cdrecord uses a drive  specific  default  speed.
          The  default  for  all new (MMC compliant) drives is to
          use the maximum supported by the  drive.   If  you  use
          speed=0  with  a  MMC  compliant  drive,  cdrecord will
          switch to the  lowest  possible  speed  for  drive  and
          medium.   If  you are using an old (non MMC) drive that
          has problems with speed=2 or speed=4,  you  should  try
          speed=0.

     blank=type
          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 oth-
     erwise 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 cdrecord 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 not.

     -format
          Format  a  CD-RW/DVD-RW/DVD+RW  disc.   Formatting   is
          currently   only   implemented  for  DVD+RW  media.   A
          'maiden' DVD+RW media needs to be formatted before  you
          may  write to it.  However, as cdrecord autodetects the
          need for formatting in this case and auto  formats  the
          medium  before it starts writing, the -format option is
          only needed if you like to forcibly reformat  a  DVD+RW
          medium.

     fs=# Set the FIFO (ring buffer) size to #.  You may use  the
          same syntax as in dd(1), sdd(1) or star(1).  The number
          representing the size is taken in bytes  unless  other-
          wise  specified.   If  a number is followed directly by
          the letter `b', `k', `m', `s' or `f', the size is  mul-
          tiplied  by 512, 1024, 1024*1024, 2048 or 2352.  If the
          size consists of numbers separated by `x' or `*',  mul-
          tiplication  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 environment.   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  128 MBytes.
          As  a  rule  of thumb, the FIFO size should be at least
          equal to  the  size  of  the  internal  buffer  of  the
          CD/DVD-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 at a
          speed  less than 20x from an image on a local file sys-
          tem on an idle machine, your machine is  either  under-
          powered,  has  hardware  problems or is mis-configured.
          If you like to write DVDs or to  write  CDs  at  higher
          speed,  it  makes  sense  to use at least 16 MB for the
          FIFO.

          On old and small machines, you need to be more  careful
          with  the  FIFO  size.   If  your machine has less than
          256 MB of physical RAM, you should not set  up  a  FIFO
          size  that  is more than 32 MB.  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.

          Old Linux systems for non  x86  platforms  have  broken
          definitions for the shared memory size. You need to fix
          them and rebuild the kernel or manually  tell  cdrecord
          to use a smaller FIFO.

          If you have buffer underruns or similar problems  (like
          a  constantly  empty  drive  buffer) and observe a zero
          fifo empty  count,  you  have  hardware  problems  that
          prevents  the  data  from  flowing fast enough from the
          kernel memory to the drive. The FIFO size in this  case
          is  sufficient,  but you should check for a working DMA
          setup.

     ts=# Set the maximum transfer size for a single SCSI command
          to #.  The syntax for the ts= option is the same as for
          cdrecord fs=# or sdd bs=#.

          If no ts= option has been specified, cdrecord  defaults
          to  a  transfer  size  of  63 kB.  If libscg gets lower
          values from the operating system, the value is  reduced
          to  the maximum value that is possible with the current
          operating system.  Sometimes, it may  help  to  further
          reduce  the  transfer  size  or to enhance it, but note
          that it may take a long time to find a better value  by
          experimenting with the ts= option.

     dev=target
          Sets the SCSI target for the CD/DVD-Recorder, see notes
          above.  A typical device specification is dev=6,0 .  If
          a filename must be provided together with the numerical
          target  specification,  the  filename is implementation
          specific.  The correct filename in  this  case  can  be
          found  in  the  system  specific  manuals of the target
          operating system.  On a FreeBSD system without CAM sup-
          port,   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/default/cdrecord (see FILES section).

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

     timeout=#
          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 corresponding
          command to the author of the program.   If  no  timeout
          option  is  present, a default timeout of 40 seconds is
          used.

     driver=name
          Allows the user to manually select  a  driver  for  the
          device.    The   reason   for   the  existence  of  the
          driver=name option is to allow users  to  use  cdrecord
          with  drives  that  are similar to supported drives but
          not known directly by cdrecord.  All drives made  after
          1997  should  be  MMC  standard compliant and thus sup-
          ported by one of the MMC drivers.  It is most  unlikely
          that  cdrecord  is  unable  to  find  the  right driver
          automatically.  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 work.



          The following driver names are supported:

          help To get a list of possible drivers together with  a
               short description.

          mmc_cd
               The generic  SCSI-3/mmc  CD-ROM  driver  is  auto-
               selected  whenever  cdrecord finds a MMC compliant
               drive that does not  identify  itself  to  support
               writing at all, or that only identifies to support
               media or write modes not implemented in cdrecord.

          mmc_cd_dvd
               The generic  SCSI-3/mmc  CD/DVD  driver  is  auto-
               selected  whenever cdrecord finds a MMC-2 or MMC-3
               compliant drive that seems to  support  more  than
               one  medium type and the tray is open or no medium
               could be found to select the right  driver.   This
               driver  tries to close the tray, checks the medium
               found in the tray and then branches to the  driver
               that matches the current medium.

          mmc_cdr
               The generic SCSI-3/mmc CD-R/CD-RW driver is  auto-
               selected  whenever  cdrecord  find a MMC compliant
               drive that only supports to write CDs or  a  multi
               system  drive  that  contains  a CD as the current
               medium.

          mmc_cdr_sony
               The generic SCSI-3/mmc CD-R/CD-RW driver is  auto-
               selected  whenever cdrecord would otherwise select
               the mmc_cdr driver but the device seems to be made
               by  Sony.   The  mmc_cdr_sony is definitely needed
               for the Sony CDU 928 as this drive does  not  com-
               pletely implement the MMC standard and some of the
               MMC SCSI commands have  to  be  replaced  by  Sony
               proprietary  commands.  It  seems  that  all  Sony
               drives (even newer ones) still implement the  Sony
               proprietary SCSI commands so it has not yet become
               a problem to use this driver for all Sony  drives.
               If  you find a newer Sony drive that does not work
               with this driver, please report.

          mmc_dvd
               The generic SCSI-3/mmc-2  DVD-R/DVD-RW  driver  is
               auto-selected  whenever  cdrecord finds a MMC-2 or
               MMC-3 compliant drive that supports to write  DVDs
               and  an appropriate medium is loaded.  There is no
               Track At Once mode for DVD writers.

          mmc_dvdplus
               The generic SCSI-3/mmc-3  DVD+R/DVD+RW  driver  is
               auto-selected whenever one of the DVD+ media types
               that are incompatible to each other is found.   It
               checks  media and then branches to the driver that
               matches the current medium.

          mmc_dvdplusr
               The generic SCSI-3/mmc-3  DVD+R  driver  is  auto-
               selected  whenever  a  DVD+R medium is found in an
               appropriate writer.  Note that for unknown reason,
               the  DVD-Plus alliance does not like that there is
               a simulation mode for DVD+R media.  The author  of
               cdrecord tries to convince manufacturers to imple-
               ment a simulation mode  for  DVD+R  and  implement
               support.   DVD+R only supports one write mode that
               is somewhere between  Track  At  Once  and  Packet
               writing;  this  mode is selected in cdrecord via a
               the -dao/-sao option.

          mmc_dvdplusrw
               The generic SCSI-3/mmc-3 DVD+RW  driver  is  auto-
               selected  whenever  a DVD+RW medium is found in an
               appropriate writer.  As DVD+RW media needs  to  be
               formatted  before  it's  first use, cdrecord auto-
               detects this media state  and  performs  a  format
               before  it starts to write.  Note that for unknown
               reason, the DVD-Plus alliance does not  like  that
               there  is  a  simulation  mode  nor a way to erase
               DVD+RW media.  DVD+RW only supports one write mode
               that  is  close  to  Packet  writing; this mode is
               selected in cdrecord via a the -dao/-sao option.

          cw_7501
               The driver  for  Matsushita/Panasonic  CW-7501  is
               auto-selected when cdrecord finds this old pre MMC
               drive.  Cdrecord supports all write modes for this
               drive type.

          kodak_pcd_600
               The driver for Kodak PCD-600 is auto-selected when
               cdrecord  finds  this  old pre MMC drive which has
               been the first high speed (6x)  CD  writer  for  a
               long  time. This drive behaves similar to the Phi-
               lips CDD-521 drive.

          philips_cdd521
               The driver for Philips  CDD-521  is  auto-selected
               when cdrecord finds a Philips CDD-521 drive (which
               is the first CD writer ever made) or  one  of  the
               other  drives  that are known to behave similar to
               this drive.  All Philips CDD-521 or similar drives
               (see  other  drivers  in this list) do not support
               Session At Once recording.

          philips_cdd521_old
               The  driver  for  Philips  old  CDD-521  is  auto-
               selected  when  cdrecord  finds  a Philips CDD-521
               with very old firmware which has some known  limi-
               tations.

          philips_cdd522
               The driver for Philips  CDD-522  is  auto-selected
               when cdrecord finds a Philips CDD-522 which is the
               successor of the 521 or one of it's variants  with
               Kodak label.  Cdrecord does not support Session At
               Once recording with these drives.

          philips_dumb
               The driver for Philips  CDD-521  with  pessimistic
               assumptions  is  never  auto-selected.   It may be
               used by hand with drives that  behave  similar  to
               the Philips CDD-521.

          pioneer_dws114x
               The driver for Pioneer DW-S114X  is  auto-selected
               when  cdrecord  finds  one  of  the old non MMC CD
               writers from Pioneer.

          plasmon_rf4100
               The driver for Plasmon RF  4100  is  auto-selected
               when  cdrecord  finds this specific variant of the
               Philips CDD-521.

          ricoh_ro1060c
               The driver for  Ricoh  RO-1060C  is  auto-selected
               when  cdrecord  finds this drive. There is no real
               support for this drive yet.

          ricoh_ro1420c
               The driver for  Ricoh  RO-1420C  is  auto-selected
               when  cdrecord  finds  a  drive with this specific
               variant of the Philips CDD-521 command set.

          scsi2_cd
               The generic SCSI-2 CD-ROM driver is  auto-selected
               whenever  cdrecord finds a pre MMC drive that does
               not support writing or a pre MMC  writer  that  is
               not supported by cdrecord.

          sony_cdu924
               The driver for Sony CDU-924  /  CDU-948  is  auto-
               selected  whenever  cdrecord  finds one of the old
               pre MMC CD writers from Sony.

          teac_cdr50
               The driver for Teac  CD-R50S,  Teac  CD-R55S,  JVC
               XR-W2010, Pinnacle RCD-5020 is auto-selected when-
               ever one of the drives is found that is  known  to
               the  non  MMC  command  set  used by TEAC and JVC.
               Note that many  drives  from  JVC  will  not  work
               because  they do not correctly implement the docu-
               mented command set and JVC has been  unwilling  to
               fix or document the bugs.  There is no support for
               the Session At Once write mode yet.

          tyuden_ew50
               The driver for Taiyo Yuden EW-50 is  auto-selected
               when  cdrecord  finds  a  drive with this specific
               variant of the Philips CDD-521 command set.

          yamaha_cdr100
               The driver for Yamaha CDR-100 / CDR-102  is  auto-
               selected  when  cdrecord  finds one of the old pre
               MMC CD writers from Yamaha.  There is  no  support
               for the Session At Once write mode yet.

          cdr_simul
               The simulation CD-R driver allows  to  run  timing
               and  speed  tests  with  parameters that match the
               behavior of CD writers.

          dvd_simul
               The simulation DVD-R driver allows to  run  timing
               and  speed  tests  with  parameters that match the
               behavior of DVD writers.

          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   1 MB   that   can   be   changed   via  the
          CDR_SIMUL_BUFSIZE environment variable.  The simulation
          driver  correctly simulates even a buffer underrun con-
          dition.  If the -dummy option is present,  the  simula-
          tion 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.  If you like to set driver options without run-
          ning a typical cdrecord task, you need to use the -set-
          dropts  option  in addition, otherwise the command line
          parser in cdrecord  will  complain.   Currently  imple-
          mented driver options are:
          burnfree
               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 drive.

          noburnfree
               Turn the support for Buffer Underrun Free  writing
               off.

          varirec=value
               Turn on the Plextor VariRec writing mode. The man-
               datory  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.

          audiomaster
               Turn on the Yamaha  Audio  Master  Q.  R.  feature
               which  usually  should  result in high quality CDs
               that have less reading problems in Hi-Fi  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 minutes.

          forcespeed
               Normally, modern drives know the highest  possible
               speed for different media and may reduce the speed
               in order to grant best write quality.  This  tech-
               nology  may  be  called:   Plextor PowerRec, Ricoh
               Just-Speed, Yamaha Optimum Write Speed Control  or
               similar.   Some  drives  (e.g.  Plextor, 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  for-
               cespeed  off,  regardless  of  the defaults of the
               drive.

          noforcespeed
               Turn off the force speed feature.

          speedread
               Some ultra high speed drives such as 48x and  fas-
               ter  drives  from Plextor limit the read speed for
               unknown media to e.g. 40x in order to  avoid  dam-
               aged  disks  and  drives.  Using this option tells
               the drive to read any media as fast  as  possible.
               Be  very  careful  as  this may cause the media to
               break in the drive while reading, resulting  in  a
               damaged media and drive!

          nospeedread
               Turn off unlimited read speed.

          singlesession
               Turn the drive into a single session  only  drive.
               This  allows  to  read  defective or non-compliant
               (illegal) media with extremely non-standard  addi-
               tional  (broken/illegal)  TOC  entries  in the TOC
               from the second or higher session. Some  of  these
               disks  become  usable if only the information from
               the first session is used.   You  need  to  enable
               Single  Session  mode before you insert the defec-
               tive disk!

          nosinglesession
               Turn off single session mode. The drive will again
               behave as usual.

          hidecdr
               Hide the fact that a medium might be a  recordable
               medium.   This  allows to make CD-Rs look like CD-
               ROMs and applications believe that  the  media  in
               the drive is not a CD-R.

          nohidecdr
               Turn off hiding CD-R media.

          tattooinfo
               Use  this  option  together  with  -checkdrive  to
               retrieve the image size information 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.

          tattoofile=name
               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 possi-
               ble 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  read-
               able from the pick up side of the CD.

     -setdropts
          Set the driveropts specified by driveropts=option list,
          the  speed  of  the  drive and the dummy flag and exit.
          This allows cdrecord to set drive  specific  parameters
          that  are not directly used by cdrecord like e.g.  sin-
          gle session mode, hide cdr and similar.  It  is  needed
          in  case  that  driveropts=option list should be called
          without planning to run a typical cdrecord task.

     -checkdrive
          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.

     -scanbus
          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/DVD-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.

     -abort
          Try to send an abort sequence to the drive.  If you use
          cdrecord  only,  this should never be needed; but other
          software may leave a drive in  an  unusable  condition.
          Calling  cdrecord  -reset  may  be needed if a previous
          write has been interrupted and  the  software  did  not
          tell the drive that it will not continue to write.

     -overburn
          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 not 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.

     -ignsize
          Ignore the known size of the medium. This option 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 capa-
          city.  This option implies -overburn.

     -useinfo
          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.

          If used together with the -audio option,  cdrecord  may
          be used to write audio CDs from a pipe from cdda2wav if
          you call cdrecord with the *.inf files as track parame-
          ter  list instead of using audio files.  The audio data
          is read from stdin in this case.  See EXAMPLES  section
          below.   Cdrecord first verifies that stdin is not con-
          nected to a  terminal  and  runs  some  heuristic  con-
          sistency  checks  on  the *.inf files and then sets the
          track lengths from the information in the *.inf files.

          If you  like  to  write  from  stdin,  make  sure  that
          cdrecord  is  called  with  a  large  enough FIFO size,
          reduce the write speed to a value below the read  speed
          of the source drive and switch the burn-free option for
          the recording drive on.

     defpregap=#
          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.

     -packet
          Set Packet writing mode. This is an experimental inter-
          face.

     pktsize=#
          Set the packet size to #,  forces  fixed  packet  mode.
          This is an experimental interface.

     -noclose
          Do not close the current track,  useful  only  when  in
          packet  writing  mode.   This is an experimental inter-
          face.

     mcn=med_cat_nr
          Set the Media Catalog Number of the CD to med_cat_nr.

     -text
          Write CD-Text information based  on  information  taken
          from  a  file  that  contains ascii information for the
          text strings.  Cdrecord  supports  CD-Text  information
          based  on  the  content  of  the *.inf files created by
          cdda2wav and CD-Text information based on  the  content
          from  a  CUE  sheet file.  If a CUE sheet file contains
          both (binary  CDTEXTFILE  and  text  based  SONGWRITER)
          entries,  then  the information based on the CDTEXTFILE
          entry will win.

          You need to use the  -useinfo  option  in  addition  in
          order  to  tell  cdrecord  to  read  the *.inf files or
          cuefile=filename in order to tell cdrecord  to  read  a
          CUE  sheet file in addition.  If you like to write your
          own CD-Text information, edit the *.inf  files  or  the
          CUE sheet file with a text editor and change the fields
          that are relevant for CD-Text.

     textfile=filename
          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.
          If both, textfile=filename and CD-Text information from
          *.inf  or  *.cue  files  are present, textfile=filename
          will overwrite the other information.

     cuefile=filename
          Take all recording related information  from  a  CDRWIN
          compliant  CUE  sheet file.  No track files are allowed
          when this option is present  and  the  option  -dao  is
          currently needed in addition.


TRACK OPTIONS
     Track options may be mixed with track file names.

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

     index=list
          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  con-
          sidered  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 correctly 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 writers 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 actu-
          ally 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
          size is a multiple of 2048 bytes.  The file with  track
          data  should contain an ISO-9660 or Rock Ridge filesys-
          tem 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  CD-drives  with  2 KB
          sector size to be used for reading.

          -data is the default, if no other flag is  present  and
          the file does not appear to be of one of the well known
          audio file types.

          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 size is a
          multiple of 2336 bytes.

     -xa  If this flag is  present,  all  subsequent  tracks  are
          written  in  CD-ROM  XA  mode 2 form 1 format. The data
          size is a multiple of 2048 bytes.  The  XA  sector  sub
          headers  will  be  created  by  the  drive.   With this
          option, the write mode is the same as with  the  -multi
          option.

     -xa1 If this flag is  present,  all  subsequent  tracks  are
          written  in  CD-ROM  XA  mode 2 form 1 format. The data
          size is a multiple of 2056 bytes.  The  XA  sector  sub
          headers  are  part of the user data and have to be sup-
          plied by the application that prepares the data  to  be
          written.

     -xa2 If this flag is  present,  all  subsequent  tracks  are
          written  in CD-ROM XA mode 2 form 2 format. The data is
          a multiple of 2324 bytes.  The XA  sector  sub  headers
          will be created by the drive.

     -xamix
          If this flag is  present,  all  subsequent  tracks  are
          written  in a way that allows a mix of CD-ROM XA mode 2
          form 1/2 format. The data size is a  multiple  of  2332
          bytes.   The XA sector sub headers are part of the user
          data and have to be supplied by  the  application  that
          prepares  the  data to be written.  The CRC and the P/Q
          parity ECC/EDC information  (depending  on  the  sector
          type)  have  to  be  supplied  by  the application that
          prepares the data to be written.

     -cdi If this flag is present, the TOC type for the  disk  is
          set to CDI.  This only makes sense with XA disks.

     -isosize
          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
          underrun 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 automat-
          ically 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 infor-
          mation, 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  super-
          seded 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.

     padsize=#
          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 how-
          ever  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 padding.  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.

     -shorttrack
          Allow all subsequent tracks to  violate  the  Red  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 accept the resulting CUE  sheet
          or support RAW writing.

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

     pregap=#
          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.

     -preemp
          If this flag is present, all TOC entries for subsequent
          audio tracks will indicate that the audio data has been
          sampled with 50/15 microsec  pre-emphasis.   The  data,
          however is not modified during the process of transfer-
          ring from file to disk. This option has  no  effect  on
          data tracks.

     -nopreemp
          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 resulting CD will indicate that the
          audio data has permission to be copied  without  limit.
          This option has no effect on data tracks.

     -nocopy
          If this flag is present, all TOC entries for subsequent
          audio tracks of the resulting 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 resulting CD will indicate that the
          audio data has no permission to be copied anymore.

     tsize=#
          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. tsize=250000s).
          See fs= option for possible arguments.


EXAMPLES
     For all examples below, it will be assumed that the  CD/DVD-
     Recorder  is  connected  to  the  primary  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  filesys-
     tem. 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
     by
         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
     real-time 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  exam-
     ple above. Use the dummy write option:

         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 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 dev=2,0 -vall cddb=0 -B -Owav

     and then run

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

     This will try to 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.

     To copy an  audio  CD  from  a  pipe  (without  intermediate
     files), first run

         cdda2wav dev=1,0 -vall cddb=0 -info-only

     and then run

         cdda2wav dev=1,0 -no-infofile -B -Oraw - | \
         cdrecord dev=2,0 -v -dao -audio -useinfo -text *.inf

     This will get all information (including  track  size  info)
     from  the  *.inf  files  and  then  read the audio data from
     stdin.

     If you like to write from stdin, make sure that cdrecord  is
     called with a large enough FIFO size (e.g.  fs=128m), reduce
     the write speed to a value  below  the  read  speed  of  the
     source  drive  (e.g.   speed=12),  and  switch the burn-free
     option   for   the   recording   drive    on    by    adding
     driveropts=burnfree.

     To set drive options without writing a CD (e.g. to switch  a
     drive to single session mode), run

         cdrecord dev=1,0 -setdropts driveropts=singlesession

     If you like to do this when no CD is in the drive, call

         cdrecord        dev=1,0        -force         -setdropts
     driveropts=singlesession

     To copy a CD in clone mode, first read the master CD using:

         readcd dev=b,t,l -clone f=somefile

     or (in case the CD contains many sectors that are unreadable
     by intention) by calling:

         readcd dev=1,0 -clone -nocorr f=somefile

     will create the files somefile and somefile.toc.  Then write
     the CD using:

         cdrecord dev=1,0 -raw96r -clone -v somefile



ENVIRONMENT
     CDR_DEVICE
          This may either hold a device identifier that is  suit-
          able  to the open call of the SCSI transport library or
          a label in the file /etc/default/cdrecord.

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

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

     CDR_FORCERAWSPEED
          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 buffer underruns. Use with care.

     CDR_FORCESPEED
          If this environment  variable  is  set,  cdrecord  will
          allow  you  to  write  at the full DMA speed the system
          supports.  There is no DMA reserve for reading the data
          that is to be written from disk.  This will create high
          potential of buffer underruns. Use with care.

     RSH  If the RSH environment is present, the  remote  connec-
          tion 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  ini-
          tiated 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.


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

          CDR_DEVICE
               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/default/cdrecord  that  allows  to identify a
               specific drive on the system.

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

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

          Any other label
               is an identifier for a specific drive on the  sys-
               tem.  Such an identifier may not contain the char-
               acters ',', '/', '@' or ':'.

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

               teac1= 0,5,0   4    8m   ""

               yamaha= 1,6,0  -1   -1   burnfree

               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.


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


NOTES
     Not all options described in this manual may be supported by
     the GPL variant of cdrecord. Cdrecord issues a warning if an
     attempt is made to use an option that has been  disabled  in
     the GPL variant.

     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
     management is running.

     Disks made in Track At Once mode are not suitable as a  mas-
     ter  for  direct  mass  production by CD manufacturers.  You
     will need the disk at once  option  to  record  such  disks.
     Nevertheless  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
     message 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 multi-session.

     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  real-time
     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  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 sys-
     tem, 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 con-
     nected 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 otherwise you should create a
     CDplus disk which is a multi session  disk  with  the  first
     session  containing  the audio tracks and the following ses-
     sion containing the data track.

     Many operating systems are not able to read more than a sin-
     gle 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:

          http://www.hp.com/isgsupport/cdr/index.html

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

     The Philips CDD 521 CD-Recorder (even in the  upgraded  ver-
     sion) 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.
     Unfortunately,  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 can-
          not 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/DVD-Recorder. For this rea-
     son, there will never be 100% FIFO fill ratio while the FIFO
     is in streaming mode.

DIAGNOSTICS
     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
     usually  is:   I/O  error  unless other problems happen. The
     next words contain a short description 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
     address).

     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 avail-
     able,  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 replace-
     able 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.

BUGS
     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.


CREDITS
     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  implementation 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 of a  BSDI  SCSI
                    transport.

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

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

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


MAILING LISTS
     If you want to actively take  part  on  the  development  of
     cdrecord,  you  may join the developer mailing list via this
     URL:

     http://lists.berlios.de/mailman/listinfo/cdrecord-developers

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


AUTHOR
     Joerg Schilling
     Seestr. 110
     D-13353 Berlin
     Germany

     Additional information can be found on:
     http://www.fokus.fhg.de/usr/schilling/cdrecord.html

     If you have support questions, send them to:

     cdrecord-support@berlios.de
     or cdwrite@other.debian.org

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

     cdrecord-developers@berlios.de
     or schilling@fokus.fhg.de

     To subscribe, use:

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

     The old cdwrite mailing list may be joined by  sending  mail
     to:
          cdwrite-request@other.debian.org

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

          cdwrite@other.debian.org

ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     _______________________________________
    |   ATTRIBUTE TYPE   |  ATTRIBUTE VALUE|
    |____________________|__________________|_
    | Availability       |  SUNWmkcd       |
    |____________________|__________________|_
    | Interface Stability|  Unstable       |
    |____________________|_________________|

NOTES
     This utility is part of cdrtools.  The source  for  cdrtools
     is available in the SUNWmkcdS package.










Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.
Comments