cdrdao icon indicating copy to clipboard operation
cdrdao copied to clipboard

Cdrdao - Write audio/data CD-Rs in disk-at-once mode

This file contains some additional information. See the manual page for usage of the tool.

Please use the write simulation mode (command 'simulate') when trying this program the first time on your system. This will detect problems or incompatibilities without wasting a CD-recordable. Note that you may have to eject and reinsert the CD-R after a simulation run before a real write can start.

Sources of Information

Cdrdao Homepage: http://cdrdao.sourceforge.net/

Download: http://sourceforge.net/projects/cdrdao/

Mailing Lists:

[email protected] Moderated list for informing about new releases or serious bugs. For subscribing information send an email with 'help' in the body to [email protected] or visit the info page http://lists.sourceforge.net/mailman/listinfo/cdrdao-info.

[email protected] Open lists for discussion about problems, implementation of new features etc. For subscribing information send an email with 'help' in the body to [email protected] or visit the info page http://lists.sourceforge.net/mailman/listinfo/cdrdao-devel.

Please report bugs and suggestions to Denis Leroy [email protected].

Drivers

The following driver IDs may be used with option '--driver'. It is possible to specify option bits which modify the behavior of the driver. Global and driver specific options are available. Options flags can be combined by logical 'or' and appended to the '--driver' option, e.g. '--driver plextor-scan:0x03'.

By default, cdrdao will try to detect if your device is MMC compliant and use the 'generic-mmc' driver is possible.

Global Option Bits: read-toc/read-cd related: 0x00010000: Use the generic method to read the TOC of a CD for commands 'read-toc' and 'read-cd'. If this flag is selected multi session disks will not be handled properly but some drives do not work with the currently implemented method for reading the TOC of a specific session.

    0x00020000: If the byte order of the audio data retrieved with 
                'read-cd' is wrong (i.e. not big endian samples) use
                this option.

    0x00040000: Use this option if your drive cannot read audio data
                from the first track's pre-gap. You will get read error
                messages in this case which should vanish if this option
                is used.

    0x00080000: Suppresses the automatic data type detection for the
                raw TOC data and assumes that the drive sends BCD data.
                Use this or the following option if cdrdao reports that
                it cannot "determine if raw toc data is BCD or HEX".

    0x00100000: Suppresses the automatic data type detection for the
                raw TOC data and assumes that the drive sends HEX data.
                Use this or the previous option if cdrdao reports that
                it cannot "determine if raw toc data is BCD or HEX".

    0x00200000: Do not try to read CD-TEXT data with command 'read-toc',
                'read-cd' or 'copy'. Some drives lock up or send junk
                data when asked for the CD-TEXT data. 

Available Drivers:

plextor Supports CD structure analysis (command 'read-toc') for Plextor CD-ROM readers. Pre-gaps and index marks are detected by performing a binary search over the Q sub-channel for each track. This method is fast and gives very exact results on Plextor drives. The driver uses generic SCSI commands (PLAY AUDIO and READ SUB-CHANNEL) so it may work on other models, too, but result and speed is directly correlated to the digital audio extraction capabilities.

 Option Bits:
    read-toc/read-cd related:
       0x00000001: Force usage of the paranoia method for audio extraction
                   instead of the special Plextor method that is used
                   with Plextor drives.

       0x00000002: Use the READ10 command to read audio data instead of
                   the vendor specific READ CDDA command.
                   Only used if the paranoia DAE method is selected.

	   0x00000010: Don't slow down after a read error. Available
                           only on Plextor devices. Manufacturer
                           default is to slow down.

	   0x00000020: Start data transfer before maximum
                           speed is reached. Available only on
                           Plextor PX-20 and later. Manufacturer
                           default is to wait for maximum speed.

	   0x00000040: Don't slow down when drive pauses to
                           avoid vibrations. Available only on
                           Plextor PX-20 and later. Manufacturer
                           default is to slow down.

plextor-scan This is an alternate driver for CD structure analysis with Plextor drives. It scans the Q sub-channels of a track linearly like the 'generic-mmc' driver but is faster on Plextor drives.

 Option Bits:
    read-toc/read-cd related:
       0x00000001: Read 16 bytes PQ sub-channel instead of 96 byte
                   raw P-W sub-channel data. If 'read-toc'/'read-cd'
                   fails on your drive try to select this option.
                   
       0x00000002: Only used if option '0x00000001' is selected. If set
                   the read PQ sub-channel data is expected to contain
                   BCD instead of HEX values. If the time count that
                   is displayed while running 'read-toc' jumps you will
                   have to toggle this option.

       0x00000004: Do not take ISRC code from the sub-channel data but use
                   the appropriate SCSI command for reading the ISRC 
                   code. This option is automatically selected if 16
                   byte PQ sub-channel data with HEX values is used.

cdd2600 This is a native driver for the Philips CDD2000/CDD2600 drive family. 'read-toc' is implemented like in the 'plextor' driver but it is slow and not very exact due to poor digital audio extraction capabilities of these drives. Anyway, I don't recommend doing CD structure analysis with the CDD2x00 because it stresses the mechanism too much.

