José Romildo Malaquias <j.romi...@gmail.com> wrote: > On Fri, Nov 20, 2009 at 04:48:25PM +0100, Joerg Schilling wrote: > > José Romildo Malaquias <j.romi...@gmail.com> wrote: > > > > > > There was a report for broken Pioneer formware that hits in -v mode and > > > > causes the firmware from the drive to through away the data before > > > > writing > > > > it to the medium. > > > > > > Do you mean a test without -V or -v ? > > > > Without -v, as in this case cdrecord does not read the drives buffer fill > > ratio. > > It seems that there is a bug in Pioneer firmware that is triggered by > > calling > > SCSI get buffer cap (0x5C)and that results in throwing away the DMA data. > > Good news! > > With the command (without using the -v option) > > $ script -f -c "cdrecord -V debug=2 -sao -eject speed=8 fs=256m > driveropts=burnfree /var/tmp/image.iso" cdrecord.log > > cdrecord completed successfully. The sha1 sums (calculated in a > different computer) for both the image and the recorded media are > identical!
OK, could you please use an original cdrecord without your recent self made patch and then apply this patch: ------- cdrecord.c ------- --- /tmp/sccs.RvayQW So Nov 29 18:48:57 2009 +++ cdrecord.c So Nov 29 18:47:24 2009 @@ -2590,7 +2590,7 @@ if (fper >= 0) printf(" (fifo %3d%%)", fper); #ifdef BCAP - if (bsize > 0) { /* buffer size known */ + if (bsize > 0 && bytes > bsize) { /* buffer size known */ scgp->silent++; per = (*dp->cdr_buffer_cap)(scgp, (long *)0, &bfree); scgp->silent--; This should avoid some calls to the buffer cap function before the drive's internal buffer was filled the first time. Then please test again with -v Jörg -- EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin j...@cs.tu-berlin.de (uni) joerg.schill...@fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily