[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Playing or Ripping UDF CDs Under jessie



Hi,

Martin McCormick wrote:
> Here is the output from a normal music CD.
> track:   1 lba:         0 (        0) 00:02:00 adr: 1 control: 0 mode: 0
> track:   2 lba:     19142 (    76568) 04:17:17 adr: 1 control: 0 mode: 0

These are audio tracks. No filesystem. Neither ISO 9660 nor UDF.

> track:  17 lba:    351017 (  1404068) 78:02:17 adr: 1 control: 4 mode: 1
> track:lout lba:    351785 (  1407140) 78:12:35 adr: 1 control: 4 mode: -1

Number 17 is a data track. Not overly normal for music CDs but not uncommon
either.

If it contains an ISO 9660 filesystem it should be mountable by

  mount -t iso9660 -o sbsector=351017 /dev/sr1 /your/mount/directory

It is just 1.5 MB large. So there cannot be much file content in it.


> This is the output on the same drive from the mystery CD.
> first: 1 last 20
> track:   1 lba:         0 (        0) 00:02:00 adr: 1 control: 0 mode: 0
> track:   2 lba:     17271 (    69084) 03:52:21 adr: 1 control: 0 mode: 0
> all the way up to
> track:  19 lba:    280452 (  1121808) 62:21:27 adr: 1 control: 0 mode: 0
> track:  20 lba:    293350 (  1173400) 65:13:25 adr: 1 control: 0 mode: 0

These are all non-data tracks. Probably audio. They are not mountable
as filesystems.

Google finds me for "Linux play audio CD" this Mplayer page:
  https://www.cyberciti.biz/faq/linux-unix-mplayer-playing-audio-dvd-cd-using-bash-shell/
Its advise is to do with not mounted /dev/sr1 :

  mplayer -cdrom-device /dev/sr1 cdda:// -cache 5000


> all the way up to 

It would be interesting to see whether there are other track types.
I see that wodim does not display session end marks, as cdrskin does.
With cdrskin there is an option with better readable output

  cdrskin -v dev=/dev/sr1 -minfo

(Not to be confused with option -msinfo.)
It will display session numbers and track numbers like:

  Track  Sess Type   Start Addr End Addr   Size
  ==============================================
      1     1 Audio  0          23259      23260     
      2     1 Audio  23260      45066      21807     
      3     1 Audio  45067      61931      16865     
      4     1 Audio  61932      81696      19765     
      5     1 Audio  81697      101666     19970     
      6     1 Audio  101667     125461     23795     
      7     1 Audio  125462     143956     18495     
      8     1 Audio  143957     164231     20275     
      9     1 Audio  164232     185991     21760     
     10     1 Audio  185992     202361     16370     

or

  Track  Sess Type   Start Addr End Addr   Size
  ==============================================
      1     1 Data   0          64211      64212     
      2     2 Data   75614      95346      19733     
      3     3 Data   102249     121981     19733     
      4     4 Data   128884     132113     3230      

Please post full lists without "all the way up".


> sr 1:0:1:0: [sr1]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
> sr 1:0:1:0: [sr1]  Sense Key : Illegal Request [current] Info fld=0x506a2
> sr 1:0:1:0: [sr1]  <<vendor>> ASC=0xc6 ASCQ=0x2ASC=0xc6 ASCQ=0x2
> sr 1:0:1:0: [sr1] CDB: Read(10): 28 00 00 05 06 a2 00 00 02 00 end_request: I/O error, dev sr1, sector 1317512
> Buffer I/O error on device sr1, logical block 164689

The failed SCSI command tried to read two blocks starting at block
0x506a2 = 329378.
The error message formatters multiply this number by 4 to get 1317512,
and divide it by 2 to get 164689. (We laugh, so we don't have to cry.)

The error code indicates that the drive refused to perform this command.
Righteously, because the address 329378 is far behind the last track end
at block 306750.
It is not clear to me which part of Linux or systemd came to the idea
of reading that block. It was futile and not very smart.

Unless there is a data track among the skipped ones in your track list,
none of the blocks of the mystery CD would be readable by SCSI command
READ(10). Only commands READ CD or READ CD MSF will do.


> It looks like it probably can read normally if one skips some of the
> control sectors.

The words "control" and "mode" stem from SCSI specs. They apply to the
whole track. MMC-5, table 17 says:
  "CONTROL
   The Control Field has 4 bits that define the type of information in
   the frame:
     00x0b = 2 audio channels without pre-emphasis
     00x1b = 2 audio channels with pre-emphasis of 50/15 μs
     10x0b = 4 audio channels without pre-emphasis
     10x1b = 4 audio channels with pre-emphasis of 50/15 μs
     01x0b = Data track, recorded uninterrupted
     01x1b = Data track, recorded increment
     11xxb = reserved
     xx0xb = digital copy prohibited
     xx1xb = digital copy permitted
   The bits of the control field (except for the copy bit) may change
   during a pause (X=00) of at least 2 seconds and during the Lead-in
   area only."
You showed tracks with these control values:
  0 = 0000b = 2 audio channels without pre-emphasis
              and without copy permission (which nobody cares about)
  4 = 0100b = Data track, recorded uninterrupted, no copy permission


Have a nice day :)

Thomas


Reply to: