Log in

View Full Version : Using dd to rip a dvd movie to an iso file - seriously slow


graysky
10th April 2009, 16:59
Basically, I want to take a DVD movie and rip it to an ISO file.

dd if=/dev/scd0 of=/home/user1/image.iso
557177+0 records in
557176+0 records out
285274112 bytes (285 MB) copied, 76.3168 s, 3.7 MB/s
For some reason is goes very slowly! I have also done a simple 'cat /dev/scd0 > image.iso' and it too is very slow. The DVDROM drive never spins up.

I can do this w/ DVD-Decrypter and WINE, but DVD Decrypter goes very slowly (1.7x-2.0x) too. I know it's not my hardware because this same machine booted into XP does this operation around 12-14x in DVD-Decrypter. Also, k3b is dog-slow writing an iso.

Any ideas why it's so slow? Thanks all!

JohnAStebbins
10th April 2009, 17:26
If the disc is protected with something like arccos mangling, then it has intentional bad sectors that will cause many retry attempts and slow reading considerably.

graysky
10th April 2009, 17:58
I popped in my GTA 4 DVD (windows game) while booted into Debian. I did the same dd command and it too was written very slowly... so it's not just DVD movies :/

UDMA seems to be enabled and I'm out of ideas...

$ sudo hdparm -i /dev/scd0

/dev/scd0:

Model=BENQ DVD DD DW1640 , FwRev=BSRB , SerialNo=9JC5U150C353364133SP
Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=0kB, MaxMultSect=0
(maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
IORDY=yes, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2
AdvancedPM=no

* signifies the current active mode

turbojet
10th April 2009, 18:36
Have you looked at dmesg?

I've had slow hard drive and nic performance issues in the past and both times it was a 'safe' setting in a vanilla kernel. Kernel config is something considering if you haven't already.

graysky
10th April 2009, 19:03
Yeah I did but I'm not seeing anything there that looks bad:

$ grep 'UDMA' /var/log/dmesg
[ 1.127897] ata1: PATA max UDMA/100 cmd 0xdf00 ctl 0xde00 bmdma 0xdb00 irq 17
[ 1.127899] ata2: PATA max UDMA/100 cmd 0xdd00 ctl 0xdc00 bmdma 0xdb08 irq 17
[ 1.140928] ata3: SATA max UDMA/133 abar m2048@0xfdffd000 port 0xfdffd100 irq 30
[ 1.140931] ata4: SATA max UDMA/133 abar m2048@0xfdffd000 port 0xfdffd180 irq 30
[ 1.140933] ata5: SATA max UDMA/133 abar m2048@0xfdffd000 port 0xfdffd200 irq 30
[ 1.140935] ata6: SATA max UDMA/133 abar m2048@0xfdffd000 port 0xfdffd280 irq 30
[ 1.140937] ata7: SATA max UDMA/133 abar m2048@0xfdffd000 port 0xfdffd300 irq 30
[ 1.140939] ata8: SATA max UDMA/133 abar m2048@0xfdffd000 port 0xfdffd380 irq 30
[ 1.291272] ata1.00: ATAPI: BENQ DVD DD DW1640, BSRB, max UDMA/33
[ 1.307425] ata1.00: configured for UDMA/33
[ 1.621251] ata3.00: ATA-8: ST3640323AS, SD1B, max UDMA/133
[ 1.622845] ata3.00: configured for UDMA/133
[ 2.101340] ata4.00: ATA-8: ST3640323AS, SD1B, max UDMA/133
[ 2.103016] ata4.00: configured for UDMA/133
[ 3.393559] ata9: SATA max UDMA/133 abar m8192@0xfdefe000 port 0xfdefe100 irq 16
[ 3.393563] ata10: SATA max UDMA/133 abar m8192@0xfdefe000 port 0xfdefe180 irq 16