war story: puzzled by DVD writing

D. Hugh Redelmeier hugh-pmF8o41NoarQT0dZR+AlfA at public.gmane.org
Sun Jul 7 16:13:56 UTC 2013


CD / DVD / Blu-Ray writing is such a complicated and arcane area that
I try to avoid trying to understand it.  I just want to use one or two
tools and have them work.  But they fail in complicated, obscure, and
finger-pointy ways.

Case study: backing up files from an external hard disk onto a DVD+R.

- Ubuntu 12.04 + updates
- k3b (seems like to best GUI; I'm open to suggestions)
- modestly old notebook
- internal DVD burner, also USB 2.0 external burner
- USB 2.0 hard drive, NTFS filesystem
- simple burn (no multi-session, no rewriteable, ...)

Most burns work OK.  On either burner.

Some burns fail.

Seems to be repeatable for the same dataset (i.e. collection of files
being burnt).  Thank goodness!  Therefor probably not bad burn medium.

A failure seems to be repeatable on external burner if internal burner 
fails.  (We haven't systematically tried to see if external fails on more 
datasets than the internal.)  Therefor probably not a burner hardware 
problem.

Upon failure, k3b reports: "cdrecord has no permission to open the
device", "You may use K3bsetup to solve this problem"".

This report is nonsense, and lead me to waste a lot of time and DVDs
playing with permissions.  If it were true, no similar burn should work

The actual failure shows up in the middle of "debugging information".
Not easy to find: lines 3823-3856 of 7720.  And those lines are quite
unclear to me (and, apparently, K3b).  I will quote those at the end
of the message.

After much experimentation, I have come to the conclusion that the
root cause of the problem is that K3b (or, more accurately, wodim, on
behalf of K3b) was not able to pass data to the burner drive fast
enough and a burner underrun resulted:

Evidence:

- [weak] a newer notebook, with the same software, and the same
  external hard drive and external burner, could burn the same project
  with no problem.  This supports the idea that the CPU is the weak
  link (seems counter-intuitive to me) or perhaps the I/O subsystems 
  (excluding the drives themselves).

- if I turn down the burning speed (to 2.5x from "auto") burns that
  failed now work

- if I tick the K3b burning option "create image", burning works.
  This option causes K3b to create an image on the internal hard drive
  before starting to burn the disk.  The advantage is that the
  external USB drive and the NTFS filesystem no longer can cause a
  delay in the middle of the actual burn.  The disadvantage is that
  you need almost 5G of free space (and the whole process takes a bit
  longer).

Counter-evidence:

- the K3b error message (but I'm sure it is wrong)

- the wodim error message (which says nothing explicit about buffer 
  underrun)

- the log claims that "burnfree" (buffer underrun recovery) is
  enabled.  Nothing in the log shows that this fired.  In a sensible
  world, underruns, even ones recovered from, should be reported.

- amazing amount of noise/information on the web from the author of
  cdrecord claiming lots of bugs in wodim (an "unauthorized" fork).

I welcome advice and war stories from others about these issues.

What's your take on the cdrecord wars?

What burning software do you use?  Why?

Here's a relevant thread on the K3b support forum.  I didn't start it but 
I've revived it:
  <http://forum.kde.org/viewtopic.php?f=153&t=108537>

Finally, here is the relevant part of the K3b debugging output:

Track 01: 3745 of 4351 MB written (fifo 100%) [buf  99%]   6.3x.
Errno: 5 (Input/output error), write_g1 scsi sendcmd: no error
CDB:  2A 00 00 1D 42 DC 00 00 1F 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 72 0B 00 00 00 00 00 0E 09 0C 00 00 00 02 00 00
Sense Key: 0x0 No Additional Sense, Segment 11
Sense Code: 0x00 Qual 0x02 (end-of-partition/medium detected) Fru 0x0
Sense flags: Blk 0 (not valid) 
cmd finished after 229.558s timeout 200s
/usr/bin/wodim: A write error occured.
/usr/bin/wodim: Please properly read the error message above.
Errno: 5 (Input/output error), test unit ready scsi sendcmd: no error
CDB:  00 00 00 00 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 71 00 03 00 00 00 00 0A 00 00 00 00 0C 00 00 00
Sense Key: 0x3 Medium Error, deferred error, Segment 0
Sense Code: 0x0C Qual 0x00 (write error) Fru 0x0
Sense flags: Blk 0 (not valid) 
cmd finished after 0.001s timeout 200s
write track data: error after 3927367680 bytes
Writing  time:  934.099s
Average write speed   3.6x.
Min drive buffer fill was 31%
Fixating...
Errno: 5 (Input/output error), close track/session scsi sendcmd: no error
CDB:  5B 00 02 00 00 00 00 00 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 72 04 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x72 Qual 0x04 (empty or partially written reserved track) Fru 0x0
Sense flags: Blk 0 (not valid) 
cmd finished after 0.004s timeout 1000s
Fixating time:    0.007s
/usr/bin/wodim: fifo had 62051 puts and 61861 gets.
/usr/bin/wodim: fifo was 0 times empty and 25505 times full, min fill was 92%.

cdrecord command:
-----------------------
/usr/bin/wodim -v gracetime=2 dev=/dev/sr0 speed=8 -sao driveropts=burnfree -data -tsize=2227813s -
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list