


Schily's USER COMMANDS                                CDRECORD(1)



NNAAMMEE
     cdrecord - record audio or data CD, DVD or BluRay

SSYYNNOOPPSSIISS
     ccddrreeccoorrdd [ _g_e_n_e_r_a_l _o_p_t_i_o_n_s ][ ddeevv==_d_e_v_i_c_e ][ _t_r_a_c_k _o_p_t_i_o_n_s  ]
     _t_r_a_c_k_1..._t_r_a_c_k_n


DDEESSCCRRIIPPTTIIOONN
     CCddrreeccoorrdd is used to record data or audio Compact Discs on an
     Orange  Book  CD-recorder,  to  write  DVD  media  on a DVD-
     recorder or to write BluRay media on a BluRay-recorder.

  DDeevviiccee nnaammiinngg
     Most users do not need to care about device naming  at  all.
     If  no  ddeevv==  option was specified, ccddrreeccoorrdd implements aauuttoo
     ttaarrggeett support and automagically finds  the  drive  in  case
     that  exactly one CD-ROM type drive is available in the sys-
     tem.  In case that more than one CD-ROM type drive exists on
     the system, a list of possible device name parameters may be
     retrieved with ccddrreeccoorrdd -ssccaannbbuuss or from the target  example
     from  the output of ccddrreeccoorrdd ddeevv==hheellpp, then the ddeevv== parame-
     ter may be set based on the device listing.

     The _d_e_v_i_c_e parameter to  the  ddeevv==  option  explained  below
     refers  to _s_c_s_i_b_u_s/_t_a_r_g_e_t/_l_u_n of the CD/DVD/BluRay-recorder.
     If a file /etc/default/cdrecord exists, the parameter to the
     ddeevv== option may also be a drive name label in said file (see
     FILES section).


  CCoonnssttrraaiinnttss ffoorr rruunnnniinngg ccddrreeccoorrdd
     On SSVVrr44 compliant systems, ccddrreeccoorrdd uses the real-time class
     to  get  the  highest  scheduling  priority that is possible
     (higher than all kernel processes).  On systems  with  PPOOSSIIXX
     rreeaall--ttiimmee sscchheedduulliinngg 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
     ccddrreeccoorrdd either needs  to  be  run  as  root,  needs  to  be
     installed  suid  root  or  must  be  called via RRBBAACCss pfexec
     mechanism.


  FFiillee ttoo ttrraacckk mmaappppiinngg
     In _T_r_a_c_k _A_t _O_n_c_e mode, each _t_r_a_c_k 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  _s_t_d_i_n.  In the other write
     modes,  the  direct  file  to  track  relation  may  not  be



Joerg Schilling     Last change: Version 3.0                    1






Schily's USER COMMANDS                                CDRECORD(1)



     implemented.   In  -cclloonnee  mode,  a single file contains all
     data for the whole disk.  To allow DVD writing on  platforms
     that do not implement large file support, ccddrreeccoorrdd concaten-
     ates all file arguments to a single track  when  writing  to
     DVD media.


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

  IInnffoorrmmaattiivvee ooppttiioonnss
     -hheellpp
          display version information for  ccddrreeccoorrdd  on  standard
          output.

     -vveerrssiioonn
          Print version information and exit.

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

  MMeeddiiaa wwrriittee mmooddee ooppttiioonnss
     -dduummmmyy
          The -dduummmmyy option modifies the current write  strategy.
          The CD/DVD/BluRay-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 several
          tests before actually writing  to  a  Compact  Disk  or
          Digital Versatile Disk, if the timing and load response
          of the current system is not yet known.

          The -dduummmmyy option does not  work  with  all  media  and
          write modes.  DVD+ media and BluRay media does not sup-
          port dduummmmyy writes and most CD-recorders do not  support
          dduummmmyy writes in raw mode.

     -mmuullttii
          Allow multi-session CDs  or  multi-border  DVDs  to  be
          made.  This flag needs to be present on all sessions of
          a multi-session or multi-border disk, except  you  want
          to  create a session on a CD that will be the last ses-
          sion on the CD-media.

          For CD-media, the fixation will be done in a  way  that
          allows  the CD/DVD/BluRay-recorder to append additional
          sessions later. This is done by generating a TOC with a
          link  to  the next program area. The so generated media
          is not 100% compatible to manufactured CDs (except  for
          CDplus).  Use  only for recording of multi-session CDs.
          If this option is present, the default  track  type  is



Joerg Schilling     Last change: Version 3.0                    2






Schily's USER COMMANDS                                CDRECORD(1)



          CCDD--RROOMM  XXAA  mmooddee  22  ffoorrmm 11 and the sector size is 2048
          bytes. The XA sector subheaders will be created by  the
          drive.  The  _S_o_n_y  drives  have no hardware support for
          CCDD--RROOMM XXAA mmooddee 22 ffoorrmm 11.  You have to specify the -ddaattaa
          option  in order to create multi-session disks on these
          drives.  If you like to record a multi-session disk  in
          SAO mode, you need to force CCDD--RROOMM sectors by including
          the -ddaattaa option.  Not all drives  allow  multi-session
          CDs in SAO mode.

          For DVD media, -mmuullttii switches the write mode to iinnccrree--
          mmeennttaall  ppaacckkeett rreeccoorrddiinngg.  There is currently no way to
          prevent the ability  to  append  further  sessions  and
          there is currently only support for DVD-R/DVD-RW media.
          To reuse a DVD-RW that has previously been  written  in
          iinnccrreemmeennttaall  ppaacckkeett  rreeccoorrddiinngg mode for different write
          modes, you need to blank the entire media before.

     -ddaaoo

     -ssaaoo Set SSAAOO ((SSeessssiioonn AAtt OOnnccee)) mode which is usually  called
          DDiisskk  AAtt OOnnccee mode.  This currently only works with MMC
          drives that support SSeessssiioonn AAtt OOnnccee  mode.   Note  that
          cdrecord  needs  to  know  the  size  of  each track in
          advance for this  mode  (see  the  mmkkiissooffss  -pprriinntt-ssiizzee
          option and the _E_X_A_M_P_L_E_S section for more information).

          There are several CD writers  with  bad  firmware  that
          result in broken disks when writing in TAO or SAO mode.
          If you find any problems with the layout of a  disk  or
          with  subchannel  content  (e.g.  wrong  times  on  the
          display when playing the CD) and your drive supports to
          write  in  -rraaww9966rr or -rraaww1166 mode, you should give it a
          try.

     -ttaaoo Set TTAAOO ((TTrraacckk AAtt  OOnnccee))  wwrriittiinngg  mmooddee..  This  is  the
          default write mode in previous ccddrreeccoorrdd versions.  With
          most drives, this write mode  is  required  for  multi-
          session recording.

          There are several CD writers  with  bad  firmware  that
          result in broken disks when writing in TAO or SAO mode.
          If you find any problems with the layout of a  disk  or
          with  subchannel  content  (e.g.  wrong  times  on  the
          display when playing the CD) and your drive supports to
          write  in  -rraaww9966rr or -rraaww1166 mode, you should give it a
          try.

     -rraaww Set RRAAWW wwrriittiinngg mmooddee.. Using  this  option  defaults  to
          -rraaww9966rr.   Note that cdrecord needs to know the size of
          each track in advance for this mode  (see  the  mmkkiissooffss
          -pprriinntt-ssiizzee  option  and  the _E_X_A_M_P_L_E_S section for more



Joerg Schilling     Last change: Version 3.0                    3






Schily's USER COMMANDS                                CDRECORD(1)



          information).

     -rraaww9966rr
          Set RRAAWW wwrriittiinngg mmooddee with 2352  byte  sectors  plus  96
          bytes of raw P-W sub-channel data resulting in a sector
          size of 2448 bytes.  This is the preferred raw  writing
          mode  as it gives best control over the CD-writing pro-
          cess.  Writing data disks in raw  mode  needs  signifi-
          cantly  more  CPU  time than other write modes. If your
          CPU is too slow, this may result in  buffer  underruns.
          Note that cdrecord needs to know the size of each track
          in advance for this mode (see the  mmkkiissooffss  -pprriinntt-ssiizzee
          option and the _E_X_A_M_P_L_E_S section for more information).

     -rraaww9966pp
          Set RRAAWW wwrriittiinngg mmooddee with 2352  byte  sectors  plus  96
          bytes  of  packed  P-W  sub-channel data resulting in a
          sector size of 2448 bytes.  This is the less  preferred
          raw writing mode as only a few recorders support it and
          some of these  recorders  have  bugs  in  the  firmware
          implementation.   Don't  use this mode if your recorder
          supports -rraaww9966rr or -rraaww1166.  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
          mmkkiissooffss -pprriinntt-ssiizzee option and the _E_X_A_M_P_L_E_S section for
          more information).

     -rraaww1166
          Set RRAAWW wwrriittiinngg mmooddee with 2352  byte  sectors  plus  16
          bytes  of  P-Q  sub-channel  data resulting in a sector
          size of 2368 bytes.  If a  recorder  does  not  support
          -rraaww9966rr,  this  is  the preferred raw writing mode.  It
          does not allow to write _C_D-_T_e_x_t or _C_D+_G_r_a_p_h_i_c_s  but  it
          is  the  only  raw writing mode in cheap CD-writers, as
          these cheap writers in most cases do not  support  -ddaaoo
          mode.   Don't  use  this mode if your recorder supports
          -rraaww9966rr.  Writing data disks in raw mode needs signifi-
          cantly  more  CPU  time than other write modes. If your
          CPU is too slow, this may result in  buffer  underruns.
          Note that cdrecord needs to know the size of each track
          in advance for this mode (see the  mmkkiissooffss  -pprriinntt--ssiizzee
          option and the _E_X_A_M_P_L_E_S section for more information).

  CCddrreeccoorrdd ffuunnccttiioonnaall ooppttiioonnss
     -aabboorrtt
          Try to send an aabboorrtt sequence to the drive.  If you use
          ccddrreeccoorrdd  only,  this should never be needed; but other
          software may leave a drive in  an  unusable  condition.
          Calling  ccddrreeccoorrdd  -rreesseett  may  be needed if a previous
          write has been interrupted and  the  software  did  not



Joerg Schilling     Last change: Version 3.0                    4






Schily's USER COMMANDS                                CDRECORD(1)



          tell the drive that it will not continue to write.

     -aattiipp
          Retrieve and print out the ATIP (Absolute Time In  Pre-
          groove)   info   of   a   CD/DVD/BluRay  recordable  or
          CD/DVD/BluRay re-writable  media.   With  this  option,
          ccddrreeccoorrdd  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 ccddrreeccoorrdd 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.

     bbllaannkk==_t_y_p_e
          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 the last 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 bbllaannkk==aallll if a drive reports a speci-
          fied command as being invalid.  If used  together  with
          the -ffoorrccee flag, this option may be used to blank CD-RW
          disks that otherwise cannot be blanked. Note  that  you
          may  need to specify bbllaannkk==_a_l_l because some drives will
          not continue with certain types  of  bad  CD-RW  disks.
          Note  also  that  ccddrreeccoorrdd  does its best if the -ffoorrccee
          flag is used but it  finally  depends  on  the  drive's
          firmware whether the blanking operation will succeed or
          not.