generic-mmc This is a driver for SCSI-3/mmc compatible CD-recorders that support session-at-once (cue sheet based) writing. Most of the recent drives (ATAPI, SCSI, USB, Parallel Port) should be compatible with this or with the 'generic-mmc-raw' driver described below. Data track writing support is also available. 'read-toc' scans linearly the Q sub-channel of each track to retrieve the pre-gap length and index marks. This method is very accurate but takes the same time like digital audio extraction. It should also work with recent CD-ROM readers.

 Option Bits:
    read-toc/read-cd related:
       0x00000001: See 'plextor-scan'.
                   
       0x00000002: See 'plextor-scan'.

       0x00000004: See 'plextor-scan'.

       0x00000008: Try to retrieve the media catalog number by scanning
                   the sub-channels instead of using the appropriate
                   SCSI command. This might be an option if the CD-R/CD-ROM
                   drive does not extract the catalog number otherwise.

                   Note: A media catalog number need not be present on
                         on a CD.

       0x00000020: Use this option if the drive cannot read sub-channel
                   data along with audio data. A binary search method for
                   pre-gap and index mark extraction will be selected in
                   this case which has to play a sector before the
                   sub-channel data can be retrieved.
                   If 'read-toc'/'read-cd' works only with this option
                   you should consider to use '--fast-toc' since the
                   data retrieved with the binary search method is usually
                   not very reliable and not worth the additional time.

       0x00000100: Force using the raw R-W sub-channel reading
                   mode for audio and data tracks.

    writing related:
       0x00000010: Enable CD-TEXT writing. This must be done explicitly
                   because there is no way to detect if a recorder supports
                   CD-TEXT writing. Trying to write CD-TEXT data with
                   recorders that do not support this feature usually
                   results in an error message at the beginning of the
                   recording process and in real write mode the medium
                   will be unusable.

       0x00000040: Suppresses the activation of the BURN Proof feature.

       0x00000080: If the drive does not support packed R-W
                   sub-channel writing (the drive does not support
                   the L-EC data creation and interleaving for R-W
                   sub-channel data) you will have to specify this
                   option. Cdrdao will perform all the encoding
                   and write in raw R-W mode. If the drive does
                   not support the raw R-W writing mode, too, it
                   is not possible to write sub-channel data.

generic-mmc-raw This is an alternate driver for SCSI-3/mmc compatible CD-recorders. It uses the raw writing interface where the driver has to provide the PQ sub-channel data in addition to the audio data. This writing mode allows using part of the lead-out area for audio data since the drive's firmware has no chance to prevent this. Of course, you will get some error message at the end of writing when the CD-R capacity is exhausted. Multi session recording is currently not supported. CD structure analysis is done like in the 'generic-mmc' driver.

 Option Bits:
    All of 'generic-mmc' except
       
       0x00000010: CD-TEXT writing capability is automatically determined.

       0x00000080: R-W sub-channel writing capability is
                   automatically determined.

ricoh-mp6200 Supports writing with the Ricoh MP6200S CD recorder. CD structure analysis is done like in the 'generic-mmc' driver.

sony-cdu920 Driver for the Sony CDU920 recorder. Audio and data tracks are supported. The Sony CDU948 recorder will work with this driver, too. Use option '--speed 0' to get the full writing speed. 'read-toc' uses the Q sub-channel scanning method.

sony-cdu948 Driver for the Sony CDU948 recorder. It extends the 'sony-cdu920' driver by CD-TEXT writing and multi session mode.

taiyo-yuden This is an adapted 'cdd2600' driver for Taiyo-Yuden recorders. 'read-toc' is done with 'plextor' method.

teac-cdr55 Driver for the Teac CD-R55 recorder. Audio and data tracks are supported. 'read-toc' uses the Q sub-channel scanning method.

toshiba Read only driver for Toshiba SCSI CD-ROM drives. The Q sub-channel scanning method is used to detect pre-gaps and index marks.

yamaha-cdr10x Driver for the Yamaha CDR10X recorder series that supports audio and data tracks. 'read-toc' uses the Q sub-channel scanning method.

SCSI Device

Cdrdao uses Joerg Schilling's SCSI library. Thus the same SCSI device addressing scheme applies as for 'cdrecord'. A SCSI device is addressed by a bus/id/lun triple, e.g. '--device 0,2,0' for a device with SCSI ID 2 on SCSI bus 0. On some systems it is also possible (sometimes required) to specify a device node directly, e.g. '--device /dev/sg0' can be used on Linux systems instead of the bus/id/lun triple.

On Linux systems the generic SCSI device ('/dev/sg?') is required to access the CD writer. Try 'cat /proc/devices' to check out if your kernel supports the character device 'sg'. If not insert the corresponding module ('insmod sg.o') or reconfigure and compile the kernel. Cdrdao opens '/dev/cdrecorder' by default which should be a link to the appropriate generic SCSI device.

ATAPI Support

