For a while now, wodim fails to burn a data CD from a .iso. The failure message is: CDB: 54 01 00 00 00 00 00 00 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: 70 00 03 00 00 00 00 0A 00 00 00 00 73 03 00 00 Sense Key: 0x3 Medium Error, Segment 0 Sense Code: 0x73 Qual 0x03 (power calibration area error) Fru 0x0 Sense flags: Blk 0 (not valid) cmd finished after 18.292s timeout 60s wodim: OPC failed. The version of wodim is 1.1.9-1.1, where the '.1' indicates my patch that turns off BURNFREE. But I get the same error with and without burnfree. (I wanted to test if that were true, and wodim no longer obeys the driveropts=noburnfree commandline option.) I also tried different recordable media (CD-RW vs CD-R) but got the same error. Is this a hardware error? I had the hardware repair folks check the drive, and they couldn't find anything wrong. The hardware is a Thinkpad T60 with this CDROM: [ 1.940877] sda:<6>hda: HL-DT-STCD-RW/DVD DRIVE GCC-4246N, ATAPI CD/DVD-ROM drive [ 2.403310] ide-cd: hda: ATAPI 24X DVD-ROM CD-R/RW drive, 2048kB Cache [ 2.403316] Uniform CD-ROM driver Revision: 3.20 Here's a full transcript of the wodim session: # cdrecord -vvv -tao ~sanjoy/admin/laptop/T60/bios/v2.23/79uj30uc.iso TOC Type: 1 = CD-ROM Device was not specified. Trying to find an appropriate drive... Looking for a CD-R drive to store 4.63 MiB... Detected CD-R drive: /dev/hda scsidev: '/dev/hda' devname: '/dev/hda' scsibus: -2 target: -2 lun: -2 Linux sg driver version: 3.5.27 Wodim version: 1.1.9 Using libusal version 'Cdrkit-1.1.9'. Driveropts: 'noburnfree' SCSI buffer size: 64512 Device type : Removable CD-ROM Version : 0 Response Format: 2 Capabilities : Vendor_info : 'HL-DT-ST' Identification : 'RW/DVD GCC-4246N' Revision : '0X05' Device seems to be: Generic mmc2 DVD-ROM. Current: 0x000A (CD-RW) Profile: 0x0010 (DVD-ROM) Profile: 0x0008 (CD-ROM) Profile: 0x0009 (CD-R) Profile: 0x000A (CD-RW) (current) Drive current speed: 4 Drive default speed: 4 Drive max speed : 4 Selected speed : 4 Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr). Driver flags : MMC-3 SWABAUDIO BURNFREE Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R Drive buf size : 1601712 = 1564 KB Beginning DMA speed test. Set CDR_NODMATEST environment variable if device communication breaks or freezes immediately after that. FIFO size : 12582912 = 12288 KB Track 01: data 4 MB track: 1 start: 0 pregap: 150 Total size: 5 MB (00:31.62) = 2372 sectors Lout start: 5 MB (00:33/47) = 2372 sectors 41 00 00 14 00 00 00 00 41 01 00 10 00 00 00 00 41 01 01 10 00 00 02 00 41 AA 01 14 00 00 21 2F Track 1 start 0 Track 2 start 2372 41 00 A0 00 00 00 00 01 00 00 00 00 41 00 A1 00 00 00 00 01 00 00 00 00 41 00 A2 00 00 00 00 00 33 47 00 00 41 00 01 00 00 00 00 00 02 00 00 00 Current Secsize: 2048 ATIP info from disk: Indicated writing power: 5 Reference speed: 2 Is not unrestricted Is erasable ATIP start of lead in: -11635 (97:26/65) ATIP start of lead out: 359849 (79:59/74) 1T speed low: 0 (reserved val 0) 1T speed high: 4 2T speed low: 8 2T speed high: 0 (reserved val 10) power mult factor: 4 6 recommended erase/write power: 3 A1 values: 02 4C B0 A2 values: 4A C8 36 Disk type: Phase change Manuf. index: 3 Manufacturer: CMC Magnetics Corporation Blocks total: 359849 Blocks current: 359849 Blocks remaining: 357477 Speed set to 706 KB/s Starting to write CD/DVD at speed 4.0 in real TAO mode for single session. Last chance to quit, starting real write in 0 seconds. Operation starts. Waiting for reader process to fill input buffer ... input buffer ready. trackno=0 BURN-Free is OFF. Performing OPC... Errno: 0 (Success), send opc scsi sendcmd: no error CDB: 54 01 00 00 00 00 00 00 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: 70 00 03 00 00 00 00 0A 00 00 00 00 73 03 00 00 Sense Key: 0x3 Medium Error, Segment 0 Sense Code: 0x73 Qual 0x03 (power calibration area error) Fru 0x0 Sense flags: Blk 0 (not valid) cmd finished after 18.292s timeout 60s wodim: OPC failed. Writing time: 18.323s wodim: fifo had 77 puts and 0 gets. wodim: fifo was 0 times empty and 0 times full, min fill was 100%.
Perhaps, my issue is related. I am getting intermittent "no error"
errors displaying "status: 0x02 (CHECK_CONDITION)".
I suspect that an extra "resid: 28" in addition to a regular "resid: 8" is an
early indicator of the trouble.
As a result, the blank DVD-R disk gets its session closed and I cannot
use it for my single-session burning.
I am including a failure log. After making a "coaster" of 2 blank
disks, I then got the burning succeed. I include the log of the
successful cdrecord invocation after the failure log. I think both
wodim and cdrecord suffer from the intermittent failure I am describing.
===============================================================================
ilgiz@ei:~/download$ sudo wodim -v ${DISK_NAME}.iso
wodim: No write mode specified.
wodim: Assuming -tao mode.
wodim: Future versions of wodim may have different drive dependent defaults.
TOC Type: 1 = CD-ROM
Device was not specified. Trying to find an appropriate drive...
Looking for a DVD-R drive to store 4267.57 MiB...
Detected DVD-R drive: /dev/hdb
scsidev: '/dev/hdb'
devname: '/dev/hdb'
scsibus: -2 target: -2 lun: -2
Linux sg driver version: 3.5.27
Wodim version: 1.1.10
SCSI buffer size: 64512
Device type : Removable CD-ROM
Version : 0
Response Format: 2
Capabilities :
Vendor_info : 'HL-DT-ST'
Identification : 'DVDRAM GSA-H10A '
Revision : 'JL03'
Device seems to be: Generic mmc2 DVD-R/DVD-RW.
Current: 0x0011 (DVD-R sequential recording)
Profile: 0x0012 (DVD-RAM)
Profile: 0x0011 (DVD-R sequential recording) (current)
Profile: 0x0015 (DVD-R/DL sequential recording)
Profile: 0x0016 (DVD-R/DL layer jump recording)
Profile: 0x0014 (DVD-RW sequential recording)
Profile: 0x0013 (DVD-RW restricted overwrite)
Profile: 0x001A (DVD+RW)
Profile: 0x001B (DVD+R)
Profile: 0x002B (DVD+R/DL)
Profile: 0x0010 (DVD-ROM)
Profile: 0x0009 (CD-R)
Profile: 0x000A (CD-RW)
Profile: 0x0008 (CD-ROM)
Profile: 0x0002 (Removable disk)
Using generic SCSI-3/mmc DVD-R(W) driver (mmc_mdvd).
Driver flags : SWABAUDIO BURNFREE
Supported modes: PACKET SAO
Drive buf size : 1114112 = 1088 KB
Beginning DMA speed test. Set CDR_NODMATEST environment variable if device
communication breaks or freezes immediately after that.
Drive DMA Speed: 14562 kB/s 82x CD 10x DVD
FIFO size : 12582912 = 12288 KB
Track 01: data 4267 MB
Total size: 4901 MB (485:33.25) = 2184994 sectors
Lout start: 4901 MB (485:35/19) = 2184994 sectors
Current Secsize: 2048
HINT: use dvd+rw-mediainfo from dvd+rw-tools for information extraction.
Blocks total: 2298496 Blocks current: 2298496 Blocks remaining: 113502
Speed set to 22160 KB/s
Starting to write CD/DVD at speed 17.0 in real unknown mode for single session.
Last chance to quit, starting real write in 0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
Performing OPC...
resid: 8
resid: 28
Starting new track at sector: 825831473
Track 01: 0 of 4267 MB written.Errno: 0 (Success), write_g1 scsi sendcmd: no error
CDB: 2A 00 31 39 30 31 00 00 1F 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: F0 00 05 31 39 30 31 10 2A 00 00 0C 21 00 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x21 Qual 0x00 (logical block address out of range) Fru 0x0
Sense flags: Blk 825831473 (valid)
resid: 63488
cmd finished after 0.008s timeout 40s
write track data: error after 0 bytes
wodim: The current problem looks like a buffer underrun.
wodim: Try to use 'driveropts=burnfree'.
wodim: Make sure that you are root, enable DMA and check your HW/OS set up.
Writing time: 82.650s
Average write speed 111.0x.
Fixating...
Fixating time: 5.964s
wodim: fifo had 192 puts and 1 gets.
wodim: fifo was 0 times empty and 0 times full, min fill was 100%.
===============================================================================
ilgiz@ei:~/download$ sudo cdrecord -vvv -tao ${DISK_NAME}.iso
TOC Type: 1 = CD-ROM
Device was not specified. Trying to find an appropriate drive...
Looking for a DVD-R drive to store 4267.57 MiB...
Detected DVD-R drive: /dev/hdb
scsidev: '/dev/hdb'
devname: '/dev/hdb'
scsibus: -2 target: -2 lun: -2
Linux sg driver version: 3.5.27
Wodim version: 1.1.10
Using libusal version 'Cdrkit-1.1.10'.
SCSI buffer size: 64512
Device type : Removable CD-ROM
Version : 0
Response Format: 2
Capabilities :
Vendor_info : 'HL-DT-ST'
Identification : 'DVDRAM GSA-H10A '
Revision : 'JL03'
Device seems to be: Generic mmc2 DVD-R/DVD-RW.
Current: 0x0011 (DVD-R sequential recording)
Profile: 0x0012 (DVD-RAM)
Profile: 0x0011 (DVD-R sequential recording) (current)
Profile: 0x0015 (DVD-R/DL sequential recording)
Profile: 0x0016 (DVD-R/DL layer jump recording)
Profile: 0x0014 (DVD-RW sequential recording)
Profile: 0x0013 (DVD-RW restricted overwrite)
Profile: 0x001A (DVD+RW)
Profile: 0x001B (DVD+R)
Profile: 0x002B (DVD+R/DL)
Profile: 0x0010 (DVD-ROM)
Profile: 0x0009 (CD-R)
Profile: 0x000A (CD-RW)
Profile: 0x0008 (CD-ROM)
Profile: 0x0002 (Removable disk)
Found DVD media: using cdr_mdvd.
Using Session At Once (SAO) for DVD mode.
Drive current speed: 16
Drive default speed: 16
Drive max speed : 16
Selected speed : 16
Using generic SCSI-3/mmc DVD-R(W) driver (mmc_mdvd).
Driver flags : SWABAUDIO BURNFREE
Supported modes: PACKET SAO
Drive buf size : 1114112 = 1088 KB
Beginning DMA speed test. Set CDR_NODMATEST environment variable if device
communication breaks or freezes immediately after that.
Drive DMA Speed: 14562 kB/s 82x CD 10x DVD
FIFO size : 12582912 = 12288 KB
Track 01: data 4267 MB
track: 1 start: 0 pregap: 150
Total size: 4901 MB (485:33.25) = 2184994 sectors
Lout start: 4901 MB (485:35/19) = 2184994 sectors
Track 1 start 0
Track 2 start 2184994
41 00 A0 00 00 00 00 01 00 00 00 00
41 00 A1 00 00 00 00 01 00 00 00 00
41 00 A2 00 00 00 00 F9 35 19 00 00
41 00 01 00 00 00 00 00 02 00 00 00
Current Secsize: 2048
HINT: use dvd+rw-mediainfo from dvd+rw-tools for information extraction.
Blocks total: 2298496 Blocks current: 2298496 Blocks remaining: 113502
Speed set to 22160 KB/s
Starting to write CD/DVD at speed 17.0 in real unknown mode for single session.
Last chance to quit, starting real write in 0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
BURN-Free is ON.
Turning BURN-Free off
BURN-Free is OFF.
Turning BURN-Free on
Performing OPC...
resid: 8
Starting new track at sector: 0
Track 01: 4267 of 4267 MB written (fifo 100%) [buf 95%] 12.2x.
Track 01: Total bytes read/written: 4474867712/4474867712 (2184994 sectors).
Writing time: 389.614s
Average write speed 9.8x.
Min drive buffer fill was 80%
Fixating...
Fixating time: 13.029s
wodim: fifo had 70484 puts and 70484 gets.
wodim: fifo was 0 times empty and 11703 times full, min fill was 74%.
===============================================================================
Forgot to add the dmesg output that might be related. Also, I just realized
that the "sense code" error message was "logical block address out of range".
[ 4469.846681] hdb: command error: status=0x51 { DriveReady SeekComplete Error }
[ 4469.846694] hdb: command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
[ 4469.846702] hdb: possibly failed opcode: 0xa0
[ 4469.849215] end_request: I/O error, dev hdb, sector 0
[ 4469.849221] Buffer I/O error on device hdb, logical block 0