Joerg Schilling     Last change: Version 3.0                    5






Schily's USER COMMANDS                                CDRECORD(1)



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

     -cclloonnee
          Tells ccddrreeccoorrdd  to  handle  images  created  by  _r_e_a_d_c_d
          -_c_l_o_n_e.  The -cclloonnee write mode may only be used in con-
          junction with the  -rraaww9966rr  or  -rraaww1166  option.   Using
          -cclloonnee  together with -rraaww9966rr is preferred as it allows
          to write  all  sub-channel  data.   The  -rraaww1166  option
          should  only be used with drives that do not support to
          write in -rraaww9966rr mode.

          Note that copying in cclloonnee mode disables certain levels
          of  error correction and thus always results in a qual-
          ity degradation. Avoid copying audio CDs in cclloonnee  mode
          for this reason.

     ccuueeffiillee==_f_i_l_e_n_a_m_e
          Take all recording-related information from  a  CDRWIN-
          compliant  CCUUEE  sshheeeett file.  No track-file arguments to
          ccddrreeccoorrdd are allowed when this option  is  present  and
          one  of  the  following  options:   -ddaaoo,  -ssaaoo,  -rraaww,
          -rraaww1166, -rraaww9966rr is needed in addition.

     ddeeffpprreeggaapp==#
          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 the future.

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








Joerg Schilling     Last change: Version 3.0                    6






Schily's USER COMMANDS                                CDRECORD(1)



          The following driver names are supported:

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

          mmmmcc__bbdd
               The generic  SCSI-3/mmc  BluRay  driver  is  auto-
               selected  whenever ccddrreeccoorrdd finds an MMC-compliant
               drive that does support to write BluRay media or a
               multi  system  that  contains a BluRay disk as the
               current medium.  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.

          mmmmcc__bbddrr
               The generic  SCSI-3/mmc  BluRay  driver  is  auto-
               selected  whenever ccddrreeccoorrdd finds an MMC-compliant
               drive that does support to write BluRay BD-R media
               or a multi system that contains a BluRay BD-R disk
               as the current medium.

          mmmmcc__bbddrree
               The generic  SCSI-3/mmc  BluRay  driver  is  auto-
               selected  whenever ccddrreeccoorrdd finds an MMC-compliant
               drive that does  support  to  write  BluRay  BD-RE
               media  or  a  multi  system that contains a BluRay
               BD-RE disk as the current medium.

          mmmmcc__ccdd
               The generic  SCSI-3/mmc  CD-ROM  driver  is  auto-
               selected  whenever ccddrreeccoorrdd finds an 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 ccddrreeccoorrdd.

          mmmmcc__ccdd__ddvvdd
               The generic  SCSI-3/mmc  CD/DVD/BluRay  driver  is
               auto-selected  whenever ccddrreeccoorrdd finds an 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.

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



Joerg Schilling     Last change: Version 3.0                    7






Schily's USER COMMANDS                                CDRECORD(1)



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

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

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

          mmmmcc__ddvvddpplluussrr
               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+RW Alliance does not like that there is a
               simulation mode for DVD+R media.   The  author  of
               ccddrreeccoorrdd tries to convince manufacturers to imple-
               ment a simulation mode  for  DVD+R  and  implement
               support.   DVD+R only supports one write mode that
               is somewhere between  Track  At  Once  and  Packet
               writing; this mode is selected in ccddrreeccoorrdd via the
               -ddaaoo/-ssaaoo option.

          mmmmcc__ddvvddpplluussrrww
               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  need  to  be
               formatted  before  their first use, cdrecord auto-
               detects this medium state and  performs  a  format
               before  it starts to write.  Note that for unknown
               reason, the DVD+RW 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



Joerg Schilling     Last change: Version 3.0                    8






Schily's USER COMMANDS                                CDRECORD(1)



               that  is  close  to  Packet  writing; this mode is
               selected in ccddrreeccoorrdd via the -ddaaoo/-ssaaoo option.

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

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

          pphhiilliippss__ccdddd552211
               The driver for Philips  CDD-521  is  auto-selected
               when ccddrreeccoorrdd 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 similarly to
               this drive.  All Philips CDD-521 or similar drives
               (see  other  drivers  in this list) do not support
               Session At Once recording.

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

          pphhiilliippss__ccdddd552222
               The driver for Philips  CDD-522  is  auto-selected
               when ccddrreeccoorrdd finds a Philips CDD-522 which is the
               successor of the 521 or one of its  variants  with
               Kodak label.  CCddrreeccoorrdd does not support Session At
               Once recording with these drives.

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

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

          ppllaassmmoonn__rrff44110000
               The driver for Plasmon RF  4100  is  auto-selected
               when  ccddrreeccoorrdd  finds this specific variant of the



Joerg Schilling     Last change: Version 3.0                    9






Schily's USER COMMANDS                                CDRECORD(1)



               Philips CDD-521.

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

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

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

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

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

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

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

          bbdd__ssiimmuull
               The simulation BluRay driver allows to run  timing
               and  speed  tests  with  parameters that match the
               behavior of BluRay writers.

          ccddrr__ssiimmuull
               The simulation CD-R driver allows  to  run  timing



Joerg Schilling     Last change: Version 3.0                   10






Schily's USER COMMANDS                                CDRECORD(1)



               and  speed  tests  with  parameters that match the
               behavior of CD-writers.

          ddvvdd__ssiimmuull
               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:
          ccddrr__ssiimmuull  and  ddvvdd__ssiimmuull.   These  driver  entries are
          designed to make timing tests at any  speed  or  timing
          tests for drives that do not support the -dduummmmyy option.
          The simulation drivers implement a drive with a  buffer
          size   of   1 MB   that   can   be   changed   via  the
          CCDDRR__SSIIMMUULL__BBUUFFSSIIZZEE environment variable.  The simulation
          driver  correctly simulates even a buffer underrun con-
          dition.  If the -dduummmmyy option is present,  the  simula-
          tion is not aborted in case of a buffer underrun.

     ddrriivveerrooppttss==_o_p_t_i_o_n _l_i_s_t
          Set driver specific options. The options are  specified
          as  a  comma  separated  list.   To get a list of valid
          options use ddrriivveerrooppttss==_h_e_l_p together with  the  -_c_h_e_c_k_-
          _d_r_i_v_e  option.   If  you  like  to  set  driver options
          without running a typical ccddrreeccoorrdd task,  you  need  to
          use  the  -sseettddrrooppttss  option in addition, otherwise the
          command  line  parser  in   ccddrreeccoorrdd   will   complain.
          Currently implemented driver options are:

          bbuurrnnffrreeee
               Turn the support for Buffer Underrun Free  writing
               on.   This  only  works  for  drives  that support
               Buffer Underrun  Free  technology.   This  may  be
               called:  SSaannyyoo BBUURRNN--PPrrooooff, RRiiccoohh JJuusstt--LLiinnkk, YYaammaahhaa
               LLoosssslleessss--LLiinnkk or similar.

               The default is to turn BBUURRNN--FFrreeee  off,  regardless
               of the defaults of the drive.

          nnoobbuurrnnffrreeee
               Turn the support for Buffer Underrun Free  writing
               off.

          vvaarriirreecc==_v_a_l_u_e
               Turn on the PPlleexxttoorr VVaarriiRReecc writing mode. The man-
               datory  parameter  _v_a_l_u_e 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 VVaarriiRReecc to work.

          ggiiggaarreecc==_v_a_l_u_e
               Manage  the  PPlleexxttoorr  GGiiggaaRReecc  writing  mode.  The



Joerg Schilling     Last change: Version 3.0                   11






Schily's USER COMMANDS                                CDRECORD(1)



               mandatory  parameter  _v_a_l_u_e  is  the disk capacity
               ratio compared to normal recording  and  currently
               may be selected from 0.6, 0.7, 0.8, 0.9, 1.0, 1,1,
               1.2, 1.3, 1.4.  If values < 1.0 are used, then the
               effect is similar to the YYaammaahhaa AAuuddiioo MMaasstteerr QQ.. RR..
               feature. If values > 1.0 are used, then  the  disk
               capacity is increased.

               Not all drives support all GGiiggaaRReecc values.  When a
               drive uses the GGiiggaaRReecc feature, the write speed is
               limited to 8x.

          aauuddiioommaasstteerr
               Turn on the YYaammaahhaa  AAuuddiioo  MMaasstteerr  QQ..  RR..  feature
               which  usually  should  result in high quality CDs
               that have less reading problems in Hi-Fi  players.
               As this is implemented as a variant of the Session
               At Once write mode,  it  will  only  work  if  you
               select SAO write mode and there is no need to turn
               it off.  The AAuuddiioo MMaasstteerr mode will  work  with  a
               limited  speed but may also be used with data CDs.
               In AAuuddiioo MMaasstteerr mode, the pits on the CD  will  be
               written  larger  than 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 AAuuddiioo MMaasstteerr is active and the capacity
               of  a  80-minute CD will be reduced to 68 minutes,
               the capacity in will be reduced to 85% of the ori-
               ginal  capacity.   On  newer  Plextor drives, this
               feature is also present but the capacity  will  be
               reduced  to  86.66%  of the original capacity. For
               other factors on Plextor drives, see  the  ggiiggaarreecc
               option above.

          ffoorrcceessppeeeedd
               Normally, modern drives know the highest  possible
               speed for different media and may reduce the speed
               in order to grant best write quality.  This  tech-
               nology  may  be  called:   PPlleexxttoorr PPoowweerrRReecc, RRiiccoohh
               JJuusstt--SSppeeeedd, YYaammaahhaa OOppttiimmuumm WWrriittee SSppeeeedd CCoonnttrrooll  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  ffoorr--
               cceessppeeeedd  off,  regardless  of  the defaults of the
               drive.



Joerg Schilling     Last change: Version 3.0                   12






Schily's USER COMMANDS                                CDRECORD(1)



          nnooffoorrcceessppeeeedd
               Turn off the ffoorrccee ssppeeeedd feature.

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

          nnoossppeeeeddrreeaadd
               Turn off unlimited read speed.

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

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

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

          nnoohhiiddeeccddrr
               Turn off hiding CD-R media.

          ttaattttooooiinnffoo
               Use  this  option  together  with  -cchheecckkddrriivvee  to
               retrieve the image size information for the YYaammaahhaa
               DDiisskkTT@@22 feature. The images  always  have  a  line
               length  of  3744 pixels.  Line number 0 (radius 0)
               is mapped to the center of the disk.  If you  know
               the  inner  and  outer  radii  you will be able to
               create a pre distorted image that later may appear
               undistorted on the disk.

          ttaattttooooffiillee==_n_a_m_e
               Use this option together with -cchheecckkddrriivvee to write



Joerg Schilling     Last change: Version 3.0                   13






Schily's USER COMMANDS                                CDRECORD(1)



               an  image  prepared for the YYaammaahhaa DDiisskkTT@@22 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  ttaattttooooiinnffoo.   If
               the  size of the image equals the maximum possible
               size (3744 x 320 pixels), ccddrreeccoorrdd  will  use  the
               first  part of the file. This first part then will
               be written to the leftover space on the CD.

               Note that the image must be mirrored to  be  read-
               able from the pick up side of the CD.

          llaayyeerrbbrreeaakk
               Switch a drive with  DVD-R/DL  medium  into  llaayyeerr
               jjuummpp  rreeccoorrddiinngg  recording  mode and use automatic
               layer-break position setup.

               By default, DVD-R/DL media is written  in  sseeqquueenn--
               ttiiaall  rreeccoorrddiinngg mode that completely fills up both
               layers.

          llaayyeerrbbrreeaakk==_v_a_l_u_e
               Set up a manual layer-break value for DVD-R/DL and
               DVD+R/DL.   The  specified  layer-break value must
               not be set to less than half of the recorded  data
               size  and must not be set to more than the remain-
               ing _L_a_y_e_r  _0  _s_i_z_e  of  the  medium.   The  manual
               layer-break  value  needs  to be a multiple of the
               ECC sector size which is 16 logical 2048 byte sec-
               tors in case of DVD media and 32 logical 2048 byte
               sectors in case of HD-DVD or BD media.

               CCddrreeccoorrdd does not allow to write DL media in  case
               that  the  total  amount  of data is less then the
               _L_a_y_e_r _0 _s_i_z_e of the medium except  when  a  manual
               layer-break   has  been  specified  by  using  the
               llaayyeerrbbrreeaakk==_v_a_l_u_e option.

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

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

     -ffoorrccee
          Force to continue on some errors. Be careful when using



Joerg Schilling     Last change: Version 3.0                   14






Schily's USER COMMANDS                                CDRECORD(1)



          this  option.   CCddrreeccoorrdd 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 -ffoorrccee option is used.

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

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

     ffss==# Set the FIFO (ring buffer) size to #.  You may use  the
          same syntax as in dddd(1), ssdddd(1) or ssttaarr(1).  The number
          representing the size is taken in bytes  unless  other-
          wise  specified.   If  a number is followed directly by
          the letter `b', `k', `m', `s' or `f', the size is  mul-
          tiplied  by 512, 1024, 1024*1024, 2048 or 2352.  If the
          size consists of numbers separated by `x' or `*',  mul-
          tiplication  of  the  two  numbers  is performed.  Thus
          _f_s=_1_0_x_6_3_k will specify a FIFO size of 630 kBytes.

          The size specified by the  _f_s=  argument  includes  the
          shared  memory  that is needed for administration. This
          is at least one page of memory.  If no  _f_s=  option  is
          present,  ccddrreeccoorrdd  will try to get the FIFO size value
          from the CCDDRR__FFIIFFOOSSIIZZEE 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
          mmkkiissooffss directly into ccddrreeccoorrdd.  If the FIFO is  active
          and a pipe from mmkkiissooffss into ccddrreeccoorrdd is used to create
          a CD, ccddrreeccoorrdd will abort prior to do any modifications
          on the disk if mmkkiissooffss dies before writing starts.  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/BluRay-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 a  FIFO  min  fill
          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



Joerg Schilling     Last change: Version 3.0                   15






Schily's USER COMMANDS                                CDRECORD(1)



          underpowered,   has   hardware   problems  or  is  mis-
          configured.  If you like to write DVDs or to write  CDs
          at  higher  speed, it makes sense to use at least 16 MB
          for the FIFO.

          On old and small machines, you need to be more  careful
          with  the  FIFO  size.   If  your machine has less than
          256 MB of physical RAM, you should not set  up  a  FIFO
          size  that  is more than 32 MB.  The sun4c architecture
          (e.g. a Sparcstation-2) has only MMU page table entries
          for  16 MBytes  per  process. Using more than 14 MBytes
          for the FIFO may cause the  operating  system  in  this
          case  to  spend  much time to constantly reload the MMU
          tables. Newer machines from Sun do not  have  this  MMU
          hardware  problem.  The author has 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  ccddrreeccoorrdd
          to use a smaller FIFO.

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

     ggrraacceettiimmee==#
          Set the grace  time  before  starting  to  write  to  #
          seconds.   Values  below  3  seconds are not allowed in
          order to prevent the volume management from  interrupt-
          ing the write process.

     -iiggnnssiizzee
          Ignore the known size of the medium. This option should
          be used with extreme care, it exists only for debugging
          purposes so do not use it for other reasons.  It is not
          needed  to write disks with more than the nominal capa-
          city.  This option implies -oovveerrbbuurrnn.

     -iimmmmeedd
          Tell cdrecord to set the SSCCSSII  IIMMMMEEDD  flag  in  certain
          commands     (load,    eject,    blank,    close_track,
          close_session).  This can be useful on  broken  systems
          with  ATAPI  hard-disk  and CD/DVD/BluRay writer on the
          same  bus  or  with  SCSI  systems  that  do  not   use
          disconnect/reconnect.   These systems will freeze while
          blanking or fixating a CD/DVD/BluRay  or  while  a  DVD
          writer  is  filling  up a session to the minimum amount



Joerg Schilling     Last change: Version 3.0                   16






Schily's USER COMMANDS                                CDRECORD(1)



          (approx. 800 MB).  Setting the -iimmmmeedd 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,  depend-
          ing  on  the  model  of  the  CD/DVD/BluRay  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 -iimmmmeedd
          option has been added.

          A second experimental feature of the -iimmmmeedd 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/BluRay  writer and the data source are con-
          nected to  the  same  IDE  cable.  In  this  case,  the
          CD/DVD/BluRay  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 the mmiinnbbuuff==
          and -vv options.

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

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

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

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

     mmccnn==_m_e_d__c_a_t__n_r
          Set the MMeeddiiaa CCaattaalloogg NNuummbbeerr of the CD to _m_e_d__c_a_t__n_r.

     mmiinnbbuuff==_v_a_l_u_e
          The mmiinnbbuuff== 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/BluRay  writer to be on the same IDE cable.
          As the wait mode currently only works when the  verbose
          option -vv has been specified, ccddrreeccoorrdd implies the ver-
          bose option in case the -iimmmmeedd or  mmiinnbbuuff==  option  has
          been  specified.   Valid values for mmiinnbbuuff== are between
          25 and  95  for  25%...95%  minimum  drive-buffer  fill



Joerg Schilling     Last change: Version 3.0                   17






Schily's USER COMMANDS                                CDRECORD(1)



          ratio.

     -mmeeddiiaa-iinnffoo

     -mmiinnffoo
          Retrieve and print information about the state  of  the
          medium.   This  option  currently  only  works for MMC-
          compliant drives.

     -mmssiinnffoo
          Retrieve multi-session info  in  a  form  suitable  for
          mmkkiissooffss--11..1100 or later.

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

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

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

     -oovveerrbbuurrnn
          Allow ccddrreeccoorrdd to write more than the official size  of
          a  medium.  This  feature is usually called _o_v_e_r_b_u_r_n_i_n_g
          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 SSAAOO or RRAAWW  mode.  Known  excep-
          tions  are TEAC CD-R50S, TEAC CD-R55S and the Panasonic
          CW-7502.  Some drives do not allow to overburn as  much
          as you might like and limit the size of a CD to e.g. 76
          minutes. This problem may be  circumvented  by  writing
          the  CD  in  RAW mode because this way the drive has no
          chance to find the size before starting to burn.  There
          is no guarantee that your drive supports overburning at
          all.  Make a test to check if your drive implements the
          feature.

     -ppaacckkeett



Joerg Schilling     Last change: Version 3.0                   18






Schily's USER COMMANDS                                CDRECORD(1)



          Set PPaacckkeett wwrriittiinngg mmooddee.. This is an experimental inter-
          face.

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

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

     -sseettddrrooppttss
          Set the driveropts specified by ddrriivveerrooppttss==_o_p_t_i_o_n _l_i_s_t,,
          the  ssppeeeedd  of  the  drive and the dduummmmyy flag and exit.
          This allows cdrecord to set drive  specific  parameters
          that  are not directly used by ccddrreeccoorrdd like e.g.  ssiinn--
          ggllee sseessssiioonn mmooddee, hhiiddee ccddrr and similar.  It  is  needed
          in  case  that  ddrriivveerrooppttss==_o_p_t_i_o_n _l_i_s_t should be called
          without planning to run a typical ccddrreeccoorrdd task.

     ssppeeeedd==#
          Set the speed factor of the writing process to #.  # is
          an  integer,  representing  a multiple of what has been
          defined as single speed for the medium.

          For CD-media, single speed is the audio playback speed.
          This  is  about  150 KB/s for CD-ROM and about 172 KB/s
          for CD-Audio.  Single speed is about 1385 kB/s for  DVD
          media and about 4496 kB/s for BluRay media.

          If no _s_p_e_e_d option is present, ccddrreeccoorrdd will try to get
          a   drive   specific   speed   value   from   the  file
          //eettcc//ddeeffaauulltt//ccddrreeccoorrdd and if it  cannot  find  one,  it
          will  try  to  get  the  speed value from the CCDDRR__SSPPEEEEDD
          environment and later  from  the  CCDDRR__SSPPEEEEDD==  entry  in
          //eettcc//ddeeffaauulltt//ccddrreeccoorrdd.   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
          _s_p_e_e_d=_0  with  a  MMC-compliant  drive,  ccddrreeccoorrdd  will
          switch to the  lowest  possible  speed  for  drive  and
          medium.   If  you are using an old (non-MMC) drive that
          has problems with _s_p_e_e_d=_2 or _s_p_e_e_d=_4,  you  should  try
          _s_p_e_e_d=_0.

     -tteexxtt
          Write CD-Text information based  on  information  taken
          from  a  file  that  contains ascii information for the
          text strings.  CCddrreeccoorrdd  supports  CD-Text  information
          based  on  the  content  of  the **..iinnff files created by



Joerg Schilling     Last change: Version 3.0                   19