ATAPI drives use the same command set as SCSI devices so that cdrdao also supports all ATAPI CD-ROM, CD-R and CD-RW drives. Either the 'generic-mmc' or the 'generic-mmc-raw' driver should work if the recorder supports DAO writing at all.

Cdrdao access ATAPI devices through the same interface as used for SCSI devices. Therefor the operating system must emulate the ATAPI devices as SCSI devices. Some operating systems do this by default (e.g. Win32), other operating system must be told to do that (e.g. Linux, enable the IDE host adapter emulation) and some operating system may not support that.

The same applies for USB and parallel port devices: cdrdao supports them but the operating system must present them as SCSI devices.

It is also possible to access ATAPI devices directly by using the syntax '--device ATAPI:0,0,0' or '--device ATA:0,0,0' based in your operating system. This is the same syntax used by cdrecord. It is indeed the recommended way for recent Linux systems wich no longer relies on the ide-scsi emulation layer. Linux kernel 2.4 users should use the '--device ATAPI:0,0,0' syntax, while kernels above 2.6 can use the more recent ATA interface ('--device ATA:0,0,0').

Digital Audio Extraction

The digital audio extraction is done with the help of Monty's paranoia library except the 'plextor' driver which uses a special method for Plextor drives. If you want to use the paranoia mode with the 'plextor' driver you will have to use option '--driver plextor:0x1'.

The output file will always contain raw signed 16 bit audio samples with MSB-LSB (big endian) byte order. If the byte order of the output file is not MSB-LSB you will have to use the driver option '0x20000', e.g. '--driver plextor:0x20000'. Please do not try to use '--swap' for writing in this case because the byte order of the audio samples that are fed to the paranoia library is wrong, too, which will cause malfunction of the paranoia library routines.

Even if you specify a file name with a ".wav" extension the resulting file will be a raw audio file without any header.

'read-cd' and 'copy' will read the first track's pre-gap, too. If your drive cannot access these audio sectors which is usually indicated by read errors you will have to use driver option 0x40000.

Currently, cdrdao does not support as many CD-ROM drives as cdparanoia. If audio extraction works with cdparanoia but not with cdrdao please send me a log of a 'cdparanoia -v' run and I will implement the required access command.

CD-TEXT Writing

CD-TEXT data is read with 'read-toc' or 'read-cd' if your drive supports it (e.g. Teac CD-532e, HP CD-Writer+ 8100) and will be stored in the toc-file. It is also possible to create the CD-TEXT data manually by editing the toc-file or by using the xcdrdao GUI. If you want to create your own CD-TEXT data be sure to add the fields 'TITLE' and 'PERFORMER' to all tracks.

IMPORTANT: The CD-TEXT writing feature must be explicitly enabled with the driver option 0x10 for the 'generic-mmc' driver (see section Drivers). If the driver is automatically selected for your recorder model the driver options should be already set if your recorder is known to write CD-TEXT data. Please report if the driver database is not up to date or contains incorrect data.

The directory "testtocs" contains a template toc-file "cdtext.toc".

Drives Known to Work

Recorders:

Model Firmware Rev. Driver

