[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: growisofs won't write double layer DVDs



I recommend you to use cdrecord instead of growisofs. Cdrecord will tell the drive to do laser power calibration
cdrecord does not do that to DVD+ media.

Wrong: cdrecord of course does a power calibration for DVD+

I thought it bypassed that for DVD+,

It is.

I saw it in the code and can't find it again. It looked as if a text which fails on DVD+ went around that logic. Does cdr_opc get set somewhere I'm missing? That could explain why some media I have don't work well with one burner and cdrecord.

It should be noted that explicit *host-initiated* OPC procedure is *not* defined for single-layer DVD+ media. Meaning that if you refer to single layer media, then there hardly is cure (at least not in pure MMC terms). As it turns out it, host-initiated OPC, is defined for double layer though and it might make difference...

Christian [and Bill], if you have energy and media to spare, could you test following:

- download dvd+rw-tools source and unpack;
- copy attached opc.cpp to dvd+rw-tools source catalog;
- change directory to dvd+rw-tools source catalog;
- compile it with 'g++ opc.cpp -o opc';
- load media;
- execute './opc /dev/dvd';
- then *without reloading the media* attempt growisofs recording;

It might be interesting to have a look at verbose dvd+rw-mediainfo output before and after opc. In other words also execute dvd+rw-medianfo /dev/dvd -v before and after opc (all *without reloading the media*), compare them and send them [*if* they are different]. A.


#include "transport.hxx"

int main(int argc,char *argv[])
{ Scsi_Command cmd;
  int err;

    if (!cmd.associate(argv[1])) perror("can't open"),exit(1);

    cmd[0]=0x54;
    cmd[1]=0x1;
    cmd[9]=0;

    if (err=cmd.transport()) sperror("SEND OPC INFORMATION",err);

    wait_for_unit (cmd,NULL);
}

Reply to: