Hi, more mail will follow. This one is only about the outcome of the proposed cd-paranoia tests.
The results look good (with my two changes for "Table of contents" and "Attempting to determine drive endianness from data"). The long run time of "cd-paranoia -Q" with my track 1-3 CD turned out to be caused by poorly readable or unreadable sectors on the CD. ------------------------------------------------------------------------- > 1) Rip an entire CD: > cd-paranoia -B $ cd-paranoia -v -d /dev/sr4 -B ... Data appears to be coming back Little Endian. certainty: 100% ... Table of contents (audio tracks only): track length begin copy pre ch =========================================================== 4. 2682 [00:35.57] 0 [00:00.00] no no 2 5. 2682 [00:35.57] 2682 [00:35.57] no no 2 6. 2682 [00:35.57] 5364 [01:11.39] no no 2 TOTAL 8046 [01:47.21] (audio only) Ripping from sector 0 (track 4 [0:00.00]) to sector 8045 (track 6 [0:35.56]) outputting to track04.cdda.wav (== PROGRESS == [ | 002681 00 ] == :^D * ==) outputting to track05.cdda.wav (== PROGRESS == [ | 005363 00 ] == :^D * ==) outputting to track06.cdda.wav (== PROGRESS == [ | 008045 00 ] == :^D * ==) Done. $ ls -l total 18492 -rw-r--r-- 1 ... ... 6308108 Dec 12 10:07 track04.cdda.wav -rw-r--r-- 1 ... ... 6308108 Dec 12 10:07 track05.cdda.wav -rw-r--r-- 1 ... ... 6308108 Dec 12 10:08 track06.cdda.wav The file sizes match the track: (file_bytes - 44) / 2352 = track_size. 44 bytes is the WAV header. $ file track*.cdda.wav track04.cdda.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz track05.cdda.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz track06.cdda.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz ------------------------------------------------------------------------- The same with the CD that has track 1 to 3: $ cd-paranoia -v -d /dev/sr4 -B ... gnawing again on: Attempting to determine drive endianness from data.... and then 010: Unable to access sector 2682: skipping... ... outputting to track01.cdda.wav INFO: ioctl CDROM_SEND_PACKET for command READ CD (0xbe) failed: Input/output error ... Medium and drive are not in love. I abort. ------------------------------------------------------------------------- Another CD with track 1 to 3 (this one shows quick determination of endianness): $ cd-paranoia -v -d /dev/sr4 -B ... 1. 3290 [00:43.65] 0 [00:00.00] no no 2 2. 3061 [00:40.61] 3290 [00:43.65] no no 2 3. 1293 [00:17.18] 6351 [01:24.51] no no 2 TOTAL 7644 [01:41.69] (audio only) ... Ripping from sector 0 (track 1 [0:00.00]) to sector 7643 (track 3 [0:17.17]) outputting to track01.cdda.wav (== PROGRESS == [ | 003289 00 ] == :^D * ==) outputting to track02.cdda.wav (== PROGRESS == [ | 006350 00 ] == :^D * ==) outputting to track03.cdda.wav (== PROGRESS == [ | 007643 00 ] == :^D * ==) Done. $ ls -l track0[123]* -rw-r--r-- 1 ... ... 7738124 Dec 12 10:29 track01.cdda.wav -rw-r--r-- 1 ... ... 7199516 Dec 12 10:29 track02.cdda.wav -rw-r--r-- 1 ... ... 3041180 Dec 12 10:29 track03.cdda.wav The file sizes match the track sizes. $ file track0[123]* track01.cdda.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz track02.cdda.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz track03.cdda.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz So at least the track range is handled properly. ------------------------------------------------------------------------- > 2) Rip a span of a CD: > cd-paranoia 6-8 Again with the CD that has track 4 to 6: $ rm track* $ cd-paranoia -v -d /dev/sr4 4-6 ... Ripping from sector 0 (track 4 [0:00.00]) to sector 8045 (track 6 [0:35.56]) ... outputting to cdda.wav (== PROGRESS == [ | 008045 00 ] == :^D * ==) Done. $ ls -l -rw-r--r-- 1 ... ... 18924236 Dec 12 10:44 cdda.wav The size matches the total size from start of CD to start of lead-out. ------------------------------------------------------------------------- With the nicely readable CD that has track 1 to 3: $ rm cdda.wav $ cd-paranoia -v -d /dev/sr4 1-3 ... Ripping from sector 0 (track 1 [0:00.00]) to sector 7643 (track 3 [0:17.17]) outputting to cdda.wav (== PROGRESS == [ | 007643 00 ] == :^D * ==) Done. $ ls -l -rw-r--r-- 1 ... ... 17978732 Dec 12 10:53 cdda.wav File size and CD size match. ------------------------------------------------------------------------- Trying to read the bad CD with cdrskin: $ cdrskin -v dev=/dev/sr4 extract_audio_to=. cdtext_to_v07t=./cdtext.v07 ... cdrskin: Writing audio track file: ./01.wav cdrskin: SORRY : SCSI error on read_cd(48,0): [4 3E 02] Drive error. Timeout on logical unit. cdrskin: SORRY : SCSI error on read_cd(59,0): [4 3E 02] Drive error. Timeout on logical unit. cdrskin: FAILURE : Failure to read audio sectors So the failure of cd-paranoia is explainable. (Only its error messages are not very enlightening. libburn uses on Linux ioctl(SG_IO) rather than ioctl(CDROM_SEND_PACKET).) On a different drive i get from the same CD cdrskin: SORRY : SCSI error on read_cd(2850,0): [3 11 00] Medium error. Unrecovered read error. I'll keep that CD well marked as example of a bad one. :)) ------------------------------------------------------------------------- Have a nice day :) Thomas