ACER 10x8x32 ? generic-mmc-raw ACER 2010A ? generic-mmc-raw ACER 20x10x40 ? generic-mmc-raw ACER 4406EU A.AZ generic-mmc-raw ACER 4x4x6 ? generic-mmc-raw ACER 8X4X32 5.GV generic-mmc-raw ACER CD-R/RW 4X4X32 3.LS generic-mmc-raw AOPEN CD-RW CRW1632 1.11 generic-mmc
AOPEN CD-RW CRW2040 1.01 generic-mmc
AOPEN CD-RW CRW3248 1.12 generic-mmc-raw AOPEN CD-RW-241040 ? generic-mmc
AOPEN CRW1232 ? generic-mmc-raw AOPEN CRW620 2.40 ricoh-mp6200 10 AOPEN CRW9624 1.70 generic-mmc
ARTEC RW241040 1.02 generic-mmc-raw ARTEC WRA-WA48 ? generic-mmc-raw ARTEC WRR-4048 1.01 generic-mmc-raw ASUS CRW-1610A atapi generic-mmc-raw ASUS CRW-3212A 1.0 generic-mmc-raw ATAPI CD-R/RW 12X8X32 9.JB generic-mmc-raw ATAPI CD-R/RW 4X4X32 3.GS,3.HS generic-mmc-raw 7 ATAPI CD-R/RW CRW6206A 1.3A generic-mmc-raw BENQ CRW2410A P.MJ generic-mmc-raw BTC BCE1610IM 0.19,A.20 generic-mmc-raw BTC BCE2410IM A.22,A.23 generic-mmc-raw BTC BCE621E 2.0 generic-mmc-raw CD-RW CDR-2440MB 5SG1 generic-mmc
CREATIVE CD-RW RW1210E LCS6 generic-mmc
CREATIVE CD-RW RW4424 1.12 generic-mmc
CREATIVE CD-RW RW8433E 1R04 generic-mmc
CREATIVE CD5233E 1.00 generic-mmc
CYBERDRV CW018D 120 generic-mmc-raw CYBERDRV CW038D 100C,110C generic-mmc-raw CYBERDRV CW058D 100D generic-mmc-raw DELTA OME-W141 1.40 generic-mmc
GENERIC CRD-BP1600P 2.43 generic-mmc
GENERIC CRD-R800S 1.10 generic-mmc
GENERIC CRD-RW2 1.12 generic-mmc 9 Goldstar 8120B ? generic-mmc-raw GRUNDIG CDR100IPW 1.26 cdd2600
HL-DT-ST CD-RW GCE-8160B 1.02 generic-mmc-raw HL-DT-ST CD-RW GCE-8320B 1.00,1.01,1.04 generic-mmc-raw HL-DT-ST RW/DVD GCC-4120B 2.01 generic-mmc
HP 9510i 1.0e generic-mmc
HP CD-Writer 4020 1.27 cdd2600
HP CD-Writer 6020 1.07 cdd2600
HP CD-Writer+ 7100 3.01 generic-mmc-raw HP CD-Writer+ 7200 3.01 generic-mmc-raw HP CD-Writer+ 7570 1.0a generic-mmc 5 HP CD-Writer+ 8100 1.0g generic-mmc 5 HP CD-Writer+ 8200 1.0f generic-mmc 5 HP CD-Writer+ 8290 1.3c generic-mmc 5 HP CD-Writer+ 9100 1.0c generic-mmc 5 HP CD-Writer+ 9110 1.0 generic-mmc 5 HP CD-Writer+ 9200 1.0c, 1.0e generic-mmc 5 HP CD-Writer+ 9300 1.0b generic-mmc 5 HP CD-Writer+ 9600 1.0a generic-mmc 5 HP CD-Writer+ 9700 1.0M generic-mmc
HP DVD Writer 100j 1.34 generic-mmc
HP DVD Writer 200j 1.06 generic-mmc-raw IDE-CD R/RW 16x10A P1.5 generic-mmc
IDE-CD R/RW 2x2x24 1.4 generic-mmc-raw IDE-CD R/RW 4x4x24 1.5C generic-mmc-raw IDE-CD R/RW 4x4x32 1.3B,1.4B generic-mmc-raw IDE-CD R/RW 8x4x32 1.3B,1.4B,1.5 generic-mmc-raw IDE-CD ReWritable-2x2x6 3.09 generic-mmc-raw IMATION IMW121032IAB 2.4B generic-mmc
IMS 522 1.05 cdd2600
IMS CDD2000 1.25,1.26 cdd2600
IOMEGA ZIPCD 4x650 1.04 generic-mmc-raw JVC R2626 1.10,2.29 teac-cdr55
JVC XR-W2010 1.51 teac-cdr55
KODAK PCD-225 1.06 cdd2600
LG 8088B ? generic-mmc
LG 8120B 1.03 generic-mmc
LG CD-ROM CDR-8428B 1.0 generic-mmc
LG CD-RW CED-8080B 1.05,1.06 generic-mmc
LG CD-RW CED-8081B 1.00,1.05,1.06 generic-mmc
LG CD-RW CED-8083B 1.06,1.09,1.1 generic-mmc
LG CD-RW GCE-8240B 1.06 generic-mmc
LG COMBO 1.0 generic-mmc
LG HL-DT-ST RW/DVD GCC-4080N 0010 generic-mmc
LITE-ON LTR-0841 MS10, MS84 generic-mmc
LITE-ON LTR-12101B LS15 generic-mmc-raw LITE-ON LTR-16101B TSON generic-mmc-raw LITE-ON LTR-16102C US52 generic-mmc-raw LITE-ON LTR-24102B 5S07 generic-mmc
LITE-ON LTR-32123S XS0X generic-mmc-raw LITE-ON LTR-32125W WBS4 generic-mmc
LITE-ON LTR-40125S ZS08 generic-mmc-raw LITE-ON LTR-48125W VS04,VS06 generic-mmc-raw MATSHITA CD-R CW-7502 X.14, X.17 generic-mmc 5 MATSHITA CD-R CW-7503 1.04, 1.8 generic-mmc
MATSHITA CD-R CW-7582 1.00, 1.05, 1.10 generic-mmc
MATSHITA CD-R CW-7585 1.04 generic-mmc
MATSHITA CD-R CW-7586 1.01,1.08 generic-mmc
MATSHITA CDRRW01 1.34 generic-mmc
MATSHITA UJDA360 ? generic-mmc
MATSHITA UJDA710 1.50 generic-mmc
MATSHITA UJDA720 ? generic-mmc
MEMOREX 24MAX 1040 ? generic-mmc
MEMOREX 40MAXX 1248AJ ZWS1 generic-mmc
MEMOREX CD-RW4224 1.17 generic-mmc
MEMOREX CDRW-2216 1.0b generic-mmc-raw MEMOREX CR-622 D4.0 generic-mmc-raw 5 MEMOREX CRW-1662 D4.0 generic-mmc-raw MEMOREX CRW620 1.20 ricoh-mp6200
MICROSOLUTIONS BACKPACK CD REWRITER ? generic-mmc
MITSUMI 2801 1.10 generic-mmc-raw MITSUMI CR-4801 2.02 generic-mmc 2 MITSUMI CR-4802 1.2B, 1.4D generic-mmc-raw 4 MITSUMI CR-4804 2.4C generic-mmc-raw MITSUMI CR-48X5 1.2A generic-mmc
MITSUMI CR-48X5TE 1.6A generic-mmc
MITSUMI CR-48X8TE 1.1E generic-mmc
MITSUMI CR-48XATE 1.0C generic-mmc
OLYMPIC RWD RW4224 ? generic-mmc
OTI -975 SOCRATES ? generic-mmc-raw PANASONIC CD-R CW-7582 1.05 generic-mmc
PHILIPS CDD 3801/31 ? generic-mmc-raw PHILIPS CDD2000 1.25, 1.26 cdd2600
PHILIPS CDD2600 1.07 cdd2600
PHILIPS CDD3600 2.00 generic-mmc-raw PHILIPS CDD3610 2.02, 3.01, 3.09 generic-mmc-raw PHILIPS CDD4201 1.5C generic-mmc-raw PHILIPS CDD4801 C1.3 generic-mmc-raw PHILIPS CDD522 ? cdd2600
PHILIPS CDRW1610A P1.4 generic-mmc
PHILIPS CDRW2412A P1.5 generic-mmc
PHILIPS CDRW400 ? generic-mmc-raw PHILIPS OMNIWRITER26 1.20 ricoh-mp6200
PHILIPS PCA460RW 1.0e,1.0g generic-mmc
PHILIPS PCRW1208 3.1,4.0 generic-mmc-raw PHILIPS PCRW120899 ? generic-mmc-raw PHILIPS PCRW404 1.06,1.4b generic-mmc-raw PHILIPS PCRW804 1.5,2.0 generic-mmc-raw PIONEER DVD-ROM DVD-114 2.06 generic-mmc
PLEXTOR CD-R PX-R412 1.04, 1.06, 1.07 generic-mmc
PLEXTOR CD-R PX-R820 1.03, 1.07 generic-mmc
PLEXTOR CD-R PX-W1210 1.02,1.04,1.05 generic-mmc
PLEXTOR CD-R PX-W124 1.02 generic-mmc
PLEXTOR CD-R PX-W1610 1.00 generic-mmc
PLEXTOR CD-R PX-W4220 1.01, 1.02 generic-mmc
PLEXTOR CD-R PX-W8220 1.01 generic-mmc
PLEXTOR CD-R PX-W8432 1.03, 1.05 generic-mmc
PLEXTOR CD-R PX-W241040 1.04 generic-mmc
PLEXTOR CD-R PX-W2410a 1.03,1.04 generic-mmc
PLEXTOR CD-R PX-W4012A 1.00,1.01 generic-mmc
QPS CRD-BP 1500P 6.38 generic-mmc-raw RICOH CD-R/RW MP7040 1.4 generic-mmc
RICOH CD-R/RW MP7060 1.30, 1.50, 1.70 generic-mmc
RICOH CD-R/RW MP7063A 1.80 generic-mmc
RICOH CD-R/RW MP7080 1.10 generic-mmc
RICOH CD-R/RW MP7083A 1.20 generic-mmc
RICOH DVD/CDRW MP9060 1.50 generic-mmc
RICOH MP6200 2.20, 2.03, 1.20, 2.40 ricoh-mp6200
RICOH MP6201 ? ricoh-mp6200
SAF CD-R2006PLUS 2.05 teac-cdr55
SAF CD-R4012 6.0J, 6.0L teac-cdr55
SAF CD-R8020 1.24 generic-mmc
SAF CD-RW 226 1.12 teac-cdr55
SAF CD-RW4224A 1.20 generic-mmc
SAF CD-RW6424 1.30 generic-mmc
SAMSUNG CD-R/RW SW-204B BS21 generic-mmc-raw SAMSUNG CD-R/RW SW-206 1.40 generic-mmc
SAMSUNG CD-R/RW SW-208 BS01, BS02 generic-mmc-raw SAMSUNG CD-R/RW SW-212B BS05,Q001 generic-mmc-raw SAMSUNG CD-R/RW SW-224 R201 generic-mmc-raw SAMSUNG CD-R/RW SW-408B BS02 generic-mmc
SAMSUNG CDRW/DVD SM-308B BS03,BS04,T100 generic-mmc
SAMSUNG SW-232 R300,R301 generic-mmc-raw SANYO CRD-BP3 1.03 generic-mmc
SONY CD-R CDU920 ? sony-cdu920
SONY CD-R CDU924 1.1d sony-cdu920
SONY CD-R CDU948 1.0j sony-cdu948 5 SONY CD-RW CRX700E 1.4r generic-mmc
SONY CRX-815 ? generic-mmc
SONY CRX100 1.0m generic-mmc 5 SONY CRX120 1.0j generic-mmc 5 SONY CRX140 1.0n generic-mmc 5 SONY CRX145 1.0b generic-mmc 5 SONY CRX160E 1.0e,1.0g generic-mmc
SONY CRX175A1 5YS2 generic-mmc
SONY CRX175E ? generic-mmc
SONY CRX185E1 XYS2 generic-mmc
SONY CRX195E1 ? generic-mmc-raw T.YUDEN CD-WO EW-50 2.15, 2.16, 2.18 taiyo-yuden
TDK 4800 s7s5 generic-mmc
TDK CDRW121032 1.02 generic-mmc
TDK CDRW321040B X7S2 generic-mmc
TDK CDRW8432 1.07 generic-mmc
TEAC CD-R50 ? teac-cdr55
TEAC CD-R55 1.0k,1.0n,1.0r teac-cdr55
TEAC CD-R56 ? generic-mmc
TEAC CD-R58 1.0J, 1.0H generic-mmc
TEAC CD-W216E 1.0A generic-mmc
TEAC CD-W512EB 2.0B generic-mmc
TEAC CD-W512SB 1.0H generic-mmc
TEAC CD-W516EB 1.0A,1.0B generic-mmc
TEAC CD-W516EC 1.8C generic-mmc
TEAC CD-W524E 1.0b generic-mmc
TEAC CD-W54E 1.1B generic-mmc
TEAC CD-W58E 1.0A generic-mmc-raw TORiSAN CDW-U4424 1.10 generic-mmc 11 TOSHIBA DVD-ROM SD-M1612 1004 generic-mmc
TOSHIBA DVD-ROM SD-R1002 1030 generic-mmc
TOSHIBA DVD-ROM SD-R1202 1020 generic-mmc
TOSHIBA DVD-ROM SD-R2002 ? toshiba
TOSHIBA DVD-ROM SD-R2102 15 toshiba
TOSHIBA R/RW 4x4x24 ? generic-mmc-raw TRAXDATA 241040 ? generic-mmc
TRAXDATA 2832 ? generic-mmc-raw TRAXDATA CDR4120 5.0G, 5.0J, 5.0N teac-cdr55
TRAXDATA CDRW2260+ 3.01 generic-mmc-raw TRAXDATA CDRW4260 1.0f generic-mmc
TRAXDATA CRW2260 PRO 2.0 generic-mmc-raw WAITEC WT2444EI 1.04 generic-mmc-raw WAITEC WT4424 1.01 generic-mmc-raw WAITEC WT624 7.0F generic-mmc
YAMAHA CDR100 1.0, 1.1 yamaha-cdr10x
YAMAHA CDR102 1.00, 1.01 yamaha-cdr10x
YAMAHA CDR200 1.0k generic-mmc
YAMAHA CDR400 1.0k, 1.0n generic-mmc 1,5 YAMAHA CRW2100 1.0D, 1.0H generic-mmc
YAMAHA CRW2200 ? generic-mmc
YAMAHA CRW2260 1.0f generic-mmc
YAMAHA CRW3200 1.0d generic-mmc
YAMAHA CRW4001 1.0q generic-mmc
YAMAHA CRW4260 1.0h, 1.0q generic-mmc 5 YAMAHA CRW4416 1.0b generic-mmc
YAMAHA CRW6416 1.0c, 1.0d generic-mmc 8 YAMAHA CRW8424 1.0d generic-mmc
YAMAHA CRW8824 1.0 generic-mmc
_NEC 7900 ? generic-mmc-raw _NEC NR-7700A 1.01 generic-mmc
_NEC NR-7800A 1.01,1.0B generic-mmc-raw

