Alan, below is correspondence with Andy Polyakov (author of dvd+rw-tools,
which includes growisofs).  My message is first, then his reply.  As you can
see, the problem appears to be that the Plextor firmware is not providing
the amount of data that it promises.  Is there anything to be done about
this from a usb-storage point of view, or is this a problem that only
Plextor can solve?

Thanks,
Tom

=========Original Message-----FROM TOM MAGLIERY
> From: Thomas J Magliery PhD [mailto:[EMAIL PROTECTED]
> Sent: Thursday, February 05, 2004 1:57 AM
> To: Andy Polyakov
> Cc: [EMAIL PROTECTED]
> Subject: Re: plextor px-708uf: cannot get disk type
> 
> 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:
> 
> >>
> >
> >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------------from ANDY POLYAKOV
> 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
> ==============

The above program uses READ DISK INFORMATION with length parameter used
by cdrecord.

> 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
> ==============

And this one uses READ DISK INFORMATION with length parameter used by
growisofs.

> What does *this* mean?

This means that there is no further need for me to assure that growisofs
works not because it ignores errors [as Joerg implies], but because it
does things differently.

To wrap up. My initial assumption that it was hardly a firmware
deficiency was wrong. It is a firmware bug: unit apparently sends less
information than promised (the second number in above printout should be
0x20(*) and 0x20 is the number which I observed uncounted number of
times in different units). Could Linux USB implementation have managed
it with more grace? I'm not really in position to judge, but maybe.

(*) You should be able to verify it by declaring dinfo[32+2] in
previously posted snippet.

Oh! From your prompt one can assume that you use 5.16.x. Note that
5.17.x is strongly recommended update for those who use 5.14 through
5.16. Cheers. A.
=====================




-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to