Schily's USER COMMANDS                                CDRECORD(1)



          ccddddaa22wwaavv and CD-Text information based on  the  content
          from  a  CCUUEE  sshheeeett file.  If a CCUUEE sshheeeett file contains
          both (binary  CDTEXTFILE  and  text  based  SONGWRITER)
          entries,  then  the information based on the CDTEXTFILE
          entry will win.

          You need to use the  -uusseeiinnffoo  option  in  addition  in
          order  to  tell  ccddrreeccoorrdd  to  read  the **..iinnff files or
          ccuueeffiillee==_f_i_l_e_n_a_m_e in order to tell ccddrreeccoorrdd  to  read  a
          CCUUEE  sshheeeett file in addition.  If you like to write your
          own CD-Text information, edit the **..iinnff  files  or  the
          CCUUEE sshheeeett file with a text editor and change the fields
          that are relevant for CD-Text.

     tteexxttffiillee==_f_i_l_e_n_a_m_e
          Write CD-Text based on information found in the  binary
          file _f_i_l_e_n_a_m_e.  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-sized  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  ccddrreeccoorrdd  -vvvv -ttoocc to extract the information from
          disk.  If both, tteexxttffiillee==_f_i_l_e_n_a_m_e and CD-Text  informa-
          tion   from   **..iinnff   or   **..ccuuee   files  are  present,
          tteexxttffiillee==_f_i_l_e_n_a_m_e will overwrite the other information.

     -ttoocc Retrieve and print out the table of contents or PMA  of
          a  CD.   With this option, ccddrreeccoorrdd will work with CD-R
          drives and with CD-ROM drives.

     -wwaaiittii
          Wait for input to become available  on  standard  input
          before  trying  to  open  the  SCSI driver. This allows
          ccddrreeccoorrdd to read its input from a pipe even when  writ-
          ing  additional sessions to a multi-session disk.  When
          writing  another  session  to  a  multi-session   disk,
          mmkkiissooffss  needs  to read the old session from the device
          before writing output.  This cannot be done if ccddrreeccoorrdd
          opens the SCSI driver at the same time.

     -uusseeiinnffoo
          Use **..iinnff files to overwrite audio  options.   If  this
          option  is used, the pregap size information, the index
          information, the pre-emphasis information and  the  CD-
          Text  information  is  read from the **..iinnff file that is
          associated with the file that contains the  audio  data
          for a track.

          If used together with the -aauuddiioo option,  ccddrreeccoorrdd  may



Joerg Schilling     Last change: Version 3.0                   20






Schily's USER COMMANDS                                CDRECORD(1)



          be used to write audio CDs from a pipe from ccddddaa22wwaavv if
          you call ccddrreeccoorrdd with the **..iinnff files as track parame-
          ter  list instead of using audio files.  The audio data
          is read from ssttddiinn in this case.  See _E_X_A_M_P_L_E_S  section
          below.   CCddrreeccoorrdd first verifies that ssttddiinn is not con-
          nected to a  terminal  and  runs  some  heuristic  con-
          sistency  checks  on  the **..iinnff files and then sets the
          track lengths from the information in the **..iinnff files.

          If you  like  to  write  from  ssttddiinn,  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.


  SSCCSSII ooppttiioonnss
     ddeevv==_t_a_r_g_e_t
          Set the SCSI target for the CD/DVD/BluRay-recorder, see
          notes  above.  A typical target device specification is
          ddeevv==_1,_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  _F_r_e_e_B_S_D  system
          without _C_A_M support, you need to use the control device
          (e.g.  /_d_e_v/_r_c_d_0._c_t_l).  A correct device  specification
          in this case may be ddeevv==/_d_e_v/_r_c_d_0._c_t_l:@ .

        GGeenneerraall SSCCSSII aaddddrreessssiinngg
          The  _t_a_r_g_e_t  _d_e_v_i_c_e  to  the  ddeevv==  option  refers   to
          _s_c_s_i_b_u_s/_t_a_r_g_e_t/_l_u_n  of the CD/DVD/BluRay-recorder. Com-
          munication on _S_u_n_O_S  is  done  with  the  SCSI  general
          driver ssccgg.. Other operating systems are using a library
          simulation of this driver.  Possible syntax  is:   ddeevv==
          _s_c_s_i_b_u_s,_t_a_r_g_e_t,_l_u_n  or  ddeevv== _t_a_r_g_e_t,_l_u_n.  In the latter
          case, the CD/DVD/BluRay-recorder has to be connected to
          the  default  SCSI bus of the machine.  _S_c_s_i_b_u_s, _t_a_r_g_e_t
          and _l_u_n 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:  ddeevv== _d_e_v_i_c_e_n_a_m_e:_s_c_s_i_b_u_s,_t_a_r_g_e_t, or
          ddeevv== _d_e_v_i_c_e_n_a_m_e:_t_a_r_g_e_t,_l_u_n.  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  ddeevv==
          _d_e_v_i_c_e_n_a_m_e:@  or  ddeevv==  _d_e_v_i_c_e_n_a_m_e:@,_l_u_n  may  be  used
          instead of ddeevv== _d_e_v_i_c_e_n_a_m_e:_s_c_s_i_b_u_s,_t_a_r_g_e_t,

        RReemmoottee SSCCSSII aaddddrreessssiinngg
          To access remote SCSI devices, you need to prepend  the
          SCSI  device  name  by  a  remote device indicator. The
          remote device indicator is either RREEMMOOTTEE::_u_s_e_r@_h_o_s_t:  or



Joerg Schilling     Last change: Version 3.0                   21






Schily's USER COMMANDS                                CDRECORD(1)



          RREEMMOOTTEE::_h_o_s_t:   A  valid remote SCSI device name may be:
          RREEMMOOTTEE::_u_s_e_r@_h_o_s_t:  to allow remote SCSI bus scanning or
          RREEMMOOTTEE::_u_s_e_r@_h_o_s_t:_1,_0,_0  to  access  the  SCSI device at
          _h_o_s_t connected to SCSI bus # 1,target  0,  lun  0.   In
          order  to  allow  remote access to a specific _h_o_s_t, the
          rrssccssii(1) program needs to be present and configured  on
          the _h_o_s_t.

        AAlltteerrnnaattee SSCCSSII ttrraannssppoorrttss
          CCddrreeccoorrdd is completely based on SSCCSSII commands but  this
          is  no  problem  as all CD/DVD/BluRay writers ever made
          use SSCCSSII commands for  the  communication.  Even  AATTAAPPII
          drives are just SSCCSSII drives that inherently use the _A_T_A
          _p_a_c_k_e_t _i_n_t_e_r_f_a_c_e as SSCCSSII command transport layer  build
          into  the IDE (ATA) transport.  You may need to specify
          an alternate transport layer on the  command   line  if
          your  OS  does  not implement a fully integrated kernel
          driver subsystem that allows to access any drive  using
          SSCCSSII 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 UUSSCCSSII:: or AATTAAPPII::.  To get a list of sup-
          ported transport layers for  your  platform,  use  ddeevv==
          _H_E_L_P:

        PPoorrttaabbiilliittyy BBaacckkggrroouunndd
          To make ccddrreeccoorrdd portable to all  UNIX  platforms,  the
          syntax  ddeevv== _d_e_v_i_c_e_n_a_m_e:_s_c_s_i_b_u_s,_t_a_r_g_e_t, is preferred as
          it hides OS specific knowledge about device names  from
          the  user.  A specific OS may not necessarily support a
          way to specify a real device file name  nor  a  way  to
          specify _s_c_s_i_b_u_s,_t_a_r_g_e_t,_l_u_n.

          _S_c_s_i_b_u_s 0 is the default SCSI bus on the machine. Watch
          the  boot  messages  for  more information or look into
          //vvaarr//aaddmm//mmeessssaaggeess for more information about  the  SCSI
          configuration of your machine.  If you have problems to
          figure out what values for _s_c_s_i_b_u_s,_t_a_r_g_e_t,_l_u_n should be
          used,  try  the  -ssccaannbbuuss  option of ccddrreeccoorrdd described
          below.

        UUssiinngg llooggiiccaall nnaammeess ffoorr ddeevviicceess
          If no _d_e_v option is present, ccddrreeccoorrdd will try  to  get
          the device from the CCDDRR__DDEEVVIICCEE environment.

          If a file  /etc/default/cdrecord  exists,  and  if  the
          argument  to the ddeevv== option or the CCDDRR__DDEEVVIICCEE environ-
          ment does not contain the characters ',', '/',  '@'  or
          ':',  it is interpreted as a device label name that was
          defined in the file  /etc/default/cdrecord  (see  FILES



Joerg Schilling     Last change: Version 3.0                   22






Schily's USER COMMANDS                                CDRECORD(1)



          section).

        AAuuttoottaarrggeett MMooddee
          If no ddeevv== option  and  no  CCDDRR__DDEEVVIICCEE  environment  is
          present,  or  if it only contains a transport specifier
          but no address notation, ccddrreeccoorrdd  tries  to  scan  the
          SCSI  address  space for CD-ROM drives.  If exactly one
          is found, this is used by default.

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

     kkddeebbuugg==#, kkdd==#
          Tell the ssccgg-driver to modify the  kernel  debug  value
          while SCSI commands are running.

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

     -ssccaannbbuuss
          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/BluRay-recorder on a system.  The
          numbers  printed  out  as labels are computed by: bbuuss **
          110000 ++ ttaarrggeett

     -ssiilleenntt, -ss
          Do not print out a status report for failed  SCSI  com-
          mands.

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

     ttss==# Set the maximum transfer size for a single SCSI command
          to #.  The syntax for the ttss== option is the same as for



Joerg Schilling     Last change: Version 3.0                   23






Schily's USER COMMANDS                                CDRECORD(1)



          cdrecord fs=# or sdd bs=#.

          If no ttss== option has been specified, ccddrreeccoorrdd  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 ttss== option.

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


TTRRAACCKK OOPPTTIIOONNSS
     Track options may be mixed with track file names.

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

          If a filename ends in ._a_u or  ._w_a_v  the  file  is  con-
          sidered  to  be a structured audio data file.  CCddrreeccoorrdd
          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  each)
          in  length,  it  is often necessary to specify the -ppaadd
          option as well.  ccddrreeccoorrdd 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.  CCddrreeccoorrdd will
          reject any audio file that does not match the Red  Book
          requirements  of 16-bit stereo samples in PCM coding at



Joerg Schilling     Last change: Version 3.0                   24






Schily's USER COMMANDS                                CDRECORD(1)



          44100 samples/second.

          Using other structured audio data formats as  input  to
          ccddrreeccoorrdd 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 the track.

          If  neither  -_d_a_t_a  nor  -_a_u_d_i_o  have  been  specified,
          ccddrreeccoorrdd  defaults to -_a_u_d_i_o for all filenames that end
          in ._a_u or ._w_a_v and to -_d_a_t_a for all other files.

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

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

     -ddaattaa
          If this flag is  present,  all  subsequent  tracks  are
          written in CCDD--RROOMM mmooddee 11 (Yellow Book) format. The data
          size is a multiple of 2048 bytes.  The file with  track
          data  should contain an IISSOO--99666600 or RRoocckk RRiiddggee filesys-
          tem image (see mmkkiissooffss for more details). If the  track
          data  is  an uuffss filesystem image, fragment size should
          be set to 2 KB or more to  allow  CD-drives  with  2 KB
          sector size to be used for reading.

          -_d_a_t_a 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  -_d_a_t_a  nor  -_a_u_d_i_o  have  been  specified,
          ccddrreeccoorrdd  defaults to -_a_u_d_i_o for all filenames that end
          in ._a_u or ._w_a_v and to -_d_a_t_a for all other files.

     iinnddeexx==_l_i_s_t
          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.

     -iissoossiizzee



Joerg Schilling     Last change: Version 3.0                   25






Schily's USER COMMANDS                                CDRECORD(1)



          Use the IISSOO--99666600 file system size as the  size  of  the
          next track.  This option is needed if you want ccddrreeccoorrdd
          to directly read the image of a track from a  raw  disk
          partition  or  from  a _T_A_O master CD. In the first case
          the option -iissoossiizzee is needed to limit the size of  the
          CD  to  the  size of the ISO filesystem.  In the second
          case the option -iissoossiizzee is needed to prevent  ccddrreeccoorrdd
          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.

          Note that if this option is used on  files  created  by
          mmkkiissooffss,  the padding data that was added by mmkkiissooffss is
          lost and replaced by padding added  by  cdrecord.  This
          may also change the amount of padding.

          In case ccddrreeccoorrdd reads the track data from _s_t_d_i_n,  only
          the first track may be used with the -iissoossiizzee option.

          If -iissoossiizzee is used for a track, ccddrreeccoorrdd will automat-
          ically add padding for this track as if the -ppaadd option
          had been used but the amount of  padding  may  be  less
          than  the padding written by mmkkiissooffss.  Note that if you
          use -iissoossiizzee on a track that contains Sparc boot infor-
          mation, the boot information will be lost.

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

     iissrrcc==_I_S_R_C__n_u_m_b_e_r
          Set the IInntteerrnnaattiioonnaall SSttaannddaarrdd RReeccoorrddiinngg NNuummbbeerr for the
          next track to _I_S_R_C__n_u_m_b_e_r.

     -mmooddee22
          If this flag is  present,  all  subsequent  tracks  are
          written  in  CCDD--RROOMM  mmooddee  22 format. The data size is a
          multiple of 2336 bytes.

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

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

     -nnoopprreeeemmpp
          If this flag is present, all TOC entries for subsequent
          audio tracks will indicate that the audio data has been



Joerg Schilling     Last change: Version 3.0                   26






Schily's USER COMMANDS                                CDRECORD(1)



          mastered with linear data - this is the default.

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

     -ppaadd 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 -ppaadd  option  is  super-
          seded by the ppaaddssiizzee== option. It will remain however as
          a shorthand for ppaaddssiizzee==_1_5_s.  If the -_p_a_d option refers
          to  an audio track, ccddrreeccoorrdd 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.

          -ppaadd remains valid until disabled by -nnooppaadd.

     ppaaddssiizzee==#
          Set the amount of data to be appended as padding to the
          next  track  to #.  Opposed to the behavior of the -ppaadd
          option, the value for _p_a_d_s_i_z_e= is  reset  to  zero  for
          each new track.  Cdrecord assumes a sector size of 2048
          bytes for the _p_a_d_s_i_z_e=  option,  independent  from  the
          real  sector  size and independent from the write mode.
          The megabytes mentioned in the verbose mode output how-
          ever  are counting the output sector size which is e.g.
          2448 bytes when writing in RAW/RAW96 mode.  See the ffss=
          option  for  possible arguments.  To pad the equivalent
          of 20 minutes on a CD, you may write ppaaddssiizzee==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 LLiinnuuxx 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 medium.

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

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



Joerg Schilling     Last change: Version 3.0                   27