Readers (command 'read-toc', 'read-cd'):

Model Firmware Rev. Driver

ASUS CD-S340 1.60 generic-mmc
ASUS CD-S400 2.40 generic-mmc
ASUS CD-S500/A 1.0K generic-mmc
ASUS DVD-ROM E608 1.10 generic-mmc
E-IDE CD-950E/TKU A41 generic-mmc
E-IDE CD-ROM 36X/AKU U23 generic-mmc 3 E-IDE CD-ROM 52X/AKH A6E generic-mmc
FUNAI E295X 1.01 generic-mmc
HITACHI CDR-7730 ? generic-mmc
HITACHI CDR-8435 0010 generic-mmc
HITACHI DVD-ROM GD-2500 A011 plextor
LG CD-ROM CRD-8480C 1.04 generic-mmc
LG CD-ROM CRD-8482B 1.00 generic-mmc
LG CD-ROM CRD-8521B 1.01,1.06 generic-mmc
LG DVD-ROM DRN8080B LAB8 generic-mmc
LITE-ON CD-ROM ? generic-mmc
LITE-ON LTD-163 ghr3 generic-mmc
LITEON DVD-ROM LTD163D ? generic-mmc
MATSHITA CD-ROM CR-506 8S04 plextor
MATSHITA CD-ROM CR-588 LS15 generic-mmc
MATSHITA CD-ROM CR-589 GS0H generic-mmc
MATSHITA CR-8008 8.0e plextor
MATSHITA DVD-ROM SR-8585 ? generic-mmc
MEMOREX CD-233E U10A generic-mmc 6 MITSUMI CD-ROM FX4820 D02A generic-mmc
NAKAMICH MJ-5.16S 1.07 plextor
OPTICS_S 8622 ? generic-mmc
PHILIPS 36X/AKU ? generic-mmc
PHILIPS CD-ROM PCCD052 F50P generic-mmc
PHILIPS E-IDE CD-ROM 36X U23 generic-mmc
PIONEER CD-ROM DR-U03 1.01 plextor
PIONEER CD-ROM DR-U06 1.05 plextor
PIONEER CD-ROM DR-U10 1.07 plextor
PIONEER CD-ROM DR-U12 1.06 plextor
PIONEER CD-ROM DR-U16 1.06 plextor
PIONEER CD-ROM DR-U32 1.00 generic-mmc
PIONEER DVD-103 1.09, 1.15 generic-mmc
PIONEER DVD-104 1.11 generic-mmc
PIONEER DVD-105 1.11 generic-mmc
PIONEER DVD-303 1.09 plextor
PIONEER DVD-305 1.03 plextor
PLEXTOR CD-ROM ? plextor-scan
PLEXTOR PX-40TS 1.11 plextor-scan
PLEXTOR PX-40TW ? plextor-scan
PLEXTOR PX-63 ? plextor-scan
SONY CD-ROM ? plextor
SONY CD-ROM CDU-76 1.1c plextor
SONY CD-ROM CDU31A-02 ? generic-mmc
SONY CD-ROM CDU4821 S0.P generic-mmc
SONY CDU5211 YYS2 generic-mmc
TEAC CD-524E 3.0B generic-mmc
TEAC CD-532E 1.0A generic-mmc
TEAC CD-532S 1.0A teac-cdr55
TEAC CD-540E 1.0A,1.0C generic-mmc
TEAC CD-ROM CD-532S 1.0A plextor-scan
TOSHIBA 1504 1008 toshiba
TOSHIBA CD-ROM XM-3206B ? generic-mmc
TOSHIBA CD-ROM XM-3601B 1885 toshiba
TOSHIBA CD-ROM XM-5302TA 1095 toshiba
TOSHIBA CD-ROM XM-5701TA 0167 toshiba
TOSHIBA CD-ROM XM-6102B 1112 generic-mmc
TOSHIBA CD-ROM XM-6201TA 1037 toshiba
TOSHIBA CD-ROM XM-6302B 1012 generic-mmc
TOSHIBA CD-ROM XM-6401TA 1009 toshiba
TOSHIBA CD-ROM XM-6402B 1008 generic-mmc
TOSHIBA DVD-ROM SD-2102 1015 toshiba
TOSHIBA DVD-ROM SD-C2202 1020,1021 generic-mmc
TOSHIBA DVD-ROM SD-C2302 1021 generic-mmc
TOSHIBA DVD-ROM SD-C2402 1317 generic-mmc
TOSHIBA DVD-ROM SD-M1102 1426 generic-mmc
TOSHIBA DVD-ROM SD-M1401 1008 generic-mmc
TOSHIBA DVD-ROM SD-M1402 ? generic-mmc
TOSHIBA XM-5401 1036 plextor

