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.

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


       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  trans-
       port layers for your platform, use dev= HELP:



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

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

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



GENERAL OPTIONS

       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 com-
              mand  transport  by one.  This helps to debug prob-
              lems during the writing process, that occur in  the
              CD-Recorder.   If  you  get  incomprehensible error
              messages you should  use  this  flag  to  get  more
              detailed output.  -VV will show data buffer content
              in addition.  Using -V or -VV slows down  the  pro-
              cess and may be the reason for a buffer underrun.

       debug=#, -d
              Set  the  misc  debug  value to # (with debug=#) or
              increment the misc debug level by one (with -d). If
              you  specify -dd, this equals to debug=2.  This may
              help to find problems while opening  a  driver  for
              libscg  as  well  as  with  sector sizes and sector
              types.  Using -debug slows down the process and may
              be the reason for a buffer 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
              nect.  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 com-
              mand to return immediately while the operation pro-
              ceeds  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  note-
              books, the -immed option has been added.

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

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

       minbuf=value
              The # minbuf= options allows to define the  minimum
              drive  buffer fill ratio for the experimental ATAPI
              wait mode that is intended to free the IDE  bus  to
              allow hard disk and CD/DVD writer to be on the same
              IDE cable.  As the wait mode currently  only  works
              when  the  verbose  option  -v  has been specified,
              cdrecord implies the 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-Recorder  will  go through all steps of the
              recording process, but the laser is turned off dur-
              ing  this procedure.  It is recommended to run sev-
              eral tests before actually  writing  to  a  Compact
              Disk  or  Digital Versatile Disk, if the timing and
              load response of the system is not known.

       -dao   Set SAO (Session At Once)  mode  which  is  usually
              called  Disk  At  Once  mode.   This currently only
              works with MMC drives that support Session At  Once
              -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 signif-
              icantly more CPU time than other  write  modes.  If
              your  CPU  is  too  slow, this may result in buffer
              underruns.

       -raw96p
              Select Set RAW writing mode with 2352 byte  sectors
              plus 96 bytes of packed P-W subchannel data result-
              ing 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 sig-
              nificantly more CPU time than other write modes. If
              your  CPU  is  too  slow, this may result in buffer
              underruns.

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

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

       -atip  Retrieve and print out the ATIP (absolute  Time  in
              Pregroove)  info  of  a CD/DVD recordable or CD/DVD
              rewritable media.  With this option, cdrecord  will
              try  to retrieve the ATIP info. If the actual drive
              does not support to read the ATIP info, it  may  be
              that  only  a reduced set of information records or
              even nothing is 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  dos not have atip information but there
              is equivalent prerecorded information that is  read
              out and printed.

       -fix   The disk will only be fixated (i.e. a TOC for a CD-
              Reader will be written).  This may be used, if  for
              some  reason the disk has been written but not fix-
              ated. 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 ses-
              sion disk, mkisofs needs to read  the  old  session
              from the device before writing output.  This cannot
              be done if cdrecord opens the SCSI  driver  at  the
              same time.

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

       -eject Eject  disk  after  doing  the  work.  Some Devices
              (e.g. Philips) need to eject the medium before cre-
              ating  a  new disk. Doing a -dummy test and immedi-
              ately 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 and
              about 172 KB/s for CD-Audio.  If no speed option is
              present,  cdrecord  will try to get the speed value
              from the CDR_SPEED environment.  If your drive  has
              problems  with  speed=2  or speed=4, you should try
              speed=0.

       blank=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 nec-
       essary to use blank=all if a  drive  reports  a  specified
       command  as  being  invalid.   If  used  together with the
       -force flag, this option may be used to blank CD-RW  disks
       that  otherwise  cannot be blanked. Note that you may need
       to specify blank=all because some drives will not continue
       with  certain  types  of  bad  CD-RW disks. Note also that
       cdecord does it's best if the -force flag is used  but  it
       finally depends on the drive's firmware whether the blank-
       ing operation will succeed or not.

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

              The size specified by the fs= argument includes the
              shared memory that is  needed  for  administration.
              This  is  at  least  one page of memory.  If no fs=
              option is present, cdrecord will  try  to  get  the
              fifo  size value from the CDR_FIFOSIZE 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
              only  MMU page table entries for 16 MBytes per pro-
              cess. 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 hard-
              ware problem. I have no information on  PC-hardware
              reflecting this problem.

              If  you  have  buffer underruns or similar problems
              and observe a zero fifo empty count, you have hard-
              ware problems. The fifo size in this case is suffi-
              cient.

       dev=target
              Sets the SCSI target for the CD-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 manu-
              als of the target operating system.  On  a  FreeBSD
              system  without  CAM  support,  you need to use the
              control device (e.g.   /dev/rcd0.ctl).   A  correct
              device   specification   in   this   case   may  be
              dev=/dev/rcd0.ctl:@ .

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

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

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

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

       timeout=#
              Set the default SCSI command  timeout  value  to  #
              seconds.   The  default SCSI command timeout is the
              minimum timeout used for sending SCSI commands.  If
              a  SCSI command fails due to a timeout, you may try
              to raise the default SCSI command timeout above the
              timeout  value  of the failed command.  If the com-
              mand runs correctly with a raised command  timeout,
              please report the better timeout value and the cor-
              driver  is that the -speed or -dummy will not work.

              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  tim-
              ing tests for drives that do not support the -dummy
              option.  The simulation drivers implement  a  drive
              with  a  buffer size of 1MB that can be changed via
              the CDR_SIMUL_BUFSIZE  environment  variable.   The
              simulation driver correctly simulates even a buffer
              underrun condition.  If the -dummy option  is  pre-
              sent,  the  simulation  is not aborted in case of a
              buffer underrun.

       driveropts=option list
              Set driver specific options. The options are speci-
              fied  a  comma  separated  list.   To get a list of
              valid options use driveropts=help together with the
              -checkdrive  option.   Currently 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 Yahama Audio Master Q. R.   fea-
                     ture  which  usually  should  result in high
                     quality CDs that have less reading  problems
                     in  HiFi players.  As this is implemented as
                     a variant of the Session at Once write mode,
                     it  will  only  work if you select SAO write
                     mode and there is no need to  turn  it  off.
                     The  Audio Master mode will work with a lim-
                     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.

              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 num-
                     ber 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 dis-
                     torted  image  that  later may appear undis-
                     torted on the disk.

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

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

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

       -overburn
              Allow cdrecord to write more than the official size
              of  a  medium. This feature is usually called over-
              burning 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 usu-
              ally 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 now allow to overburn as
              much as you might like and limit the size of  a  CD
              to  e.g.  76  minutes.  This problem may be 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  options
              should  be  used  with extreme care, it exists only
              for debugging purposes don't use it for other  rea-
              sons.   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.

       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
              files. If you like to write your own CD-Text infor-
              mation, edit the *.inf files with a text editor and
              change the field 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 cor-
              rect data less ambiguous.  This is the best  option
              to  be  used to copy CD-Text data from existing CDs
              that already carry CD-Text information. To get data
              in  a  format suitable for this option use cdrecord
              -vv -toc to extract the information from disk.



