Skip to contentSkip to conversation

Reading DVDs on a Mac mini

DISCUSSION Tom Parker 2 participants 4 messages May 23, 2005 – May 26, 2005

lore
Share & tools
lore

Tom Parker

author
#0 lore raw

I recently bought a Mac mini to try out a few things, but have been having some problems trying to get it to read DVDs. I was using the 2.6.10 kernel (the Ubuntu linux-image-2.6.10-5-powerpc package) and I get the same results with 2.6.12-rc4 (kernel config for that is attached). Whenever I try to read a DVD-ROM (my test app is lsdvd, but same results with mplayer) I get the following error message:

libdvdread: Invalid title IFO (VTS_02_0.IFO).
Can't open ifo 2!

Varying the DVD sometimes gets ifo 3/VTS_03_0.IFO, but the result is the same. Looking at dmesg shows the following:

hdb: command error: status=0x51 { DriveReady SeekComplete Error }
hdb: command error: error=0x54 { AbortedCommand LastFailedSense=0x05 }
ide: failed opcode was: unknown
end_request: I/O error, dev hdb, sector 42872

Repeat lots and lots of times with values of sector jumping by 8 each time. I'm not sure where it starts, because my entire dmesg output is filled with these messages. Trying to play/copy stuff from burnt off DVD-Rs works fine, but store bought DVDs don't like the drive (region 2 discs, the mini was bought in the Netherlands, a region 2 country). I have occasionally *rarely* managed to persuade some discs to occasionally read, but repeating the attempt then generally fails. Failure always happens within two or 3 reads.

The version of libdvdread in use is 0.9.4 (the Debian 0.9.4-5 libdvdread3 package).

hdparm settings for /dev/hdb (the DVD/CD-ROM drive):

 IO_support   =  0 (default 16-bit)
 unmaskirq    =  1 (on)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)

readahead = 256 (on)
HDIO_GETGEO failed: Invalid argument

hdparm -i says the drive is a "MATSHITACD-RW CW-8124".

Any ideas? Because I'm all out of ideas, and I hope someone on here can help.

Thanks,

Tom Parker

#1 lore raw
Quoted 11 lines · Tom Parker

The version of libdvdread in use is 0.9.4 (the Debian 0.9.4-5 libdvdread3 package).

hdparm settings for /dev/hdb (the DVD/CD-ROM drive):

  IO_support   =  0 (default 16-bit)
  unmaskirq    =  1 (on)
  using_dma    =  0 (off)
  keepsettings =  0 (off)
  readonly     =  0 (off)
Quoted 7 lines

readahead = 256 (on)
HDIO_GETGEO failed: Invalid argument

hdparm -i says the drive is a "MATSHITACD-RW CW-8124".

Any ideas? Because I'm all out of ideas, and I hope someone on here can help.

Does the debian package of libdvdread contains the CSS stuff ? Also, the lack of "using_dma" is annoying... It looks like our CD/DVD kernel driver is still dumb and still switches DMA off on any stupid error...

Have you tried booting OS X and playing the DVD once ? Maybe the drive wants a zone to be set at least once, which MacOS does the first time you play a DVD

Ben.

author
#2 lore raw
Quoted 4 lines · Benjamin Herrenschmidt
Quoted 1 line · Tom Parker

The version of libdvdread in use is 0.9.4 (the Debian 0.9.4-5 libdvdread3 package).

Does the debian package of libdvdread contains the CSS stuff ?

No it doesn't, but it does include a shell script to download it if you're living somewhere where libdvdcss is ok, and libdvdread will dynamically load libdvdcss if it exists. I'm using libdvdcss 1.2.8 (latest).

Quoted 3 lines

Have you tried booting OS X and playing the DVD once ? Maybe the drive wants a zone to be set at least once, which MacOS does the first time you play a DVD

Had to reinstall OS X to test this, and yup, it wants a zone to be set. Returning back to Linux, some fiddling with regionset and some region 1 and 2 DVDs lets me come to the following conclusions:

1) It's an RPC-2 DVD drive (i.e. evil, CSS-in-hardware drive), with the whole "5 changes and then it locks" policy.
2) It appears to be a really evil variant of RPC-2, in that if you've got a CSS-locked DVD in the drive, and you're set on a different region to the disk, you can't even get at the encrypted contents. The aforementioned read errors keep turning up, making libdvdcss useless. Or, this may just be an ide-cd bug with this drive...
3) If drive region == disc region, it plays DVDs fine.

Quoted 1 line
Quoted 1 line

hdparm -i says the drive is a "MATSHITACD-RW CW-8124".

If anyone happens to have an RPC-1 firmware for this drive, or fixes to ide-cd, I'd be most grateful! Some googling for the former is currently unhelpful.

Thanks,

Tom Parker

#3 lore raw
Quoted 28 lines · Tom Parker
Quoted 5 lines · Benjamin Herrenschmidt
Quoted 2 lines · Tom Parker

The version of libdvdread in use is 0.9.4 (the Debian 0.9.4-5 libdvdread3 package).

Does the debian package of libdvdread contains the CSS stuff ?

No it doesn't, but it does include a shell script to download it if you're living somewhere where libdvdcss is ok, and libdvdread will dynamically load libdvdcss if it exists. I'm using libdvdcss 1.2.8 (latest).

Quoted 3 lines

Have you tried booting OS X and playing the DVD once ? Maybe the drive wants a zone to be set at least once, which MacOS does the first time you play a DVD

Had to reinstall OS X to test this, and yup, it wants a zone to be set. Returning back to Linux, some fiddling with regionset and some region 1 and 2 DVDs lets me come to the following conclusions:

1) It's an RPC-2 DVD drive (i.e. evil, CSS-in-hardware drive), with the whole "5 changes and then it locks" policy.
2) It appears to be a really evil variant of RPC-2, in that if you've got a CSS-locked DVD in the drive, and you're set on a different region to the disk, you can't even get at the encrypted contents. The aforementioned read errors keep turning up, making libdvdcss useless. Or, this may just be an ide-cd bug with this drive...
3) If drive region == disc region, it plays DVDs fine.

Quoted 5 lines
Quoted 1 line
Quoted 1 line

hdparm -i says the drive is a "MATSHITACD-RW CW-8124".

If anyone happens to have an RPC-1 firmware for this drive, or fixes to ide-cd, I'd be most grateful! Some googling for the former is currently unhelpful.

Yah, I googled too and ended up with the same conclusion =P

Ben.