Notes:

  1. Writing with firmware revision 1.0i does not work.
  2. read-toc with plextor driver.
  3. Sold as Philips PCA36XCD CD-ROM.
  4. The generic-mmc driver will also work but the firmware seems to create wrong sub-channel data in some cases.
  5. See notes at the end of this file.
  6. This drive seems to ignore ISRC Codes and the Catalog Number.
  7. Firmware version 3.DS does not work well in DAO mode. Update to 3.GS!
  8. With firmware 1.0c and Adaptec 2940U2W the transmission must be set to asynchron according to Adaptec and Yamaha.
  9. Sanyo OEM 32x/12x/4x CD-RW drive.
  10. The firmware reports an empty vendor string so that the driver will not be selected automatically. Please use the --driver option.
  11. As with Toast and Nero it`s best to write and rewrite at 2x.

Example for CD Copying

The following command will copy the CD in the source drive specified with option '--source-device' to the CD-R/CD-RW inserted in the destination drive specified with option '--device'. Only a single session will be copied which can be selected with option '--session' (default: 1st session). If you want to keep the session open you will have to use option '--multi'.

    cdrdao copy --source-device 0,2,0 --device 0,5,0 --buffers 64

The option '--buffers' is used to adjust the ring buffer size. Each buffer holds 1 second audio data. Dividing the specified number of buffers by the writing speed gives the approx. time for which data input my be stalled, e.g. 64 buffers and writing at 4x speed results in 16 seconds.

On the fly copying is selected with option '--on-the-fly'. No intermediate data will be stored on the disk in this case.

If the source CD contains audio tracks and the source drive is slow you should consider to reduce the audio extraction quality with option '--paranoia-mode 0' or reduce the writing speed to 2x. For '--paranoia-mode 0' you will need a perfect CD-ROM drive that can provide an accurate audio stream.

The standard generic SCSI interface of Linux kernels < 2.2.6 cannot handle multiple commands in parallel. Since the reading and the writing part of cdrdao use the generic SCSI interface mutual blocking will occur. This results in low fill rates of cdrdao's ring buffer and very likely produces buffer under runs.

To avoid these problems you should apply Heiko Eissfeldt's sg-buffer patch which can be downloaded from: ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/ It is available for 2.0.x and 2.1.x kernels. For 2.2.x kernels with x < 6 the "SG-2.2.tar.gz" patch should be used. Kernel versions >= 2.2.6 do not need any patch.

I strongly recommend to perform some simulation runs before trying real writing.

Example for composing an audio CD

Assume three existing audio files 'audio1.wav', 'audio2.wav' and 'audio3.wav' that go in three tracks. We do not want a pause between track 1 and 2 (no pre-gap). The first 10 seconds of 'audio1.wav' should be used as pre-gap for track 3. Here is the toc-file:

// Track 1 TRACK AUDIO FILE "audio1.wav" 0 // take all audio data from 'audio1.wav', length is taken // from file

// Track 2 TRACK AUDIO FILE "audio2.wav" 0 // take all audio data from 'audio2.wav', length is taken // from file, no pre-gap

// Track 3 TRACK AUDIO FILE "audio1.wav" 0 0:10:0 // take first 10 seconds from 'audio1.wav' START // everything before this line goes into the pre-gap FILE "audio3.wav" 0 // take all audio data from 'audio3.wav', length is taken // from file

Type 'cdrdao show-toc example.toc' to check for the correct syntax of the toc-file. Note that even for the command 'show-toc' the audio files must exist if the length of the audio files is not specified like in the example.

Type 'cdrdao read-test example.toc' to check if all audio files can be read without error (optional).

Type 'cdrdao simulate example.toc' to perform a write simulation (optional).

Type 'cdrdao write example.toc' to create the audio CD.

Notes about some CD recorder models

MATSHITA/PANASONIC CW-7502 This drive will only produce useful disks with the recent firmware revision X.17. The X depends on the drive hardware revision.

Thanks to Jeroen Steenblik <[email protected]> for adapting
the generic-mmc driver to the CW-7502 recorder. He spend a lot of time
and wasted many CD-Rs until it was obvious that the pre-X.14
firmware does not completely comply with the SCSI-3/mmc standard. 

Here are Jeroen's notes for upgrading the firmware:
The update can be found at the Plasmon technical website,
http://tech.plasmon.co.uk/, choose 'Download Files' and obtain the
X.17 firmware for the CDR480. This includes all instructions.
One thing I might add, when downloading the two files in the sequence
described in their document, my drive refused the second file. I had
to reboot after downloading the first file and only then I could download
the second. Quite scary stuff. Swapping the download sequence should
prevent this (so I've read). 

MEMOREX CR-622 Submitted by Bryan E. Chafy [email protected]:

The drive as shipped comes with firmware that does not support DAO.
The firmware lives on a PROM, it is not flashable.
You need an EPROM burner, a 27c020 PLCC EPROM, and the
D4.0 ROM image for the CRW-1622 (can download it from Memorex web site,
the name of the image is d39e.dat).

The ROM is socketed at the rear of the drive, you will see it when you
remove the top cover.  Mine had a sticker on it with the numbers E07/885B.

Note, this is for the CR-622 (and its sister the CDR-622 wearnes drive),
NOT the CRW-1622.  The CRW-1622 drive is flash-upgradeable).

IMHO, Wearnes/Memorex should be sending us new ROM's free of charge because
the box clearly states the CR-622 supports DAO.

The new firmware does not turn the CR-622 into a cd-rw capable drive.
You can still only burn cd-r media.

YAMAHA CDR400, CRW4260 These drives sometimes have problems with writing at 4x speed. The resulting disk is hard read for some reason. Disks written at 1x or 2x speed are fine. Yamaha's support is aware of this problem. It might be related to the actual firmware revision. I successfully wrote CD-Rs at 4x speed with a CDR400t and firmware revision 1.0k.

HP CD-Writer+ 75XX, HP CD-Writer+ 8100, SONY CRX100, HP CD-Writer+ 8200 The firmware restricts the possible disk types in multi session mode (DAO only) to one of the following:

 o Pure audio CD.
 o CD-EXTRA where the 1st session contains only audio tracks and the
   2nd session contains 1 data track.
  
Further restrictions:

 o The length of the 1st track's pre-gap is restricted to a certain
   amount.
 o Cue sheets with ISRC codes are rejected of the COPY flag is set.
   This might be fixed in future versions.

SONY CD-R CDU948 The firmware restricts the possible disk types in DAO mode to one of the following:

 o Pure audio CD.
 o Mixed mode CD where the 1st track is a data track followed by at
   least 1 audio track.
 o CD-EXTRA where the 1st session contains only audio tracks and the
   2nd session contains 1 data track.
  
The length of the 1st track's pre-gap is restricted to a certain
amount, too.

If you want to create a pure data CD you will have to append a dummy
audio track to the toc-file, e.g. with:

    TRACK AUDIO
PREGAP 0:2:0
SILENCE 0:4:0