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

Re: DVD+RW-Booktype and BTC 1008 Drive



I have modified the file dvd+rw-booktype.cpp with the patch mentioned in msg00126.html, have added the extra reporting patch and the additional patch from your last message, so that the source code looks like the following:

-------------------
   {   // See if it's BTC design...
       cmd[0]=0xFA;
       cmd[4]=1;
       cmd[10]=0xAA;
       cmd[11]=0xFF;
       if (!(err=cmd.transport()|| ASC(err)==0x24))
           return btc (cmd,action,book);
       else if (ASC(err)==0x3A)
           return fprintf (stderr,":-( BTC_FAh: no media mounted\n"),1;
       else
           sperror ("BTC_FAh",err);
--------------------
   case OPT_MEDIA:
               if (profile!=0x1A)
{ fprintf (stderr,":-( action is applicable to DVD+RW only\n");
                   break;
               }
               if (book != 0x92 && book != 0x01)
{ fprintf (stderr,":-( BookType#%02x is not applicable\n",book);
                   break;
               }
#if 0
               cmd[0]=0x1E;    // PREVENT/ALLOW MEDIA REMOVAL
               cmd[4]=1;       // "Prevent"
               cmd[5]=0;
               if ((err=cmd.transport()))
               {   sperror ("PREVENT MEDIA REMOVAL",err);
                   break;
               }
#endif
               cmd[0]=0xFE;
               cmd[1]=2;
               cmd[2]=book;
---------------------------
               obligatory = (profile==0x1A)?0x92:0x32;
               if (book!=obligatory && book!=0x01)
{ fprintf (stderr,":-( BookType#%02x is not applicable\n",book);
                   break;
               }
               cmd[0]=0x1E;    // PREVENT/ALLOW MEDIA REMOVAL
               cmd[4]=1;       // "Prevent"
               cmd[5]=0;
               if ((err=cmd.transport()))
               {   sperror ("PREVENT MEDIA REMOVAL",err);
                   break;
               }
---------------------------

However I seem to get the same error when I am trying to set the booktype on a +R and a +RW as follows :

[root@linux dvd+rw-tools-5.19.4.9.7]#
[root@linux dvd+rw-tools-5.19.4.9.7]# ./dvd+rw-booktype -dvd-rom-spec -unit+r /dev/cdrom1
:-[ BTC_FAh failed with SK=0h/ASC=00h/ACQ=01h]: Input/output error
This program targets units of RICOH, BENQ and BTC designs.
/dev/cdrom1 doesn't appear to be one. Exiting.
[root@linux dvd+rw-tools-5.19.4.9.7]#
[root@linux dvd+rw-tools-5.19.4.9.7]# ./dvd+rw-booktype -dvd-rom-spec -unit+r /dev/cdrom1
:-[ BTC_FAh failed with SK=0h/ASC=00h/ACQ=01h]: Input/output error
This program targets units of RICOH, BENQ and BTC designs.
/dev/cdrom1 doesn't appear to be one. Exiting.
[root@linux dvd+rw-tools-5.19.4.9.7]#

Could you please advise of anything further that may help.

Thanks

Dave




Andy Polyakov wrote:

I have made the modifications and here are the results for a +RW Disk

[root@linux dvd+rw-tools-5.19.4.9.7]# ./dvd+rw-booktype -dvd-rom-spec -unit+r /dev/cdrom1
:-[ BTC_FAh failed with SK=5h/ASC=24h/ACQ=00h]: Input/output error
This program targets units of RICOH, BENQ and BTC designs.
/dev/cdrom1 doesn't appear to be one. Exiting.


Note http://lists.debian.org/cdwrite/2004/cdwrite-200404/msg00126.html. It obviously varies from firmware to firmware. In addition to the patch posted at above mentioned URL try modifying dvd+rw-booktype.cpp as following:

        if (!(err=cmd.transport()) || ASC(err)==0x24)
            return btc (cmd,action,book);
        else if (ASC(err)==0x3A)
            return fprintf (stderr,":-( BTC_FAh: no media mounted\n"),1;

Note extra || ASC(err)==0x24 in first if statement. A.




Reply to: