cdrecord



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




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.  Commu-
       nication  on  SunOS  is  done  with the SCSI general driver scg.  Other
       operating systems are using a library simulation of this driver.   Pos-
       sible  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 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=  device-
       name:target,lun.   If  the name of the device node that has been speci-
       fied 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,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 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 com-
       mands via a single unique user interface.


       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= devi-
       cename:scsibus,target,lun is preferred as it hides OS  specific  knowl-
       edge about device names from the user.  A specific OS may not necessar-
       ily support a way to specify a real device file name nor a way to spec-
       ify 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 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 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  rela-
       tion  may  not  be implemented.  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 argu-
       ments 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  pro-
              cess,  that  occur in the CD/DVD-Recorder.  If you get incompre-
              hensible 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 rea-
              son 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 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 disks.

       -immed Tell cdrecord to set the SCSI IMMED  flag  in  certain  commands
              (load/eject/blank/close_track/close_session).   This can be use-
              ful on broken systems with ATAPI harddisk and CD/DVD  writer  on
              the  same  bus  or  with  SCSI  systems  that  don’t use discon-
              nect/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 opera-
              tion 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 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  sup-
              port 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 informa-
              tion).

       -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 session 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 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.  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 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).

       -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
              generated 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  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 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 sup-
              port 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 try-
              ing  to  open the SCSI driver. This allows cdrecord to read it’s
              input from a pipe even when writing  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 inte-
              ger, 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/cdrecord.conf 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/cdrecord.conf.   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 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 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 for-
              mats 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 syn-
              tax as in dd(1), sdd(1) or star(1).  The number representing the
              size  is taken in bytes unless otherwise specified.  If a number
              is followed directly by the letter ‘b’, ‘k’, ‘m’,  ‘s’  or  ‘f’,
              the  size  is  multiplied by 512, 1024, 1024*1024, 2048 or 2352.
              If the size consists of numbers separated by ‘x’ or ‘*’,  multi-
              plication  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  mem-
              ory 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 system on an idle
              machine, your machine is either underpowered, has hardware prob-
              lems  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 con-
              stantly 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 differ-
              ent 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 charac-
              ters ’,’, ’/’, ’@’ or ’:’, it is interpreted as  an  label  name
              that may be found in the file /etc/cdrecord.conf (see FILES sec-
              tion).

       gracetime=#
              Set the grace time before starting to write to # seconds.   Val-
              ues 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 time-
              out, 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  bet-
              ter 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 supported
              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  con-
                     tains 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 completely 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 compli-
                     ant 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  con-
                     vince  manufacturers  to  implement 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 Philips 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 limitations.

              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  assump-
                     tions  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  when-
                     ever 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 whenever  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
                     documented command set and JVC has been unwilling to  fix
                     or  document  the bugs.  There is no support for the Ses-
                     sion 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 writ-
                     ers.

              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 sup-
              port 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 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.  If you
              like to set driver options without running  a  typical  cdrecord
              task,  you need to use the -setdropts option in addition, other-
              wise the command line parser in cdrecord  will  complain.   Cur-
              rently implemented 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 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.

              audiomaster
                     Turn on the Yamaha Audio Master Q. R.  feature which usu-
                     ally should result in high quality  CDs  that  have  less
                     reading  problems  in  Hi-Fi  players.  As this is imple-
                     mented 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 technology 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 forcespeed 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 faster
                     drives from Plextor limit  the  read  speed  for  unknown
                     media  to  e.g.  40x  in order to avoid damaged 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 additional (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  Sin-
                     gle Session mode before you insert the defective 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 applica-
                     tions 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 possible  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.

       -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.  single 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 soft-
              ware 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 exceptions  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 circum-
              vented 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 capacity.  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 parameter 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  connected to a terminal and runs some heuristic consis-
              tency 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 interface.

       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 writ-
              ing mode.  This is an experimental interface.

       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  sec-
              onds 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 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 recog-
              nizes 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).   How-
              ever,  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  normally  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 swap-
              ping 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 size 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 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  supplied 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 head-
              ers 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 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.

       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 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 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  transferring  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 filesys-
              tem image.
              In Disk at Once mode and with some drives that use the TEAC pro-
              gramming  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 cdim-
       age.raw:

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

       To  create  an  image  for a ISO 9660 filesystem with Rock Ridge exten-
       sions:

           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
       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 han-
       dle quad speed also in the loaded case.

       To record a pure CD-DA (audio) at single speed, with  each  track  con-
       tained 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 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  inten-
       tion) 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 suitable to the
              open  call  of the SCSI transport library or a label in the file
              /etc/cdrecord.conf.

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



FILES

       /etc/cdrecord.conf
              Note:  The  location  of  cdrecord.conf  has  been  changed from
              /etc/default to /etc.

              Default  values  can  be  set  for  the  following  options   in
              /etc/cdrecord.conf.  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/cdrecord.conf 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 system.
                     Such an identifier may not contain  the  characters  ’,’,
                     ’/’, ’@’ 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 val-
                     ues 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 scsi-
                     bus 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 master 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/Plas-
       mon/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 sup-
       ported 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 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/recon-
       nect 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 otherwise 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:

            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 version) has sev-
       eral 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  func-
       tionality of the scg driver.  Unfortunately, the sg driver on Linux has
       several severe bugs:

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

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

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

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

       ·      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 reason, 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 mes-
       sage:

       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 available, fol-
       lowed 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 cur-
       rent command, the text deferred error is appended.

       The sixth line is the error text for the sense code and the sense qual-
       ifier 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.


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 transport implemen-
                      tation 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



Joerg Schilling                   Version 2.0                      CDRECORD(1)

Man(1) output converted with man2html