3

I wanted to burn an ISO to a DVD+R. I decided to do a dummy write first (where the laser is off so it's basically a dry run) since I'd never used the command before and I wanted to make sure I was doing it right. I did wodim -v dev=/dev/sr0 speed=4 -dummy -eject path/to.iso and it looked like it was working correctly. Figuring I didn't want to wait for it to finish pretending to burn the large disc image, I hit Ctrl+C and typed the same command without -dummy to start the burn for real.

wodim: WARNING: Data may not fit on current disk.
wodim: Notice: Most recorders cannot write CD's >= 90 minutes.
wodim: Notice: Use -ignsize option to allow >= 90 minutes.
wodim: Notice: Use -overburn option to write more than the official disk capacity.
wodim: Notice: Most CD-writers do overburning only on SAO or RAW mode.

I took the disc out and looked at the bottom, and saw a thin ring with a difference in shade, indicating a small amount of data had been burned to the disc. I can only conclude that for some reason the -dummy option didn't work, and it was burning the image for real, at least until I aborted it.

I figure the -overburn option it suggests is used to burn a new track from the beginning, which isn't what I want. I need to boot from this disc, so the actual structure of the data matters, not just that the files I want are accessible. How do I make it finish where it left off so the disc doesn't go to waste? I don't see any exact indication of where it left off (just "145 of 4177 MB written", which isn't exact enough) but it should be easy to determine by reading the disc and the image and finding where they first differ.

EDIT: I just used cmp to compare /dev/sr0 to the ISO, and it said the first differing byte is byte 152307713. So that's where it left off. If I cut off the beginning of the ISO so it starts at that byte, and then burn that file to the disc using the same command, will that work? Or will there be a track boundary or something in between that will cause problems?

EDIT 2: Here's the output of the commands suggested by Thomas Schmitt:

$ dvd+rw-mediainfo /dev/sr0
INQUIRY:                [MATSHITA][DVD+-RW UJ8C7   ][1.00]
GET [CURRENT] CONFIGURATION:
 Mounted Media:         1Bh, DVD+R
 Media ID:              CMC MAG/M01
 Current Write Speed:   8.0x1385=11080KB/s
 Write Speed #0:        8.0x1385=11080KB/s
 Write Speed #1:        2.4x1385=3324KB/s
 Speed Descriptor#0:    01/2295103 R@3101059.2x1385=4294967040KB/s W@8.0x1385=11080KB/s
 Speed Descriptor#1:    01/2295103 R@3101059.2x1385=4294967040KB/s W@2.4x1385=3324KB/s