TRACK OPTIONS

       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 sec-
              onds) 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 for-
              mat.  The file with data  for  this  tracks  should
              contain  stereo,  16-bit  digital  audio with 44100
              samples/s.  The byte order should be the following:
              MSB  left, LSB left, MSB right, LSB right, MSB left
              and so on. The track should be a multiple  of  2352
              bytes.  It  is not possible to put the master image
              of an audio track on a raw disk because  data  will
              be  read  in  multiple  of  2352  bytes  during the
              recording process.

              If a filename ends in .au or .wav the file is  con-
              sidered   to  be  a  structured  audio  data  file.
              Cdrecord assumes that the file in this  case  is  a
              16-bit  stereo  samples in PCM coding at 44100 sam-
              ples/second.

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

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

       -swab  If this flag is present, audio data is  assumed  to
              be  in  byte-swapped  (little-endian)  order.  Some
              types of CD-Writers e.g. Yamaha, Sony and  the  new
              SCSI-3/mmc  drives  require  audio  data to be pre-
              sented 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 swapping is necessary to make the byte order
              of the input data fit the required  byte  order  of
              the  recorder.   Cdrecord  will not show you if the
              -swab flag was actually present for a track.

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

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

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

              2048 bytes.

       -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
              under  run  that  would cause a defective copy.  Do
              not use this option on files created by mkisofs and
              in  case  cdrecord reads the track data from stdin.
              In the first case, you would prevent cdrecord  from
              writing   the  amount  of  padding  that  has  been
              appended by mkisofs and in the latter case, it will
              not work because stdin is not seekable.

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

              Note also that this option cannot be used to deter-
              mine 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 sub-
              sequent  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, inde-
              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 Read
              Book track length standard which requires a minimum
              track  length  of  4  seconds.  This option is only
              useful when used in  SAO  or  RAW  mode.   Not  all
              drives  support  this  feature.  The  drive must be
              accept the resulting CUE sheet or support RAW writ-
              ing.

       -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 subse-
              quent audio tracks will  indicate  that  the  audio
              data  has been sampled with 50/15 µsec preemphasis.
              The data, however is not modified during  the  pro-
              cess  of  transferring  from  file  to  disk.  This
              option has no effect on data tracks.

       -nopreemp
              If this flag is present, all TOC entries for subse-
              quent  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 subse-
              quent audio tracks of the resulting CD  will  indi-
              cate  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 subse-
              quent audio tracks of the resulting CD  will  indi-
              cate  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 subse-
              the TEAC programming interface, even  in  Track  at
              Once  mode, cdrecord needs to know the size of each
              track before starting to write the disk.   Cdrecord
              now  checks  this  and  aborts  before  starting to
              write.  If  this  happens  you  will  need  to  run
              mkisofs -print-size before and use the output (with
              `s' appended) as an argument to the  tsize=  option
              of cdrecord (e.g. tsize=250000s).
              See fs= option for possible arguments.



EXAMPLES

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

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

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

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

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

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

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

       On Linux:

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

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

       If  the  overall speed of the system is sufficient and the
       structure of the filesystem is not too  complex,  cdrecord
       will  run  without  creating  an  image  of  the  ISO 9660
       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
       Cdrecord  runs  at  priority 59 on Solaris, you should run
       mkisofs at no more than priority 58. On other systems, you
       should run mkisofs at no less than nice --18.

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

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

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

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

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

       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.cdau-
       dio, etc:

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

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

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

       and then run

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

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

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

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

       and then run

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

       This will try copy  track  indices  and  to  read  CD-Text
              -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  poten-
              tial of buffer underruns. Use with care.

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

              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 perfor-
              mance 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/default/cdrecord
              Default values can be set for the following options
              in  /etc/default/cdrecord.  For example: CDR_FIFOS-
              IZE=8m or CDR_SPEED=2

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

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

              CDR_FIFOSIZE
                     values for speed and fifosize may be set  to
                     -1  to  tell  cdrecord  to  use  the  global
                     defaults.  A typical line may look this way:

                     teac1= 0,5,0   4    8m

                     yamaha= 1,6,0  -1   -1

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



SEE ALSO

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



NOTES

       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/Plasmon/Grundig drives as
       well  as Yamaha CDR-100 and CDR-102 work also. The Plasmon
       RF-4100 work, but has not  tested  in  multi  session.   A
       Philips  CDD-521 that has not been upgraded will not work.
       The Sony CDU-924 has been tested, but does not support XA-
       mode2  in hardware.  The sony therefore cannot create con-
       forming 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.
       sible  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  privi-
       leges  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 dis-
       connect/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 ses-
       sion 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:

       Unfortunately, the sg driver on Linux has  several  severe
       bugs:

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

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

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

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

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

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



DIAGNOSTICS

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

       Starting  to  write  CD at speed %d in %s mode for %s ses-
       sion.

       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  ker-
       nel.  It  usually is: I/O error unless other problems hap-
       pen. 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 pos-
       available,  followed  by  the  segment number that is only
       valid if the command was a copy command. If the error mes-
       sage  is  not directly related to the current command, the
       text deferred error is appended.

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

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

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

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

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


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

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

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

       Heiko Eißfeldt (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-develop-
       ers

       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

       Of 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-develop-
       ers
       or  http://lists.berlios.de/mailman/listinfo/cdrecord-sup-
       port


Man(1) output converted with man2html


FhG FhG Homepage FhG FOKUS FOKUS Homepage Schily Schily's Homepage VED powered