Schily's USER COMMANDS                                CDRECORD(1)



          This option may go away in the future.

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

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

     -sswwaabb
          If this flag is present, audio data is assumed to be in
          byte-swapped  (little-endian) order.  Some types of CD-
          writers e.g. Yamaha, Sony and the new SCSI-3/mmc drives
          require  audio  data  to  be presented in little-endian
          order, while other writers require  audio  data  to  be
          presented  in  the big-endian (network) byte order nor-
          mally used by the SCSI protocol.  CCddrreeccoorrdd 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
          -_s_w_a_b flag if your data stream  is  in  Intel  (little-
          endian) byte order.

          Note that the verbose output of ccddrreeccoorrdd will show  you
          if  swapping is necessary to make the byte order of the
          input data fit the required byte order of the recorder.
          CCddrreeccoorrdd  will not show you if the -_s_w_a_b flag was actu-
          ally present for a track.

     ttssiizzee==#
          If the master image for the next track has been  stored
          on  a  raw  disk,  use this option to specify the valid
          amount of data on this disk. If the image of  the  next
          track  is  stored  in  a regular file, the size of that
          file is taken to determine the length  of  this  track.
          If  the track contains an ISO-9660 filesystem image use
          the -_i_s_o_s_i_z_e 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,
          ccddrreeccoorrdd 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 mmkkiissooffss -pprriinntt-ssiizzee before and use
          the output (with `s' appended) as an  argument  to  the
          ttssiizzee= option of ccddrreeccoorrdd (e.g. tsize=250000s).



Joerg Schilling     Last change: Version 3.0                   28






Schily's USER COMMANDS                                CDRECORD(1)



          See ffss= option for possible arguments.

     -xxaa  If this flag is  present,  all  subsequent  tracks  are
          written  in  CCDD--RROOMM  XXAA  mmooddee 22 ffoorrmm 11 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  -mmuullttii
          option.

     -xxaa11 If this flag is  present,  all  subsequent  tracks  are
          written  in  CCDD--RROOMM  XXAA  mmooddee 22 ffoorrmm 11 format. The data
          size is a multiple of 2056 bytes.  The XA  sector  sub-
          headers  are  part of the user data and have to be sup-
          plied by the application that prepares the data  to  be
          written.

     -xxaa22 If this flag is  present,  all  subsequent  tracks  are
          written  in CCDD--RROOMM XXAA mmooddee 22 ffoorrmm 22 format. The data is
          a multiple of 2324 bytes.  The  XA  sector  sub-headers
          will be created by the drive.

     -xxaammiixx
          If this flag is  present,  all  subsequent  tracks  are
          written  in a way that allows a mix of CCDD--RROOMM XXAA mmooddee 22
          ffoorrmm 11//22 format. The data size is a  multiple  of  2332
          bytes.   The XA sector sub-headers are part of the user
          data and have to be supplied by  the  application  that
          prepares  the  data to be written.  The CRC and the P/Q
          parity ECC/EDC information  (depending  on  the  sector
          type)  have  to  be  supplied  by  the application that
          prepares the data to be written.


EEXXAAMMPPLLEESS
     For all examples below, it will be assumed that the  machine
     includes  two  drives.  The reader is assumed to be target 1
     on the primary  SCSI  bus.   The  CD/DVD/BluRay-recorder  is
     assumed  to  be  target  2  on  the  primary SCSI bus of the
     machine.

     If there is only one drive in the machine, the  ddeevv==  option
     may  be  omitted in the examples below, but in this case the
     examples for replication without intermediate files  do  not
     apply.


  RReepplliiccaattiinngg aann AAuuddiioo CCDD
     To copy an audio CD in the most accurate way, first run

         cdda2wav dev=1,0 paraopts=proof -vall cddb=0 -B -Owav





Joerg Schilling     Last change: Version 3.0                   29






Schily's USER COMMANDS                                CDRECORD(1)



     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,
     ccddddaa22wwaavv 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  **..iinnff  files  and  then  read the audio data from
     stdin.

     If you like to write from ssttddiinn, make sure that cdrecord  is
     called with a large enough FIFO size (e.g.  ffss==112288mm), reduce
     the write speed to a value  below  the  read  speed  of  the
     source  drive  (e.g.   ssppeeeedd==1122),  and  switch the burn-free
     option   for   the   recording   drive    on    by    adding
     ddrriivveerrooppttss==bbuurrnnffrreeee.   For the same reason, it is not recom-
     mended to extract the audio data in paranoia  mode  in  this
     case.


  RReepplliiccaattiinngg aa ssiimmppllee CCDD--RROOMM//DDVVDD--RROOMM//BBDD--RROOMM
     To copy a simple disk, first read the master using:

         readcd dev=1,0 f=somefile

     Then write the disk using:

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


  RReepplliiccaattiinngg aa CCDD--RROOMM iinn cclloonnee mmooddee
     To copy a CD in clone mode, first read the master CD using:

         readcd dev=1,0 -clone f=somefile

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





Joerg Schilling     Last change: Version 3.0                   30






Schily's USER COMMANDS                                CDRECORD(1)



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

     This will create the files _s_o_m_e_f_i_l_e and _s_o_m_e_f_i_l_e._t_o_c.   Then
     write the CD using:

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


  CCrreeaattiinngg aann AAuuddiioo CCDD
     To record a pure CD-DA (audio) at single  speed,  with  each
     track    contained    in    files   named   _t_r_a_c_k_0_1._c_d_a_u_d_i_o,
     _t_r_a_c_k_0_2._c_d_a_u_d_i_o, etc.:

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

     To check if it will be OK to use double speed for the  exam-
     ple above, use the dummy write option:

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

  CCrreeaattiinngg aa mmiixxeedd AAuuddiioo--DDaattaa CCDD
     To record a mixed-mode CD with an ISO-9660  filesystem  from
     _c_d_i_m_a_g_e._r_a_w on the first track, the other tracks being audio
     tracks  from  the  files  _t_r_a_c_k_0_1._c_d_a_u_d_i_o,  _t_r_a_c_k_0_2._c_d_a_u_d_i_o,
     etc.:

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

  CCrreeaattiinngg aa CCDD--RROOMM//DDVVDD--RROOMM//BBDD--RROOMM
     To record a pure disk at double speed, using data  from  the
     file _c_d_i_m_a_g_e._r_a_w:

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

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

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

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

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

     The ffbbkk driver first appeared in 1988.

     Solaris 9 or newer comes with a variant of the original  ffbbkk
     idea called llooffii.  The command for the lofi variant is:





Joerg Schilling     Last change: Version 3.0                   31






Schily's USER COMMANDS                                CDRECORD(1)



          mount -r -F hsfs ` lofiadm -a /tmp/cdimage.raw ` /mnt

     Note that lofiadm needs absolute path names.

     On Linux:

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

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

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

         mkisofs -R /master/tree | cdrecord -v -dao 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 ffss==
     option needs to be present only if you want to  use  a  dif-
     ferent  FIFO size.  If your system is loaded, you should run
     mkisofs in the real-time class too.  To raise  the  priority
     of mmkkiissooffss 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 do  not  have  UUNNIIXX  IInntteerrnnaattiioonnaall-compliant
     real-time scheduling.

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

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


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




Joerg Schilling     Last change: Version 3.0                   32






Schily's USER COMMANDS                                CDRECORD(1)



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

     and then run

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

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


  SSeettttiinngg ddrriivvee ooppttiioonnss
     To set drive options without writing a disk (e.g. to  switch
     a drive to single-session mode), run

         cdrecord dev=2,0 -setdropts driveropts=singlesession

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

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


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

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

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

     CCDDRR__FFOORRCCEERRAAWWSSPPEEEEDD
          If this environment  variable  is  set,  ccddrreeccoorrdd  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.

     CCDDRR__FFOORRCCEESSPPEEEEDD
          If this environment  variable  is  set,  ccddrreeccoorrdd  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.

          If this environment variable is set to the  value  aannyy,
          ccddrreeccoorrdd  allows  to  write at any speed even though it



Joerg Schilling     Last change: Version 3.0                   33






Schily's USER COMMANDS                                CDRECORD(1)



          may fail later with a buffer underrun.

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

          Note that this forces ccddrreeccoorrdd to create a pipe to  the
          rrsshh((11))  program  and  disallows  ccddrreeccoorrdd  to  directly
          access the network socket to the remote  server.   This
          makes  it  impossible  to set up performance parameters
          and slows down  the  connection  compared  to  a  rroooott-
          initiated rrccmmdd((33)) connection.

     RRSSCCSSII
          If the RRSSCCSSII environment is present,  the  remote  SCSI
          server  will  not be the program //oopptt//sscchhiillyy//ssbbiinn//rrssccssii
          but the program pointed to by  RRSSCCSSII.   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.


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

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

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

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

          CCDDRR__MMAAXXFFIIFFOOSSIIZZEE
               Sets the maximum size of the FIFO (see  also  ffss==#
               option).

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



Joerg Schilling     Last change: Version 3.0                   34






Schily's USER COMMANDS                                CDRECORD(1)



               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
               _s_p_e_e_d and _f_i_f_o_s_i_z_e  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 ccddrreeccoorrdd that a drive named _t_e_a_c_1 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.


     **..iinnff
          The **..iinnff files are created  by  ccddddaa22wwaavv  where  **  is
          replaced  by  the  actual  audio file prefix.  They are
          read and used by ccddrreeccoorrdd in case cdrecord  was  called
          with the -uusseeiinnffoo option.

          There are three general types of parameters:

          nnuummeerriiccaall ppaarraammeetteerrss
               A numerical parameter is  a  number  and  directly
               follows the tag label without any quoting.

          uunnqquuootteedd ssttrriinngg ttyyppee ppaarraammeetteerrss
               An unquoted parameter is make  from  one  or  more
               words  that  directly  follow  the tag label.  How
               many words from the parameter  list  are  used  by
               cdrecord depends on the tag label.

          qquuootteedd ssttrriinngg ttyyppee ppaarraammeetteerrss
               A string type  parameter  is  enclosed  in  single
               quotes.  The  string starts after the first single
               quote character that follows  the  tag  label  and
               ends  before  the  last  single  quote on the same
               line.  It needs no escape sequences in case that a
               single  quote appears inside the string.  Any text
               to the right of the rightmost single quote charac-
               ter is ignored.

          The order of the tag labels in the file is  not  impor-
          tant.



Joerg Schilling     Last change: Version 3.0                   35






Schily's USER COMMANDS                                CDRECORD(1)



          The following tag labels may appear in a **..iinnff file:

          CCDDIINNDDEEXX__DDIISSCCIIDD==
               The cdindex disk ID is  used  by  the  mmuussiiccbbrraaiinnzz
               CD-database.

               This tag label uses a quoted string  type  parame-
               ter.

               This tag label is ignored by ccddrreeccoorrdd.

          CCDDDDBB__DDIISSCCIIDD==
               The cddb disk ID is  used  by  the  ccddddbb  and  the
               ffrreeeeddbb CD-database.

               This tag label uses a numerical parameter.

               This tag label is ignored by ccddrreeccoorrdd.

          MMCCNN== The Media Catalog  Number  (MCN)  is  a  13  digit
               number that follows UPC/EAN-13 rules.

               The data is used by cdrecord to create sub-channel
               data.

          IISSRRCC==
               The International Standard Recording  Code  (ISRC)
               is  a  12  byte  string  that  is created from two
               uppercase characters for the  country  code,  fol-
               lowed by three uppercase characters for the owner,
               followed by two digits for the year  of  recording
               followed  by  five digits for the recording serial
               number.

               To increase the readability of the ISRC tag, there
               may  be  a  minus sign between every two fields of
               the ISRC string.

               The data is used by cdrecord to create sub-channel
               data.

          AAllbbuummttiittllee==
               The AAllbbuumm TTiittllee is the name of  the  disk  in  the
               CD-Text information.

               This tag label uses a quoted string  type  parame-
               ter.

          TTrraacckkttiittllee==
               The TTrraacckk TTiittllee is the name of the  current  track
               in the CD-Text information.




Joerg Schilling     Last change: Version 3.0                   36






Schily's USER COMMANDS                                CDRECORD(1)



               This tag label uses a quoted string  type  parame-
               ter.

          AAllbbuummppeerrffoorrmmeerr==
               The AAllbbuumm PPeerrffoorrmmeerr is the global name of  the  of
               the  performer of the disk in the CD-Text informa-
               tion.

               This tag label uses a quoted string  type  parame-
               ter.

          PPeerrffoorrmmeerr==
               The PPeerrffoorrmmeerr is the name of the of the  performer
               of the current track in the CD-Text information.

               This tag label uses a quoted string  type  parame-
               ter.

          AAllbbuummssoonnggwwrriitteerr==
               The AAllbbuumm SSoonnggwwrriitteerr is the global name of the  of
               the songwriter of the disk in the CD-Text informa-
               tion.

               This tag label uses a quoted string  type  parame-
               ter.

          SSoonnggwwrriitteerr==
               The SSoonnggwwrriitteerr is the name of  the  of  the  song-
               writer  of the current track in the CD-Text infor-
               mation.

               This tag label uses a quoted string  type  parame-
               ter.

          AAllbbuummccoommppoosseerr==
               The AAllbbuumm CCoommppoosseerr is the global name  of  the  of
               the  composer  of the disk in the CD-Text informa-
               tion.

               This tag label uses a quoted string  type  parame-
               ter.

          CCoommppoosseerr==
               The CCoommppoosseerr is the name of the of the composer of
               the current track in the CD-Text information.

               This tag label uses a quoted string  type  parame-
               ter.

          AAllbbuummaarrrraannggeerr==
               The AAllbbuumm AArrrraannggeerr is the global name  of  the  of
               the   arranger   of   the   disk  in  the  CD-Text



Joerg Schilling     Last change: Version 3.0                   37






Schily's USER COMMANDS                                CDRECORD(1)



               information.

               This tag label uses a quoted string  type  parame-
               ter.

          AArrrraannggeerr==
               The AArrrraannggeerr is the name of the of the arranger of
               the current track in the CD-Text information.

               This tag label uses a quoted string  type  parame-
               ter.

          AAllbbuummmmeessssaaggee==
               The AAllbbuumm MMeessssaaggee is the global  message  text  of
               the disk in the CD-Text information.

               This tag label uses a quoted string  type  parame-
               ter.

          MMeessssaaggee==
               The MMeessssaaggee is the message  text  of  the  current
               track in the CD-Text information.

               This tag label uses a quoted string  type  parame-
               ter.

          AAllbbuummcclloosseedd__iinnffoo==
               The AAllbbuumm CClloosseedd__iinnffoo is the  global  closed  info
               text of the disk in the CD-Text information.

               This tag label uses a quoted string  type  parame-
               ter.

          CClloosseedd__iinnffoo==
               The CClloosseedd__iinnffoo is the closed  info  text  of  the
               current track in the CD-Text information.

               This tag label uses a quoted string  type  parame-
               ter.

          TTrraacckk==
               The parameter contains the relative number of  the
               current  track  on  the  original disk.  The first
               track always has the  track  number  1,  a  hidden
               track uses track number 0.

               This tag label uses a numerical parameter.

               This tag label is ignored by ccddrreeccoorrdd except  when
               checking the the TTrraacckkssttaarrtt for track #1.

          TTrraacckknnuummbbeerr==



Joerg Schilling     Last change: Version 3.0                   38






Schily's USER COMMANDS                                CDRECORD(1)



               The parameter contains the absolute number of  the
               current  track, taken from the TOC on the original
               disk.  The first track on the  original  disk  may
               have  a  number  greater  than  1,  a hidden track
               always uses track number 0.

               This tag label uses a numerical parameter.

               This tag label is currently ignored by ccddrreeccoorrdd as
               cdrecord  assigns track numbers when compiling the
               disk information.

          TTrraacckkssttaarrtt==
               The parameter contains the track start  offset  in
               sectors  on  the  original  disk.   If the current
               track becomes the first track on the new disk  and
               if  the  track was the first track on the original
               disk.  ccddrreeccoorrdd uses this number  to  set  up  the
               offset for index 1 on the new disk.

               This tag label uses a numerical parameter.

          TTrraacckklleennggtthh==
               The parameter is used by ccddrreeccoorrdd to  set  up  the
               size of the track on the new disk.

               This tag label uses an unquoted string type param-
               eter in the form "sectors, samples".

               This label is mandatory for ccddrreeccoorrdd.

          PPrree--eemmpphhaassiiss==
               The pre-emphasis parameter  controls  whether  the
               related  pre-emphasis  bit in the sub-channel data
               is set by cdrecord.   Permitted  values  for  this
               parameter are yyeess and nnoo.

               This tag label uses an unquoted string type param-
               eter.  Valid values are yyeess and nnoo.

          CChhaannnneellss==
               The parameter of this tag is the number  of  chan-
               nels  on  the disk.  All CD-audio disks use stereo
               recording and thus a 2 is the correct parameter.

               This tag label uses a numerical parameter.

               This label is currently ignored by ccddrreeccoorrdd.

          CCooppyy__ppeerrmmiitttteedd==
               The parameter for this tag label contains informa-
               tion  about  the copyright state of a track on the



Joerg Schilling     Last change: Version 3.0                   39






Schily's USER COMMANDS                                CDRECORD(1)



               original disk.

               This tag label uses an unquoted string type param-
               eter.  Valid values are:

               yyeess  The ddiiggiittaall ccooppyy ppeerrmmiitttteedd bit is set in  the
                    TOC and in the sub-channel data.  If this bit
                    is set, the related track  is  not  copyright
                    protected and may be copied infinitely.

               nnoo   The ddiiggiittaall ccooppyy ppeerrmmiitttteedd bit is not set  in
                    the  TOC.   The ddiiggiittaall ccooppyy ppeerrmmiitttteedd bit in
                    the sub-channel data alters  with  9.375  Hz.
                    This  is called SSeerriiaall CCooppyy MMaannaaggeemmeenntt SSyysstteemm
                    ((SSCCMMSS)).  The sense of this track state is  to
                    flag that the creator of the CD does not have
                    the copyright permission to create copies  of
                    the related track. The related track is copy-
                    right protected and the  creator  of  the  CD
                    thus  is  just given the permission to create
                    one single copy from fair use rights  and  no
                    further   copies   are  permitted  from  this
                    source.

               oonnccee The ddiiggiittaall ccooppyy ppeerrmmiitttteedd bit is not set  in
                    the  TOC  and  in  the sub-channel data.  The
                    sense of this track state is to flag that the
                    related track is copyright protected and thus
                    may not be coped infinitely.  One single copy
                    from fair use rights is permitted.

               Note that many CDs sold by the music industry have
               SSCCMMSS  flagged  for  one or more tracks, signalling
               that the related content company does not own  the
               copyright to make copies from this track.

          EEnnddiiaanneessss==
               The parameter for this tag is the byte order  used
               in  the  audio data file that was created for this
               track.

               This tag label uses an unquoted string type param-
               eter.  Valid values are lliittttllee and bbiigg.

               This label is ignored by ccddrreeccoorrdd as the endianess
               is retrieved from the audio file format.

          IInnddeexx==
               The parameter list for  this  tag  is  a  list  of
               numbers  that  are  sector  numbers counting rela-
               tively to  the  logical  beginning  of  the  track
               (which  always is at index #1). As any track needs



Joerg Schilling     Last change: Version 3.0                   40






Schily's USER COMMANDS                                CDRECORD(1)



               to have an entry for index #1, the first entry  in
               the list is always 0.  If more entries are present
               for this tag, there are more  offset  values  that
               correspond to index values greater than 1.

               This tag label uses an unquoted string type param-
               eter that contains a list of space separated index
               offset numbers.

          IInnddeexx00==
               The parameter  for  this  tag  is  a  number  that
               represents the number of sectors relatively to the
               beginning (index #1) of this track.   This  number
               identifies  where  index  #0  of  the  next  track
               begins. It the parameter is set to  -1,  the  next
               track  has no index #0, resulting in pregap size 0
               for the next track.

               Note  that  ccddrreeccoorrdd  strictly  follows  the   CD-
               standard  that  defines that the logical beginning
               of a track is  at  the  location  where  index  #1
               starts  in  this  track.   If index #0 for track nn
               contains audio data, the related audio data  is  a
               logical part of track nn--11.

               This tag label uses a numerical parameter.

          MMDD55--ooffffsseett==
               The parameter for this  tag  is  the  byte  offset
               where  the  raw  audio  data begins in the related
               audio file.

               This tag label uses a numerical parameter.

               This label is ignored by ccddrreeccoorrdd.

          MMDD55--ssiizzee==
               The parameter for this tag is the number of  bytes
               of raw audio data in the related audio file.

               This tag label uses a numerical parameter.

               This label is ignored by ccddrreeccoorrdd.

          MMDD55--ssuumm==
               The parameter for this tag is the md5 sum for  the
               raw audio data in the related audio file.

               This tag label uses a numerical parameter.

               This label is ignored by ccddrreeccoorrdd.




Joerg Schilling     Last change: Version 3.0                   41






Schily's USER COMMANDS                                CDRECORD(1)



     **..ccuuee
          The **..ccuuee  files  are  CD-structure  description  files
          introduced  by  CCDDRRWWIINN.   They  are  read  and  used by
          ccddrreeccoorrdd  in  case  cdrecord  was   called   with   the
          ccuueeffiillee==_n_a_m_e._c_u_e option.

          The following commands are supported in CUE files:

          AARRRRAANNGGEERR _a_r_r_a_n_g_e_r-_s_t_r_i_n_g
               This command is used to  specify  the  name  of  a
               arranger for a disk that includes CD-Text enhance-
               ments.

               The parameter is the name of a  arranger.  If  the
               string contains any spaces, it must be enclosed in
               quotation marks.

               If the AARRRRAANNGGEERR command appears before  any  TTRRAACCKK
               command,  the  string parameter will be encoded as
               the arranger of the entire disk.  If the  AARRRRAANNGGEERR
               command  appears after a TTRRAACCKK command, the string
               parameter will be encoded the the arranger of  the
               current track.

               This command is  only  accepted  if  the  ccddrreeccoorrdd
               specific CUE extensions are permitted.

          CCAATTAALLOOGG _m_e_d_i_a-_c_a_t_a_l_o_g-_n_u_m_b_e_r
               This command is used to specify the  disc's  MMeeddiiaa
               CCaattaalloogg  NNuummbbeerr.  The _m_e_d_i_a-_c_a_t_a_l_o_g-_n_u_m_b_e_r is a 13
               digit number that follows UPC/EAN-13 rules.

               This command can appear only once in the CUE SHEET
               file.  It must appear before any TTRRAACCKK command.

          CCDDTTEEXXTTFFIILLEE _f_i_l_e_n_a_m_e
               This command is used to specify the name of a file
               that  contains binary encoded CD-Text information.
               CCDDRRWWIINN only accepts headerless binary encoded  CD-
               Text information, but ccddrreeccoorrdd also accepts binary
               encoded CD-Text information with an  MMC-compliant
               header.   The  CD-Text  information  is ignored by
               ccddrreeccoorrdd unless the -tteexxtt option is used.

               If  the  filename  contains  spaces,  it  must  be
               enclosed in quotation marks.

          CCOOMMPPOOSSEERR _c_o_m_p_o_s_e_r-_s_t_r_i_n_g
               This command is used to specify the name of a com-
               poser  for  a  disk that includes CD-Text enhance-
               ments.




Joerg Schilling     Last change: Version 3.0                   42






Schily's USER COMMANDS                                CDRECORD(1)



               The parameter is the name of a  composer.  If  the
               string contains any spaces, it must be enclosed in
               quotation marks.

               If the CCOOMMPPOOSSEERR command appears before  any  TTRRAACCKK
               command,  the  string parameter will be encoded as
               the composer of the entire disk.  If the  CCOOMMPPOOSSEERR
               command  appears after a TTRRAACCKK command, the string
               parameter will be encoded the the composer of  the
               current track.

               This command is  only  accepted  if  the  ccddrreeccoorrdd
               specific CUE extensions are permitted.

          FFIILLEE _f_i_l_e_n_a_m_e _f_i_l_e_t_y_p_e
               This command is used to specify a  data  or  audio
               file  that  contains  data  to  be  written to the
               medium.

               If  the  filename  contains  spaces,  it  must  be
               enclosed in quotation marks.

               The following values are allowed for the file type
               parameter:

               BBIINNAARRYY      Intel binary file (LSB first)

               MMOOTTOOTTOOLLAA    Motorola binary file (MSB first)

               AAIIFFFF        Audio AIFF file

               WWAAVVEE        Audio WAVE file

               MMPP33         Audio MP3 file

               AAUU          Audio  AU  file  (only  permitted   if
                           ccddrreeccoorrdd CUE extensions are enabled)

               OOGGGG         Audio  OGG  file  (only  permitted  if
                           ccddrreeccoorrdd CUE extensions are enabled)

               All audio files (WAVE, AIFF, MP3, AU and OGG) must
               be  in 44100 Hz 16 bit stereo format.  MP3 and OGG
               is currently unsupported.

               If an audio file is not an  exact  multiple  of  a
               CDROM  sector (2352 bytes), then is is padded with
               zeroes to fill up to the needed size.

               All FFIILLEE commands need  to  be  before  a  related
               TTRRAACCKK  command and after the last IINNDDEEXX command or
               PPOOSSTTGGAAPP command for the previous track.



Joerg Schilling     Last change: Version 3.0                   43






Schily's USER COMMANDS                                CDRECORD(1)



               If  the  ccddrreeccoorrdd  specific  CUE  extensions   are
               enabled,  then  a  FFIILLEE  command  may  also appear
               between an IINNDDEEXX 0000 and an IINNDDEEXX 0011 command.  This
               allows  to let the create one file per track where
               the file starts at IINNDDEEXX 0011 of the track and  enda
               after  IINNDDEEXX  0000  of the following track.  In this
               case,  no  FFIILLEE  command  is  allowed  before  the
               related TTRRAACCKK command.

          FFLLAAGGSS _f_l_a_g_s
               This command is used to set special subcode  flags
               within a track.

               The following flags are supported:

               DDCCPP         Digital copy permitted

               44CCHH         Four channel audio

               PPRREE         Pre-emphasis  enabled  (audio   tracks
                           only)

               SSCCMMSS        Serial  copy  management  system  (not
                           supported by all recorders)

               More than one flag type argument may appear  after
               the FLAGS command (e.g FLAGS DCP PRE).

               The FFLLAAGGSS command must appear after a  TTRRAACCKK  com-
               mand but before any IINNDDEEXX command.  Only one FFLLAAGGSS
               command is allower per TTRRAACCKK ccoommmmaanndd..

               The fourth subcode flag that marks data tracks  is
               set automatically for data tracks.

          IINNDDEEXX _n_u_m_b_e_r _m_m:_s_s:_f_f
               This command is used to specify indexes  within  a
               track.

               The first parameter is the  index  number  in  the
               range 0-99.

               The  second  parameter  is  a  relative  time   in
               minutes,   seconds   and   frames  (there  are  75
               frames/second).

               All  index  numbers  must  be  between  0  and  99
               inclusive.   The  first  index for a track must be
               either 0 or 1 with all indexes being sequential to
               the  first  one.   The first index for a file must
               start at 00:00.00.




Joerg Schilling     Last change: Version 3.0                   44






Schily's USER COMMANDS                                CDRECORD(1)



               IINNDDEEXX 0000  specifies the starting time of the  pprree--
                         ggaapp of the track.

               IINNDDEEXX 0011  specifies  the  starting  time  of   the
                         track.  This is the index that is stored
                         in the table of content for the disk  as
                         the track start.

               IINNDDEEXX >> 11 specifies a subindex within a track.

          IISSRRCC _r_e_c_o_r_d_i_n_g _c_o_d_e
               This command is used to specify the  IInntteerrnnaattiioonnaall
               SSttaannddaarrdd RReeccoorrddiinngg CCooddee ((IISSRRCC)) of a track. This is
               a code that should exist for all commercial  audio
               tracks.

               The ISRC code must be  12  characters  in  length.
               The  first  two characters are characters that are
               from the two character  country  code.   The  next
               three characters are alphanumeric and describe the
               studio code.  The next two characters are the last
               two  digits  from  the recording year.  The last 5
               characters are digits that form  a  serial  number
               that is unique for the same studio and year.

               If ccddrreeccoorrdd specific CUE extensions are permitted,
               the  four fields of the ISRC may be separated by a
               minus sign.

               If the IISSRRCC command is used, it must appear  after
               a TTRRAACCKK command but before any IINNDDEEXX command.

          MMEESSSSAAGGEE _m_e_s_s_a_g_e-_s_t_r_i_n_g
               This command is used to specify the test of a mes-
               sage  for  a  disk  that includes CD-Text enhance-
               ments.

               The parameter is the test of  a  message.  If  the
               string contains any spaces, it must be enclosed in
               quotation marks.

               If the MMEESSSSAAGGEE command appears  before  any  TTRRAACCKK
               command,  the  string parameter will be encoded as
               the message of the entire disk.   If  the  MMEESSSSAAGGEE
               command  appears after a TTRRAACCKK command, the string
               parameter will be encoded the the message  of  the
               current track.

               This command is  only  accepted  if  the  ccddrreeccoorrdd
               specific CUE extensions are permitted.

          PPEERRFFOORRMMEERR _p_e_r_f_o_r_m_e_r-_s_t_r_i_n_g



Joerg Schilling     Last change: Version 3.0                   45






Schily's USER COMMANDS                                CDRECORD(1)



               This command is used to specify the name of a per-
               former  for  a disk that includes CD-Text enhance-
               ments.

               The parameter is the name of the performer. If the
               string contains any spaces, it must be enclosed in
               quotation marks.

               If the PPEERRFFOORRMMEERR command appears before any  TTRRAACCKK
               command,  the  string parameter will be encoded as
               the performer of the entire  disk.   If  the  PPEERR--
               FFOORRMMEERR  command appears after a TTRRAACCKK command, the
               string parameter will be encoded the the performer
               of the current track.

          PPOOSSTTGGAAPP _m_m:_s_s:_f_f
               This command is used to specify the  length  of  a
               postgap  at  the end of a track.  The postgap data
               is generated internally by ccddrreeccoorrdd.  No  data  is
               consumed from the current data file.

               The parameter  specifies  the  postgap  length  in
               minutes, seconds and frames.

               The PPOOSSTTGGAAPP command must appear  after  all  IINNDDEEXX
               commands  for the current track.  Only one PPOOSSTTGGAAPP
               command is allowed per track.

          PPRREEGGAAPP _m_m:_s_s:_f_f
               This command is used to specify the  length  of  a
               pregap  at  the  beginning  of a track. The pregap
               data is generated internally by ccddrreeccoorrdd.  No data
               is consumed from the current data file.

               The parameter  specifies  the  postgap  length  in
               minutes, seconds and frames.

               The PPRREEGGAAPP command must appear after a TTRRAACCKK  com-
               mand  but before any IINNDDEEXX command.  Only one PPRREE--
               GGAAPP command is allowed per track.

          RREEMM _c_o_m_m_e_n_t
               This command is used to put comments  into  a  CUE
               file.

               The text that appears in the line after a RREEMM com-
               mand  is  usually  ignored. There is an exception:
               The special comment RREEMM CCDDRRTTOOOOLLSS is used to enable
               ccddrreeccoorrdd specific CUE extensions in the parser.

          SSOONNGGWWRRIITTEERR _s_o_n_g_w_r_i_t_e_r-_s_t_r_i_n_g
               This command is used to  specify  the  name  of  a



Joerg Schilling     Last change: Version 3.0                   46






Schily's USER COMMANDS                                CDRECORD(1)



               songwriter   for  a  disk  that  includes  CD-Text
               enhancements.

               The parameter is the name of a songwriter. If  the
               string contains any spaces, it must be enclosed in
               quotation marks.

               If the SSOONNGGWWRRIITTEERR command appears before any TTRRAACCKK
               command,  the  string parameter will be encoded as
               the songwriter of the entire disk.  If  the  SSOONNGG--
               WWRRIITTEERR  command appears after a TTRRAACCKK command, the
               string parameter will be  encoded  the  the  song-
               writer of the current track.

          TTIITTLLEE _t_i_t_l_e-_s_t_r_i_n_g
               This command is used to specify a title for a disk
               that includes CD-Text enhancements.

               The parameter is the title for a track or for  the
               disk.  If  the string contains any spaces, it must
               be enclosed in quotation marks.

               If the TTIITTLLEE command appears before any TTRRAACCKK com-
               mand,  the string parameter will be encoded as the
               title of the entire disk.  If  the  TTIITTLLEE  command
               appears  after a TTRRAACCKK command, the string parame-
               ter will be encoded the the title of  the  current
               track.

          TTRRAACCKK _n_u_m_b_e_r _d_a_t_a_t_y_p_e
               This command is used to start a new TTRRAACCKK.

               The first parameter is a track number in the range
               1-99.

               The second  parameter  specifies  the  track  data
               type.

               The following datatypes are permitted:

               AAUUDDIIOO       Audio/Music (2352)

               CCDDGG         Karaoke CD+G (2448)

               MMOODDEE11//22004488  CDROM Mode1 Data (cooked)

               MMOODDEE11//22335522  CDROM Mode1 Data (raw)

               MMOODDEE22//22333366  CDROM-XA Mode2 Data

               MMOODDEE22//22335522  CDROM-XA Mode2 Data




Joerg Schilling     Last change: Version 3.0                   47






Schily's USER COMMANDS                                CDRECORD(1)



               CCDDII//22333366    CDI Mode2 Data

               CCDDII//22335522    CDI Mode2 Data

               All  track  numbers  must  be  between  1  and  99
               inclusive.   The first track number can be greater
               than one, but all track numbers  after  the  first
               must  be  sequential.   There must be at least one
               track per file.


SSEEEE AALLSSOO
     ccddddaa22wwaavv(1), rreeaaddccdd(1), ssccgg(7), ffbbkk(7), mmkkiissooffss(8), rrccmmdd(3),
     sssshh(1).


NNOOTTEESS
     Not all options described in this manual may be supported by
     the  OpenSource variant of cdrecord. Cdrecord issues a warn-
     ing if an attempt is made to use an  option  that  has  been
     disabled in the OpenSource variant.

     On Solaris before Solaris 10 Update 1, you need to stop  the
     volume management if you like to use the USCSI fallback SCSI
     transport code. Even things like ccddrreeccoorrdd --ssccaannbbuuss will  not
     work if the volume management is running.

     Disks made in TTrraacckk AAtt OOnnccee mode are not suitable as a  mas-
     ter  for  direct  mass  production by CD-manufacturers.  You
     will need the ddiisskk aatt oonnccee  option  to  record  such  disks.
     Nevertheless  the  disks made in TTrraacckk AAtt OOnnccee 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.

     CCddrreeccoorrdd 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
     works,  but has not been 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.




Joerg Schilling     Last change: Version 3.0                   48






Schily's USER COMMANDS                                CDRECORD(1)



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

     You should run several tests in all supported speeds of your
     drive  with  the  -dduummmmyy  option  turned on if you are using
     ccddrreeccoorrdd on an unknown system. Writing a CD is  a  real-time
     process.  NNFFSS  will not always deliver constantly the needed
     data rates.  If you want to use ccddrreeccoorrdd with CD-images that
     are  located  on  a NNFFSS mounted filesystem, be sure that the
     FIFO size is big enough.   The  author  used  ccddrreeccoorrdd  with
     medium  load  on  a  SS20/502  and  even  at quad speed on a
     Sparcstation-2 which was heavily loaded, but  it  is  recom-
     mended  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

         ccddrreeccoorrdd -dduummmmyy ddeevv==22,,00 ppaaddssiizzee==660000mm //ddeevv//nnuullll

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

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

          chown root /opt/schily/bin/cdrecord
          chmod 4711 /opt/schily/bin/cdrecord

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

          chown root /opt/schily/bin/cdrecord
          chgrp cdburners /opt/schily/bin/cdrecord
          chmod 4710 /opt/schily/bin/cdrecord

     and add a group _c_d_b_u_r_n_e_r_s on your system.

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

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

     A Compact Disc can have no more than 99 tracks.




Joerg Schilling     Last change: Version 3.0                   49






Schily's USER COMMANDS                                CDRECORD(1)



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

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

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

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

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

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

     When using ccddrreeccoorrdd with the LLiinnuuxx SSCCSSII ggeenneerriicc ddrriivveerr,  you
     should  note  that ccddrreeccoorrdd uses a layer, that tries to emu-
     late the functionality of the  scg  driver  on  top  of  the
     drives of the local operating system.  Unfortunately, the sg
     driver on LLiinnuuxx has several flaws:

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

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

     +o    It cannot get real DMA count of transfer. CCddrreeccoorrdd can-
          not tell you if there is a DMA residual count.

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

     +o    It  fetches  too  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/BluRay-recorder. For
     this reason, there will never be 100% FIFO fill ratio  while
     the FIFO is in streaming mode.






Joerg Schilling     Last change: Version 3.0                   50






Schily's USER COMMANDS                                CDRECORD(1)



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

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

     A typical error message for a SCSI command looks like:

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

     The first line gives information about the transport of  the
     command.   The  text  after  the first colon gives the error
     text for the system call from the view  of  the  kernel.  It
     usually  is:   II//OO  eerrrroorr  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.
     ffaattaall  eerrrroorr means that it was not possible to transport the
     command (i.e.  no  device  present  at  the  requested  SCSI
     address).

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

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

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

     The fifth line is the error text for the sense key if avail-
     able,  followed by the segment number which is only valid if
     the command was a _c_o_p_y command. If the error message is  not
     directly  related  to the current command, the text _d_e_f_e_r_r_e_d
     _e_r_r_o_r 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 _s_c_s_i_e_r_r_s._c .
     The text is followed by the error value for a field replace-
     able unit.

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



Joerg Schilling     Last change: Version 3.0                   51






Schily's USER COMMANDS                                CDRECORD(1)



     block number may not be valid.

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

BBUUGGSS
     CCddrreeccoorrdd has even more options than llss.

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


CCRREEDDIITTSS
     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



Joerg Schilling     Last change: Version 3.0                   52






Schily's USER COMMANDS                                CDRECORD(1)



                    transport.

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

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

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


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

     hhttttpp::////lliissttss..bbeerrlliiooss..ddee//mmaaiillmmaann//lliissttiinnffoo//ccddrreeccoorrdd--ddeevveellooppeerrss


AAUUTTHHOORR
     Joerg Schilling
     Seestr. 110
     D-13353 Berlin
     Germany

     Additional information can be found on:
     http://cdrecord.berlios.de/private/cdrecord.html

     If you have support questions, send them to:

     ccddrreeccoorrdd--ssuuppppoorrtt@@bbeerrlliiooss..ddee

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

     ccddrreeccoorrdd--ddeevveellooppeerrss@@bbeerrlliiooss..ddee
     or jjooeerrgg..sscchhiilllliinngg@@ffookkuuss..ffrraauunnhhooffeerr..ddee

     To subscribe, use:

     hhttttpp::////lliissttss..bbeerrlliiooss..ddee//mmaaiillmmaann//lliissttiinnffoo//ccddrreeccoorrdd--ddeevveellooppeerrss
     or hhttttpp::////lliissttss..bbeerrlliiooss..ddee//mmaaiillmmaann//lliissttiinnffoo//ccddrreeccoorrdd--ssuuppppoorrtt









Joerg Schilling     Last change: Version 3.0                   53






Schily's USER COMMANDS                                CDRECORD(1)



IINNTTEERRFFAACCEE SSTTAABBIILLIITTYY
     The interfaces provided by ccddrreeccoorrdd are  designed  for  long
     term  stability.  As ccddrreeccoorrdd depends on interfaces provided
     by the underlying operating system,  the  stability  of  the
     interfaces offered by ccddrreeccoorrdd depends on the interface sta-
     bility of the OS interfaces. Modified interfaces in  the  OS
     may enforce modified interfaces in ccddrreeccoorrdd.
















































Joerg Schilling     Last change: Version 3.0                   54