READ DVD STRUCTURE[#0h]:
 Media Book Type:       00h, DVD-ROM book [revision 0]
 Legacy lead-out at:    2295104*2KB=4700372992
READ DISC INFORMATION:
 Disc status:           appendable
 Number of Sessions:    1
 State of Last Session: incomplete
 "Next" Track:          1
 Number of Tracks:      2
READ TRACK INFORMATION[#1]:
 Track State:           partial/complete
 Track Start Address:   0*2KB
 Next Writable Address: 74384*2KB
 Free Blocks:           2064480*2KB
 Track Size:            2138864*2KB
READ TRACK INFORMATION[#2]:
 Track State:           blank
 Track Start Address:   2138880*2KB
 Next Writable Address: 2138880*2KB
 Free Blocks:           156224*2KB
 Track Size:            156224*2KB
 ROM Compatibility LBA: 265696
READ CAPACITY:          0*2048=0
$ cdrskin -v dev=/dev/sr0 -minfo
cdrskin 1.4.2 : limited cdrecord compatibility wrapper for libburn
cdrskin: verbosity level : 1
cdrskin: NOTE : greying out all drives besides given dev='/dev/sr0'
cdrskin: scanning for devices ...
cdrskin: ... scanning for devices done
cdrskin: pseudo-atip on drive 0
cdrskin: status 3 BURN_DISC_APPENDABLE "There is an incomplete disc in the drive"
scsidev: '/dev/sr0'
Device type    : Removable CD-ROM
Vendor_info    : 'MATSHITA'
Identifikation : 'DVD+-RW UJ8C7'
Revision       : '1.00'
Drive id       : 'WQ36  064543'
Driver flags   : BURNFREE
Supported modes: TAO SAO
cdrskin: burn_drive_get_write_speed = 11080  (8.0x)
Current: DVD+R
Profile: 0x0012 (DVD-RAM)
Profile: 0x002B (DVD+R/DL)
Profile: 0x001B (DVD+R) (current)
Profile: 0x001A (DVD+RW)
Profile: 0x0013 (DVD-RW restricted overwrite)
Profile: 0x0014 (DVD-RW sequential recording)
Profile: 0x0016 (DVD-R/DL layer jump recording)
Profile: 0x0015 (DVD-R/DL sequential recording)
Profile: 0x0011 (DVD-R sequential recording)
Profile: 0x0010 (DVD-ROM)
Profile: 0x000A (CD-RW)
Profile: 0x0009 (CD-R)
Profile: 0x0008 (CD-ROM)
Profile: 0x0002 (Removable disk)
book type:     DVD+R (emulated booktype)
Product Id:    CMC_MAG/M01/48
Producer:      CMC Magnetics Corporation
Manufacturer:    'CMC MAG'
Media type:      'M01'

Mounted media class:      DVD
Mounted media type:       DVD+R
Disk Is not erasable
disk status:              incomplete/appendable
session status:           empty
first track:              1
number of sessions:       1
first track in last sess: 1
last track in last sess:  2
Disk Is unrestricted
Disk type: DVD, HD-DVD or BD

Track  Sess Type   Start Addr End Addr   Size
==============================================
    1     1 Apdbl  0          2138863    2138864   
    2     1 Blank  2138880    2295103    156224    

Next writable address:              2138880   
Remaining writable size:            156224    

Warning: Incomplete session encountered !
$ xorriso -outdev /dev/sr0 -toc
xorriso 1.4.2 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev '/dev/sr0'
Media current: DVD+R
Media status : is written , is appendable
Media summary: 1 session, 2295104 data blocks, 4483m data,  305m free
xorriso : WARNING : Incomplete session encountered !
Drive current: -outdev '/dev/sr0'
Drive type   : vendor 'MATSHITA' product 'DVD+-RW UJ8C7' revision '1.00'
Drive id     : 'WQ36  064543'
Media current: DVD+R
Media product: CMC_MAG/M01/48 , CMC Magnetics Corporation
Media status : is written , is appendable
Media blocks : 1 readable , 156224 writable , 2295104 overall
TOC layout   : Idx ,  sbsector ,       Size , Volume Id
Incmp session:   1 ,         0 ,         0s , 
Media summary: 1 session, 2295104 data blocks, 4483m data,  305m free
Media nwa    : 2138880s
xorriso : WARNING : Incomplete session encountered !
$ cdrecord -v dev=/dev/sr0 -minfo
wodim: Bad Option: -minfo.
Usage: wodim [options] track1...trackn

Use wodim -help
to get a list of valid options.

Use wodim blank=help
to get a list of valid blanking options.

Use wodim dev=b,t,l driveropts=help -checkdrive
to get a list of drive specific options.

Use wodim dev=help
to get a list of possible SCSI transport specifiers.
2

Probably you will have to give up this partly written medium and start with a new (blank) DVD.

It is theoretically not impossible to resume a write run on an incompletely written DVD+R track. But i am not aware of any burn program which would do it. I may be wrong, though. So just try what happens if you let a burn program act on that medium.

I'd expect that the burn programs will either complain about an open track and abort, or that they will try to start a new track in the yet unclaimed area on the DVD. Both will not yield a flawless copy of your ISO on the DVD.

Further opinions and info:

wodim is not really suitable for DVD. Use growisofs, cdrskin, xorrecord, or cdrecord.

Drives with DVD+R media in them do not offer simulated writing. Whatever wodim did when you ran it with option -dummy, it was not the same what you see with CD-R[W], DVD-R, or unformatted DVD-RW. Take its starting of real burning as an indication that wodim has no clue of DVD+R, DVD+RW, DVD-RAM, formatted DVD-RW, or BD media. (It might suffice for DVD-R and unformatted DVD-RW, because they behave quite similar to CD-R.)

You may inspect the current state of the DVD+R by one of following commands:

dvd+rw-mediainfo /dev/sr0

cdrskin -v dev=/dev/sr0 -minfo

xorriso -outdev /dev/sr0 -toc

cdrecord -v dev=/dev/sr0 -minfo

Update after "Edit 2" in the question:

wodim: Bad Option: -minfo indicates that you did not try original cdrecord but rather its meanwhile quite orphaned clone wodim. There the option would be the older -toc rather than -minfo. The output is harder to interpret. Whatever, the output of dvd+rw-mediainfo tells the story in best detail.

wodim reserved track number 1 with a size of 2138864 blocks =~ 4177 MiB. This track would still be writable beginning at block 74384 =~ 145 MiB.

But this writability of existing tracks is a special feature of DVD+R (and maybe BD-R) which does not fit well into the usage model of burn programs. So they rather will try to use the remaining unreserved track number 2, which begins at block 2138880. If they accept this medium state at all.

At least cdrskin and xorriso announce that they would try writing there by their statements Next writable address: and Media nwa. growisofs source code looks like it will make the same choice. About (original) cdrecord i can only guess.

Of course, a write attempt of the remaining ISO to track 2 will fail because it has only 300 MB free. (It would create a giant gap of unreadable sectors anyways.)


What a burn program would possibly have to do:

It is mainly about determining the Next Writable Address from the existing track rather than from the next track to come.

This could be overridden in libburn function burn_disc_track_lba_nwa() or after cdrskin has called it in its function Cdrskin_obtain_nwa(). In the end, cdrskin variable *nwa would need to get the value 74384.

In growisofs the function to determine the NWA is plusminus_r_C_parm(). The variable next_session would need to get value 74384. Probably one will have to give the program run additional option -use-the-force-luke=seek=74384 and use option -Z rather than -M.

Another potential problem is that the programs after such a hack could still issue SCSI command RESERVE TRACK. This must be prevented.

It seems that growisofs sends the command only to DVD-R, DVD-R DL, and unformatted DVD-RW. cdrskin will not send it if its option -tao is present.

It has to be feared that this sketch is not fully sufficient and that experiments spoil the partly written DVD+R beyond repair. If you want to dare it nevertheless, the starting point would be to get the source code of dvd+rw-tools (for growisofs) or of statically linked cdrskin. Then we could begin to discuss by mail what code change will give best chances for success on the first and only try. The outcome would then be reported here.

(In case it is not obvious: I am developer of libburn and cdrskin.)

  • So are you saying it's impossible as far as you know, barring creating a tool to do it from scratch? – flarn2006 Oct 4 '16 at 3:36
  • Reading the SCSI/MMC specs, it should be possible. It just seems that no free software burn programmer did come to the idea to make use of the peculiar specifications about DVD+R. All programs known to me will want to start a new track. (Least known to me are the entrails of original cdrecord.) – Thomas Schmitt Oct 4 '16 at 6:50
  • Right now I don't think it's worth all that effort, especially considering I no longer need the disc burned. But if I ever feel like experimenting with it, I'll let you know. Thanks for your response. – flarn2006 Oct 5 '16 at 8:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.