Fyi, with new Firmware 1.0.5

Version with dinfo[32+4]
[EMAIL PROTECTED] dvd+rw-tools-5.17.4.8.6]# ./testf /dev/scd2
00 20 1e 01 01 01 01 01 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


Version with dinfo[32]
[EMAIL PROTECTED] dvd+rw-tools-5.17.4.8.6]# ./testfno4 /dev/scd2
00 20 1e 01 01 01 01 01 ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


--
Fr�d�ric Poncin

Andy, what that last error meant is that I was specifying the device the wrong way (it is /dev/scd0 for me). Anyway, here is the actual result:

Version with dinfo[32+4]
==============
[EMAIL PROTECTED] dvd+rw-tools-5.16.4.8.5]$ ./test /dev/scd0
:-( unable to READ DISK INFORMATION: Input/output error
==============


Version with dinfo[32]
==============
[EMAIL PROTECTED] dvd+rw-tools-5.16.4.8.5]$ ./test2 /dev/scd0
00 22 00 01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 23 05 40 00 00 00 00 00 00 00 00
==============


What does *this* mean?

Thanks,
Tom



Andy Polyakov wrote:

        I am sure that if growisofs would check all relevant information
        returned by the driver, it would fail too.


Thomas! Could you run attached program with your /dev/dvd as argument? Then remove +4 from dinfo declaration, recompile and re-run. To compile save it in dvd+rw-tools source catalog and compile with g++. A.


8<--------8<--------8<--------8<--------8<--------8<--------8<-------- #include "transport.hxx"


int main(int argc,char *argv[]) { Scsi_Command cmd; unsigned char dinfo[32+4]; int i,err;


cmd.associate(argv[1]);

  cmd[0] = 0x51;
  cmd[8] = sizeof(dinfo);
  cmd[9] = 0;
  if (err=cmd.transport (READ,dinfo,sizeof(dinfo)))
      sperror ("READ DISK INFORMATION",err);
  else
      for(i=0;i<sizeof(dinfo);i++) printf("%02x ",dinfo[i]);
  printf("\n");
}






Reply via email to