meowsqueak - 2005-06-19

I am trying to use cdrdao to read and backup my (legitimate) Playstation2 DVDs in Linux. I have tried two different DVD drives (a 3 year old Samsung and a brand new LG GSA-4163B) without success. I have tried cdrdao 1.1.9 and 1.2.0. I have tried the generic-mmc and the generic-mmc-raw drivers. I have tried all the options in the cdrdao README (e.g. --driver generic-mmc:0x3). I have even looked at the source code. Here is where it fails:

GenericMMC.cc:2038
--------------------------------
  // read disk toc length
  memset(cmd, 0, 10);
  cmd[0] = 0x43; // READ TOC
  cmd[2] = 2;
  cmd[6] = sessionNr;
  cmd[8] = 4;

  if (sendCmd(cmd, 10, NULL, 0, reqData, 4) != 0) {
    message(-2, "Cannot read disk toc.");
    return NULL;
  }
--------------------------------

A 'normal' DVD (e.g. the installation DVD that came with the drive) can be read fine (although it's mode 1). All of my PS2 disks fail (they are all mode 2 I think). I have included the output from one invocation below.

I did find that 'generic-mmc-raw:0x10000' gets rid of the first error ("ERROR: Cannot read disk toc.") but it still reverts to MODE 1 and then fails in the same way.

Is there anything else I can do to try and work out a fix? Perhaps what I am trying is no longer possible with cdrdao?

# cdrdao read-cd -v 4 --read-raw --device ATA:1,0,0 --driver generic-mmc-raw gamename.toc
Cdrdao version 1.2.0 - (C) Andreas Mueller <andreas@daneb.de>
  SCSI interface library - (C) Joerg Schilling
  Paranoia DAE library - (C) Monty

Check http://cdrdao.sourceforge.net/drives.html#dt for current driver tables.
Format converter enabled for extensions: mp3 ogg

Using libscg version 'schily-0.8'
Using libscg transport code version 'schily-scsi-linux-sg.c-1.83'

ATA:1,0,0: HL-DT-ST DVDRAM GSA-4163B    Rev: A100
Using driver: Generic SCSI-3/MMC (raw writing) - Version 2.0 (options 0x0000)

Reading toc and track data...
getTocGeneric: data len 20
ERROR: Cannot read disk toc.

Track   Mode    Flags  Start                Length
------------------------------------------------------------
1      DATA    4      00:00:00(     0)     360:20:52(1621552)
Leadout DATA    4      360:20:52(1621552)

Checking for PQ sub-channel reading support (data track)...
PQ sub-channel reading (data track) not supported.
Checking for raw P-W sub-channel reading support (data track)...
Raw P-W sub-channel reading (data track) is not supported.
Checking for cooked R-W sub-channel reading support (data track)...
Cooked R-W sub-channel reading (data track) is not supported.
ERROR: Cannot read sector of track.
WARNING: Cannot determine mode of data track 1 - asuming MODE1.
Copying data track 1 (MODE1_RAW): start 00:00:00, length 360:20:52 to "data.bin"...
/home/david/src/cdrdao-1.2.0/dao/cdrdao: Success.  : scsi sendcmd: no error
CDB:  BE 00 00 00 00 00 00 00 1A F8 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 05 00 00 00 00 10 BE F8 00 08 24 00 00 C0
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x24 Qual 0x00 (invalid field in cdb) Fru 0x0
Sense flags: Blk 0 (not valid) error refers to command part, bit ptr 0 (not valid) field ptr 0
resid: 61152
cmd finished after 0.001s timeout 20s
ERROR: Read error while copying data from track.