Reading DVDs on a Mac mini
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: unknownend_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
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_GETGEOfailed: Invalid argumenthdparm -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.
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
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.