CDRECORD linux command manual

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 communica-
       tion. 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 inte-
       grated kernel driver subsystem that allows to access any  drive  using
       SCSI commands 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 neces-
       sarily 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 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 ker-
       nel 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
       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 trans-
              port by one.  This helps to debug problems during  the  writing
              process,  that occur in the CD/DVD-Recorder.  If you get incom-
              prehensible error messages you should use this flag to get more
              detailed  output.   -VV  will show data buffer content in addi-
              tion.  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 open-
              ing 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
              operation proceeds in background, making the bus usable for the
              other  devices  and  avoiding  the  system  freeze.  This is an
              experimental feature which may work or not,  depending  on  the
              model of the CD/DVD writer.  A correct solution would be to set
              up a correct cabling but there seem to be notebooks around that
              have  been  set up the wrong way by the manufacturer.  As it is
              impossible to fix this problem in notebooks, the -immed  option
              has been added.

              A  second  experimental  feature  of the -immed flag is to tell
              cdrecord to try to wait short times 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  fea-
              ture, 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  min-
              buf=  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 sup-
              port 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
              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 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 ses-
              sion 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 opera-
              tion.

       -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 noth-
              ing 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 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
              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/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 cer-
       tain 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 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 '*',
              multiplication of the two numbers is performed.  Thus fs=10x63k
              will specify a FIFO size of 630 kBytes.

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

              The  FIFO is used to increase buffering for the real time writ-
              ing 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 hard-
              ware 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  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
              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 charac-
              ters  ',',  '/', '@' or ':', it is interpreted as an label name
              that may be found in the  file  /etc/cdrecord.conf  (see  FILES
              section).

       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
              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  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 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 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  com-
                     pliant  drive  that supports to write DVDs and an appro-
                     priate 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 sup-
                     port 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  writ-
                     ers 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
                     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 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
                     usually 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 Opti-
                     mum  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,  regard-
                     less 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  (bro-
                     ken/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 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
                     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 fea-
                     ture. 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 previ-
                     ous 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  software did not tell the drive that it will not con-
              tinue 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 overburn-
              ing 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  veri-
              fies  that  stdin  is not connected to a terminal and runs some
              heuristic consistency 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
              writing 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  SONG-
              WRITER)  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 informa-
              tion. 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 possi-
              ble 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
              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).   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,  frag-
              ment 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 con-
              tains  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 sec-
              onds.  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 cur-
              rently 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  regu-
              lar  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 argu-
              ment 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 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  com-
              pared 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 suit-
                     able 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 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 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 discon-
       nect/reconnect to either the SCSI bus that is  connected  to  the  CD-
       Recorder or the source disk.

       A Compact Disc can have no more than 99 tracks.

       When  creating a disc with both audio and data tracks, the data should
       be on track 1 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
       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 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
       qualifier if available.  If the type of the device is known, the sense
       data is decoded from tables in scsierrs.c .  The text is  followed  by
       the error value for a field replaceable unit.

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

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

       The following message is not an error:

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

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

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  imple-
                      mentation 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)