[paranoia] Protected audio CDs

Laurent Pinchart laurent.pinchart at skynet.be
Sun Nov 24 13:54:44 PST 2002



Hi everybody,

I'm having problems with cdparanoia and a protected audio CD.

The protection is called Copy Control. The CD is a multi-session CD, with 11 
audio tracks on the first session and 1 data track on the second session.

The global TOC (has returned by the SCSI command READ_TOC, format 0000b) is 
broken on some CDROM drives (on my plextor CD-RW for instance), and reports 
uncorrect start addresses. I've been able to fix that by adding a new 
scsi_read_toc function which reads the full TOC for the first session 
(READ_TOC, format 0010b).

Then, after getting the right TOC, I tried to rip the audio tracks. Each track 
has two bad sectors around 9 seconds. It seems that the CIRC codes are wrong 
on purpose. cdparanoia tries to read them and of course fails, which is 
normal. It thus write blank sectors to the wav file (zero-filled).

I get the following error messages when trying to read the CD:

csi_read error: sector=722 length=1 retry=8     (retry from 1 to 8)
scsi_read error: sector=713 length=1 retry=8     (retry from 1 to 8)

First question: why does cdparanoia go 'backwards' ? Why does it try to read 
sector 713 *after* failing to read sector 722 ?

I read the sectors 711, 712, 713, 714, 715 and 722 'by hand' (wrote a small 
program that uses the READ_CD SCSI command), and I've been able to read all 
of them (an error occured twice for sector 722, but retrying later gave no 
error). Sector 713 seems to hand bad data, as it's nearly blank and 
surrounded by sectors which are not blank.

I had a look at the wav file, and found something that puzzles me a lot. The 
wav file looks like this:

...
Sector 711 (2352 bytes)
Sector 712 (2352 bytes)
1200 bytes of data
Blank sector (2352 bytes)
Blank sector (2352 bytes)
Sector 715 (2352 bytes)
...
Sector 722 (2352 bytes)
...

First thing I noticed : sector 722 is there, with data.

The second thing I noticed is that the blank sectors are aligned on a 2352 
bytes boundary in the wav file, but the previous sectors (711 & 712) are NOT. 
It seems that something happens between sector 0 and sector 711 that corrupts 
the alignment.

Does anyone have any idea on what causes the misalignment ?

Any help would be appreciated.

Laurent Pinchart

--- >8 ----
List archives:  http://www.xiph.org/archives/
Paranoia homepage: http://www.xiph.org/paranoia/
To unsubscribe from this list, send a message to 'paranoia-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Paranoia mailing list